GÖRÜNTÜ İŞLEME YÖNTEMLERİ İLE RESİM FORMATINDA BULUNAN GRAFİKLERİ DİJİTAL VERİYE DÖNÜŞTÜRME YAZILIMI

Estimated read time 35 min read

Bu yazı, görüntü işleme yöntemlerinin kullanımıyla grafik formatındaki verileri dijital formata dönüştürmek amacıyla geliştirilen bir yazılımın incelemesini sunmaktadır. Bu çalışma, grafiklerin içinde saklanan verilerin optik karakter tanıma (OCR) teknolojisi temelli bir şekilde elde edilmesini hedeflemektedir. Özellikle, grafiklerdeki verilerin metin formatına dönüştürülmesi, resim dosyalarında bulunan grafiklerin sayısal olarak anlamlı verilere dönüştürülmesi üzerine odaklanmaktadır.

Mevcut literatürde, OCR teknolojisinin genellikle metinlerin dijitalleştirilmesinde kullanıldığı bilinmektedir. Ancak, grafiklerin içerdiği verilerin aynı hassasiyetle dijitalleştirilmesine dair sınırlı çalışmalar mevcuttur. Bu yazı, grafiklerdeki farklı veri yapılarını tanımlama ve çözümleme konusunda görüntü işleme ve desen tanıma algoritmalarının kullanımını ele alarak literatüre önemli bir katkı yapmayı amaçlamaktadır. Özellikle, grafiklerdeki farklı veri tiplerinin, örneğin çizgi, sütun ve pasta dilimi gibi, tespiti ve bu verilerin anlamlı bir şekilde metin haline getirilmesi üzerinde yoğunlaşılmıştır.

Yazının ana amacı, resim formatındaki grafikleri okuyarak içerdikleri verileri tanımlamak ve bu verileri kullanıcılar için erişilebilir bir metin formatında sunmaktır. Bu hedefe ulaşmak için, OpenCV gibi görüntü işleme kütüphaneleri kullanılarak, grafiklerin tanımlanması, ayrıştırılması ve verilerin elde edilmesi için özgün bir algoritma geliştirilmiştir. Bu çalışma, özellikle endüstriyel raporlama, finansal analiz ve bilimsel veri çözümlemesi gibi alanlarda pratik uygulama potansiyeli olan önemli bir teknolojik ilerleme sunmayı hedeflemektedir. Kısa kes ve kodları göster bize diyenler için Github linki. Ayrıca burada ki açıklamaların aynılarını kodların üzerine de yazdım.

1-KÜTÜPHANELER

Bu kütüphaneler, görüntü işleme uygulamanın temel kütüphanelerini içerir. cv2, görüntü işleme için kullanılan OpenCV kütüphanesini temsil eder. imutils, görüntü işleme fonksiyonlarına yardımcı olurken, re regular expressions (düzenli ifadeler) için, sys sistemle ilgili işlemler için, math matematiksel işlemler için kullanılır. xlsxwriter, Excel dosyaları oluşturmak için, json JSON işlemleri için, os işletim sistemi işlemleri için, matplotlib.pyplot ve numpy grafik ve matematiksel işlemler için kullanılır. Ayrıca, dosya yollarını yönetmek için pathlib.Path ve matplotlib parametrelerini yönetmek için matplotlib.rcParams kullanılır. Bu kütüphaneler, uygulamanın çeşitli işlevselliğini destekler ve temel işlemleri gerçekleştirmek için gereklidir.

2-Grafiklerin Yolu

Bu satır, işlenecek görüntülerin dizinini belirtir. grafik_yolu değişkeni, ‘../grafikler’ dizinindeki görüntülerin bulunduğu dosya yolu olarak tanımlanır. Bu dizin, uygulamanın işleyeceği ve dönüştüreceği görüntülerin kaynak konumunu temsil eder.

3-JSON içeriklerini yüklemek

