Browsing the archives for the görüntü işleme tag.

Opencv, c İle Nasıl Kullanılır? -Görüntü İşleme- (1)

Açık Kaynak, Programlama, tutorial, Uzun Kod İçerikli, ytulinux

Evet güne hızlı başladım, şimdi de opencv ile bir resim nasıl açılır, nasıl görüntülenir, üzerinde bir iki basit işlem nasıl yapılır gibi şeyleri öğreneceğiz. (Linux için opencv paketini yükleyip, en altta verdiğim parametrelerle derleme yapmanız yeterli. Windows için biraz arama yapmanız gerekecek :) )

Öncelikle her yazıda yaptığımız gibi, konu ile ilgili struct‘ın ne olduğunu görelim. Açtığımız resimler ile ilgili bilgiler (IplImage *) struct’ında tutulur. Şu an yapacağım kopyala yapıştırdan gözünüz korkmasın, hepsini bilmek zorunda değilsiniz. width, widthstep, height, nChannels, depth ve imageData‘yı bilmeniz yeterli, bunlar birazdan açıklanacak.

Continue Reading »

Bu yazı toplamda 5394, bugün ise 1 kez görüntülenmiş

16 Comments

Assembly ile PGM Dosyasında Kontrast Ayarı

Açık Kaynak, Kategorilenmemiş, Programlama, Uzun Kod İçerikli, ytulinux

Evet arkadaşlar birkaç hafta önce Gnu Assembler ile yapmış olduğum görüntü işleme ödevimi buraya atıyorum. Öncelikle Gnu Assembler için tanımlama/açıklama tarzı birşey yazmam sanırım konuyu açıklığa kavuşturmak açısından iyi olacaktır.

Gnu Assembler, gcc nin de kullandığı, daha çok unix türevi işletim sistemlerinde kullanılan assemblerdır. Terminalden as komutu ile erişilebilir. Yazmış olduğunuz Gnu Assembler imlasına uygun programı derlemek için, önce
as program.s -o program.o
veya gdb ile debug etmek istiyorsanız
as -gstabs program.s -o program.o
diyerek object dosyasına çevirip, sonra da
ld program.o -o program.out
Komutuyla çalıştırılabilir hale çevirebilirsiniz.
Gnu Assembler imlasına gelince, öncelikle default olarak 32 bit mantığına göre yazmamız gerekiyor. Yani 8086 assemblerlarda alıştığımız ax, bx yerine eax, ebx kullanıyoruz ki bunlar dört baytlık hafıza büyüklüğüne sahip. Tabi bu ax, bx ya da bl, ah gibi küçük kısımları kullanamayacağımız anlamına gelmiyor. Örneğin
movl %eax,8(%esp)

evet yazmaçlardan önce yüzde işareti, adres göstermek için parantez kullanılır. esp nin başındaki 8 ise esp+8 anlamına gelir(bu arada esp bizim stack pointerımız, yani sp). l ise long tipi işlem olduğunu belirtir. Sağdaki sola değil,soldaki sağa atanır. (hızlı bir özet oldu, hiç assembler bilmeyene gnu assembler anlatmak değil zaten niyetim, daha önce 8086 masm veya nasm kullananlara yönelik, yoksa bu açıklama uzar gider)

Continue Reading »

Bu yazı toplamda 2489, bugün ise 1 kez görüntülenmiş

6 Comments