Bu blok, çeşitli JSON dosyalarını okuyarak içeriklerini ilgili değişkenlere yükler. İlk olarak, ../data/urldata.json dosyasını açar ve içeriğini urldata adlı değişkene yükler. Ardından, ../data/doi_data.json dosyasını doidata adlı değişkene, ../data/ocr-image-text.json dosyasını images_text adlı değişkene ve son olarak ../data/aws-rekognition-output.json dosyasını bbox_text adlı değişkene yükler. Bu dosyaların içeriği, uygulamanın işleyeceği ve üzerinde çalışacağı çeşitli veri türlerini içerir, örneğin, URL’ler, DOI verileri, OCR tarafından çıkarılan metinler veya Amazon Rekognition tarafından belirlenen sınırlayıcı kutular ve metinler gibi. Bu veri, uygulamanın işleme ve dönüştürme işlemlerini gerçekleştirmesinde kullanılacaktır. Json dosyalarını yüklemenin nedeni, görüntülerle ilişkili metin verilerine erişmek ve bu verileri işlemek içindir.

Kodun başında json dosyaları yükleniyor çünkü:

  1. images_text: Görüntülerdeki metinleri (OCR – Optical Character Recognition) ve bunların konumlarını içerir. Bu veriler, görüntülerin üzerindeki metinleri tanımak ve konumlarını belirlemek için kullanılır.
  2. bbox_text: Metin kutularının (bounding boxes) özelliklerini içerir. Metin kutuları, görüntülerdeki metin parçalarını çevreleyen dikdörtgenlerdir. Bu veriler, metinlerin ve kutularının özelliklerini elde etmek için kullanılır.
  3. doidata: Görüntülerin DOI (Diğer Kimlik Tanımlayıcısı) bilgisini içerir. DOI, bilimsel ve akademik yayınların benzersiz tanımlayıcısıdır. Bu veriler, görüntülerin DOI’lerini almak için kullanılır.

Bu json dosyaları, görüntülerdeki metin ve kutuları işlemek, DOI’leri almak ve son olarak Excel dosyasına veri eklemek için kullanılır.

3-Maksimum Ardışık Olanları Bulmak

Bu fonksiyon, bir listenin içinde en uzun ardışık 1’leri bulmayı amaçlar. Fonksiyon, girdi olarak bir liste alır (nums) ve ardışık 1’lerin en uzun dizisini bulmak için bir döngü kullanır. count değişkeni, mevcut ardışık 1’lerin sayısını tutar, maxCount ise bulunan en uzun ardışık 1’lerin sayısını saklar.

Döngü içinde, liste elemanları kontrol edilir. Eğer eleman 1 ise, count arttırılır. Eğer eleman 0 ise, mevcut ardışık 1’lerin sayısı maxCount ile karşılaştırılır ve daha önce bulunan en uzun ardışık 1’lerin sayısından büyükse maxCount güncellenir. Ardından count sıfırlanır.

Döngü sona erdikten sonra, en uzun ardışık 1’leri bulmak için son bir karşılaştırma yapılır (max(count, maxCount)) ve sonuç geri döndürülür. Bu fonksiyon, verilen bir listenin içindeki en uzun ardışık 1 dizisinin uzunluğunu döndürür.

Ardışık 1’lerin uzunluğunu belirli bir deseni veya nesneyi tanımlamak için kullanılır.

4-Eksen tespiti

Bu fonksiyon, belirli bir dosyadaki grafikteki eksenleri tespit etmeyi amaçlar. Fonksiyon, dosya yolu (filepath), bir eşik değeri (threshold) ve hata ayıklama modu (debug) parametreleri alır. Fonksiyonun başında, belirli koşullar sağlanmazsa None değerleri döndürülür.

Eğer threshold belirtilmemişse, varsayılan olarak 10 atanır. Ardından, belirtilen dosya yolu kullanılarak bir görüntü okunur ve gri tonlamaya dönüştürülür (cv2.cvtColor). Görüntünün genişliği, yüksekliği ve kanal sayısı alınır.

Fonksiyon, ardışık 1’leri sayan maksimumArdisikOlanlariBul fonksiyonunu kullanarak yatay ve dikey eksenleri tespit eder. maksimumArdisikBirler listeleri oluşturularak her sütun ve satır için ardışık 1’lerin sayısı hesaplanır. Bu değerler kullanılarak yatay ve dikey eksenler belirlenir. Ardışık 1’lerin sayısı en fazla olan sütun veya satır eksen olarak kabul edilir.

Eğer hata ayıklama modu aktifse (debug=True), bir dizi görselleştirme işlemi gerçekleştirilir. Yatay eksen için bir subplot içinde orijinal görüntü ile ardışık 1’lerin sayılarını içeren bir çizgi grafiği gösterilir. Dikey eksen için ise orijinal görüntü üzerinde belirtilen eksen çizgisi çizilir.

Son olarak, tespit edilen yatay ve dikey eksenler xaxis ve yaxis olarak döndürülür.

5-Metini Temizleme

Bu fonksiyon, OCR (Optical Character Recognition) tarafından çıkarılan metinleri temizlemek için kullanılır. Fonksiyon, bir liste olarak verilen image_text parametresini alır ve bu liste içindeki her metni ve ilgili koordinatları kontrol eder. Metin içeriğinde yalnızca boşluklardan oluşan ve “I” karakterinden farklı olan öğeleri korur. Yani, metin içeriği “I” karakterinden oluşan öğeler bu temizleme işlemi sonucunda filtrelenmiş olur.

Fonksiyon, temizlenmiş metinleri ve ilgili koordinatları içeren bir liste döndürür. Temizleme işlemi, metin içeriğinin “I” karakterinden farklı olup olmadığını kontrol ederek gerçekleştirilir.

6-Olası Etiketlemeleri Yapmak

Bu fonksiyon, verilen bir görüntü, OCR tarafından çıkarılan metinler, ve tespit edilen x ve y eksenleri ile muhtemel etiketleri belirlemek için kullanılır. Fonksiyon, girdi olarak bir görüntü (image), OCR tarafından çıkarılan metinler (image_text), x ekseninin koordinatları (xaxis) ve y ekseninin koordinatları (yaxis) alır.

Fonksiyon, öncelikle metiniTemizleme fonksiyonunu kullanarak OCR çıktısındaki metinleri temizler. Ardından, x ve y eksenleri arasında kalan metinleri, etiketler, ve legendaları belirlemek için çeşitli koşullar kullanır. Bu koşullar, metinlerin belirli bir bölgede bulunup bulunmadığını kontrol eder ve bu bölgede bulunan metinlerin türüne göre ayrıştırma yapar.

Fonksiyon, x eksenine ait etiketleri, y eksenine ait etiketleri, x eksenine ait metinleri, y eksenine ait metinleri döndürür. Ayrıca, bu metinlerin koordinatlarını içeren ilgili listeleri de döndürür. Hata ayıklama modu (debug) aktifse, çeşitli görselleştirmeleri içeren bir dizi grafik de gösterilir. Bu fonksiyon, görüntü üzerindeki etiketleri ve metinleri tespit etmek için kullanılır ve bu bilgiler, daha sonraki aşamalarda kullanılmak üzere elde edilir.

7-Kesişme Kontrolleri

Bu iki fonksiyon, bir çizginin (yatay veya dikey) belirli bir dikdörtgen ile kesişip kesişmediğini kontrol eder.

cizgiXDikdortgenleKesisiyorMu fonksiyonu, bir yatay çizginin belirli bir dikdörtgen ile kesişip kesişmediğini kontrol eder. candx parametresi, çizginin x koordinatını temsil eder, ve rect parametresi, dikdörtgenin (x, y, w, h) koordinatlarını içerir. Eğer çizginin x koordinatı, dikdörtgenin sol üst köşesinin x koordinatı ile sağ üst köşesinin x koordinatı arasında bulunuyorsa, çizgi dikdörtgenle kesişir ve True değeri döndürülür.

cizgiYDikdortgenleKesisiyorMu fonksiyonu ise, bir dikey çizginin belirli bir dikdörtgen ile kesişip kesişmediğini kontrol eder. candy parametresi, çizginin y koordinatını temsil eder, ve rect parametresi, dikdörtgenin (x, y, w, h) koordinatlarını içerir. Eğer çizginin y koordinatı, dikdörtgenin sol üst köşesinin y koordinatı ile sağ alt köşesinin y koordinatı arasında bulunuyorsa, çizgi dikdörtgenle kesişir ve True değeri döndürülür.

Bu fonksiyonlar, çeşitli noktaların veya çizgilerin dikdörtgen içinde veya dışında olup olmadığını kontrol etmek için kullanılabilir. Bu uygulamada, yatay veya dikey çizgilerin x veya y koordinatları, belirli bir dikdörtgenin içinde olup olmadığını kontrol etmek için kullanılır.

8-Metin ve Eksenler Kullanılarak Oran Hesaplamak

Bu fonksiyon, belirli bir görüntü dosyasındaki metinlerin x ve y eksenleri arasındaki oranı hesaplar. path parametresi, görüntü dosyasının yolu ve adını içerir. xaxis ve yaxis parametreleri, tespit edilen x ve y eksenlerini içerir.

Fonksiyon, öncelikle belirtilen görüntü dosyasını okur ve RGB formatına dönüştürür. Ardından, OCR tarafından çıkarılan metinler içinde y eksenindeki metinleri bulur. Bu metinlerin içerdiği sayısal değerleri alır ve list_text listesine ekler.

Daha sonra, y eksenindeki metinlerin belirli bir bölgesine düşen metinlerin oranını hesaplar. Bunun için, metinlerin y koordinatları ve aralarındaki farklar incelenir. Bu farklar, eksen üzerindeki ölçeklemeyi temsil eder. Bu ölçeklemeyi temsil eden değerlerden oran hesaplanır.

Son olarak, bu oran normalize edilir ve text_sorted adlı sıralanmış metinler listesi ile birlikte döndürülür. Bu fonksiyon, belirli bir görüntü dosyasındaki x ve y eksenlerinin oranını bulur ve bu oranı kullanarak metinlerin eksen üzerindeki ölçeklemesini analiz eder.

9-Aykırı Değerleri Reddetmek

Bu fonksiyon, verilen bir veri setindeki aykırı değerleri (outliers) reddeder. data parametresi, veri setini içerir ve m parametresi, aykırı değerlerin ne kadar uzaklıkta olduğunu belirten bir çarpandır.

Fonksiyon, veri setinin ortalaması ve standart sapmasını kullanarak aykırı değerleri belirler. Veri setinden, ortalamadan belli bir standart sapma miktarı kadar uzaklıkta olan değerler korunur ve geri kalanlar reddedilir. Bu sayede, veri setindeki anormal veya aykırı değerlerden etkilenmeden, veri setinin genel eğilimine daha iyi uyum sağlayan bir alt küme elde edilir.

Bu fonksiyon, veri analizi veya modelleme gibi durumlarda, veri setindeki anormal değerlerin etkisini azaltmak veya ortadan kaldırmak için kullanılır. Bu, veri setinin daha güvenilir bir şekilde analiz edilmesine veya modelin daha iyi sonuçlar vermesine yardımcı olur.

10-Excel’e Veri Ekleme İşlemi

Bu fonksiyon, belirli bir veri setini Excel çalışma sayfasına eklemek için kullanılır. dataname parametresi, veri setinin adını veya başlığını temsil eder. data parametresi, Excel’e eklenmek istenen veri setini içerir. row parametresi, verilerin hangi satıra eklenmesi gerektiğini belirtir.

Fonksiyon, belirtilen veri setinin başlığını ve içeriğini sırasıyla belirtilen satır ve sütunlara ekler. İlk olarak, veri setinin adı veya başlığı (dataname) belirtilen satırın ilk sütununa (col=0) yazılır. Daha sonra, veri setinin içeriği (data) sırasıyla bir sonraki sütuna (col+=1) yazılır.

11-Dikdörtgen Birleştirme

Bu fonksiyon, belirli kontur veya dikdörtgenlerin listesini alarak bu dikdörtgenlerin birleştirilmiş versiyonunu oluşturur. contours parametresi, bir dizi kontur veya dikdörtgeni içerir. mode parametresi, kullanılan modu belirtir ve varsayılan olarak ‘contours’ değerini alır.

Fonksiyon, önce verilen konturları veya dikdörtgenleri kullanarak bir dikdörtgen listesi oluşturur. Daha sonra, dikdörtgenleri x koordinatına göre sıralar. Ardından, belirli bir mesafe eşiği (threshold) kullanarak yakındaki dikdörtgenleri birleştirir.

Dikdörtgenlerin birleştirilmesi işlemi, her dikdörtgenin sağ üst köşesinin sol alt köşesine kadar olan mesafenin, belirtilen mesafe eşiği (xThr ve yThr) kadar olup olmadığını kontrol eder. Eğer bu mesafe eşiğine uyan dikdörtgenler bulunursa, bu dikdörtgenler birleştirilir ve tek bir dikdörtgen olarak kabul edilir.

Son olarak, birleştirilmiş dikdörtgenlerin listesi döndürülür. Bu fonksiyon, belirli bölgelerin birleştirilmesi ve tek bir bölge olarak kabul edilmesi gerektiğinde kullanılır. Bu, nesnelerin sınırlarının belirlenmesi veya bölgelerin tanımlanması gibi işlemlerde faydalı olur.

12-Metin Kutularını Birleştirme

Bu fonksiyon, metin kutularının listesini alarak birleştirilmiş metin kutularının listesini oluşturur.

Fonksiyon, öncelikle verilen metin kutularını bir liste olarak alır. Her bir metin kutusu, metnin kendisi ve bu metnin bulunduğu dikdörtgenin koordinatlarını içerir. Daha sonra, metin kutularını, dikdörtgenlerin sol üst köşelerine göre sıralar.

Sonra, belirli bir mesafe eşiği (threshold) kullanarak yakındaki metin kutularını birleştirir. Birleştirme işlemi, her metin kutusunun sağ üst köşesinin sol alt köşesine kadar olan mesafenin, belirtilen mesafe eşiği (xThr ve yThr) kadar olup olmadığını kontrol eder. Eğer bu mesafe eşiğine uyan metin kutuları bulunursa, bu metin kutuları birleştirilir ve tek bir metin kutusu olarak kabul edilir.

Son olarak, birleştirilmiş metin kutularının listesi döndürülür. Bu fonksiyon, özellikle optik karakter tanıma (OCR) sonuçlarını birleştirme ve düzenleme gerektiğinde kullanılır. Örneğin, OCR tarafından tanınan metin kutularının bazıları gereğinden fazla parçalanmış olabilir; bu durumda, bu fonksiyon kullanılarak metin kutuları birleştirilerek daha tutarlı bir metin kutusu çıktısı elde edilir.

13-Yakındaki Dikdörtgen Kontrolü

Bu fonksiyon, iki dikdörtgenin yakınlığını kontrol eder ve birleştirme işlemi için uygun olup olmadığını belirler.

Fonksiyon, iki dikdörtgenin koordinatlarını ve bir mesafe eşiğini (threshold) alır. İki dikdörtgenin yakınlığını kontrol etmek için, dikdörtgenlerin alt ve üst sınırlarını kontrol eder. Eğer bir dikdörtgenin üst sınırı, diğerinin alt sınırından daha yakın ise veya bu iki sınır arasındaki mesafe belirtilen eşik değeriyle uyumluluk gösteriyorsa, bu dikdörtgenler birbirine yakındır ve birleştirilebilir.

Bu fonksiyon, dikdörtgenlerin birleştirilip birleştirilemeyeceğini belirlemek için kullanılır. Özellikle, metin kutularının birleştirilmesi veya kontur birleştirme gibi işlemlerde dikdörtgenlerin yakınlığını kontrol etmek için kullanılır. Bu sayede, birbirine yakın olan dikdörtgenlerin birleştirilmesiyle daha büyük ve daha tutarlı bir dikdörtgen elde edilir.

14-Matematiksel Hesaplama ve Geometrik İşlevler

Bu bölümde, çeşitli matematiksel ve geometrik işlevler tanımlanmıştır.

  1. oklid: İki vektör arasındaki Öklid mesafesini hesaplar. İki vektörü alır (v1 ve v2), her bir bileşenin farkının karesini alır, bu değerleri toplar ve karekökünü alarak Öklid mesafesini hesaplar.
  2. aralarindaki_aci: İki nokta arasındaki açıyı derece cinsinden hesaplar. İki noktayı alır (p1 ve p2), bu noktalar arasındaki x ve y koordinatlarındaki farkları kullanarak atan2 fonksiyonunu kullanır ve sonucu dereceye dönüştürür.
  3. dikdortgenlerArasiMesafe: İki dikdörtgen arasındaki mesafeyi hesaplar. İki dikdörtgenin koordinatlarını alır (rectA ve rectB), bu dikdörtgenlerin merkezlerinin x ve y koordinatlarındaki farkların mutlak değerlerini alır.

15-Muhtemel Y Eksen Etiketlerini Bulmak

Bu fonksiyon, verilen görüntü ve kontur listesi üzerinde işlem yaparak muhtemel Y eksen etiketlerini belirler.

Fonksiyon, bir görüntü ve kontur listesi (contours) alır, ayrıca X ve Y eksenlerinin koordinatlarını (xaxis ve yaxis) alır. İşlem sırasında, X eksenine dik olan dikey çizgilerin Y eksenini kesen konturlarını bulur. Ardından, bu konturlar arasından en fazla kesişime sahip olanları seçer ve muhtemel Y eksen etiketlerini içeren bir listeyi döndürür.

Bu fonksiyon, özellikle grafiklerin veya çizelgelerin Y eksenindeki etiketleri belirlemek için kullanılır. Bu etiketler daha sonra grafiklerin yorumlanması veya analiz edilmesi için kullanılır.

16-Noktaları Genişletme

Bu işlev, bir dizi noktayı (dörtgen koordinatları gibi) ve bir marjı alır ve bu noktaları belirtilen marjla genişletir.

Fonksiyon, bir dizi nokta ve bir marj değeri alır (points ve margin). Bu noktalar genellikle dörtgenin köşelerini temsil eder. İşlev, her bir noktanın x ve y koordinatlarına belirtilen marj değerini ekleyerek veya çıkararak, orijinal dörtgeni genişletir veya daraltır.

17-Y Eksen Değerlerini Belirlemek

Bu işlev, bir dizi görüntüyü işler ve her bir görüntünün Y eksen değerlerini belirler.

Fonksiyon, verilen bir görüntü dizini (grafik_yolu) içindeki her bir görüntüyü alır. Her bir görüntü üzerinde işlem yapar ve X ve Y eksenlerini tespit eder. Daha sonra bu eksenlerle ilişkilendirilen etiketler ve diğer metinler arasındaki ilişkiyi kullanarak Y eksen değerlerini belirler.

İşlev, özellikle grafiklerin veya çizelgelerin Y eksenindeki değerleri belirlemek için tasarlanmıştır. Bu değerler, görüntüdeki çeşitli metinlerin ve nesnelerin konumlarına dayanarak hesaplanır. Bu değerler daha sonra veri analizi veya görüntü yorumlama gibi amaçlarla kullanılacaktır.

18-Etiket Kutularını Filtrelemek

Bu işlev, belirli bir etiket kutusu için ilgili dikdörtgenleri filtreler ve en yakın olanı seçer.

Fonksiyon, dikdörtgen listesini (rects) ve bir etiket kutusunu (legendBox) alır. İlk olarak, etiket kutusuna yakın olan dikdörtgenleri belirlemek için bir filtreleme işlemi yapar. Bu, dikdörtgenlerin etiket kutusuna yakın olup olmadığını kontrol ederek gerçekleştirilir. Ardından, filtrelenmiş dikdörtgenler arasından en yakın olanı seçer.

Bu işlev, bir etiket kutusuyla ilişkilendirilmiş dikdörtgenleri bulmak ve bunlar arasından en uygun olanı seçmek için kullanılır.

19-Kutu Gruplamak

Bu işlev, bir dikdörtgenin içindeki renk gruplarını tespit etmek için kullanılır.

Fonksiyon, bir görüntü ve bir dikdörtgen alır. Dikdörtgenin içindeki pikselleri alır, bunları renk gruplarına ayırır ve piksel sayılarına göre gruplar.

İşlev, dikdörtgenin içindeki pikselleri alır ve her bir pikselin rengini hesaplar. Ardından, benzer renklere sahip olan pikselleri aynı grup içinde toplar. Gruplar, piksel sayılarına göre sıralanır ve en büyük piksel grubu öncelikli olarak seçilir.

20-Fonksiyon Çağırımı

YDegerleriniAl(grafik_yolu) çağrısı, belirtilen görüntü dizinindeki görüntülerin üzerinde belirli işlemleri gerçekleştirerek bir değer sözlüğü oluşturur. Bu değer sözlüğü, her bir görüntü için işlenmiş verileri içerir. Bu işlenmiş veriler arasında, grafiklerdeki eksenlerin belirlenmesi, etiketlerin tespiti, oranların hesaplanması ve etiket kutularının genişletilmesi ve gruplanması gibi adımlar yer alır.

Bu değer sözlüğü, görüntülerdeki veri noktalarını ve etiketleri belirleyerek, bu verilerin belirli bir düzen içinde sunulmasını sağlar.

21-Excel’e Kaydetmek

Bu kod bloğu, belirli bir dizindeki görüntü dosyalarını işler, bu dosyalardan çıkarılan verileri bir Excel dosyasına kaydeder ve her dosya için bir çalışma sayfası oluşturur.

İlk olarak, görüntü dosyaları Path nesnesi kullanılarak işlenir. Dosya adı uzantısına (pngjpg veya jpeg) göre kontrol edilir. Ardından, her dosya için işlem yapılır. Dosya adı, DOI (Diğer Kimliği Tanımlayıcı) ve etiketler gibi çeşitli bilgileri içeren bir Excel dosyasına kaydedilir.

Dosya adından DOI’yi almak için, dosya adının pdfname haline getirilmesi gerekmektedir. Bu işlem doidata adlı bir veri yapısı kullanılarak gerçekleştirilir. DOI bulunamazsa, ilgili hücre boş bırakılır.

Excel dosyasına yazılan diğer bilgiler arasında etiketler (x-textx-labelsy-texty-labelslegends) ve her etiket için ilişkili değerler yer alır.

Her dosya için bir çalışma sayfası oluşturulduktan sonra, ilgili görüntü bu sayfaya eklenir. İşlenen her bir görüntü dosyası için Excel dosyasına veri kaydetmek için kullanılır.

SONUÇ

Elde edilen görüntüler üzerindeki işlemler, verilerin analizi ve organize edilmesi adına önemli bir adımı temsil etmektedir. Bu analizler sonucunda, görüntülerdeki excel tabloların sınıflandırılması, eksenlerin belirlenmesi ve etiketlerin tespit edilmesi mümkün olmuştur. Elde edilen bu verilerin Excel çalışma kitabına aktarılması, her bir görüntünün DOI (Digital Object Identifier) değerleri ile eşleştirilmesi ve ilgili bilgilerin tablolar halinde düzenlenmesi sağlanmıştır.

Bu çalışma, görüntülerden elde edilen verilerin analizini ve organize edilmesini hedeflemekte ve başarıyla bu adımları gerçekleştirmektedir. Elde edilen veriler, DOI değerleri ile ilişkilendirilerek daha anlaşılır bir biçimde sunulmuştur. Ancak, daha ileri adımlarda bu verilerin grafiksel gösterimleri ve daha ayrıntılı istatistiksel analizleri yapılabilir. Bu şekilde elde edilen veriler, daha kapsamlı ve derinlemesine bir analize tabi tutulabilir, böylece görüntülerin içerdiği bilgiler daha ayrıntılı bir biçimde anlaşılabilir hale getirilebilir. Bu durum, elde edilen sonuçların daha kapsamlı bir biçimde yorumlanmasına olanak tanıyabilir.

batikan

Bilgisayar Mühendisliği 4.Sınıf Öğrencisi, teknolojinin engin ve dalgalı sularında sörf yapmayı seven ve bunu uzmanlık haline getirmeye çalışan birisi. Aynı zamanda yarı-profesyonel bir vücut geliştirmeci ve motosiklet kullanıcısı.

You May Also Like

More From Author

+ There are no comments

Add yours