yazdığım kod 4 adet işlemi gerçeklemektedir:
- Threshold I
threshold: Türkçesi eşikleme. genellikle görüntü işlemedeki karşılığı, resmin belirli bir değerden(threshold value/eşik değeri) daha küçük değere sahip pixellerin siyaha, daha büyük değere sahip pixel değerleri beyaza boyanmasıdır.
resmin sol üst köşesinden başlayıp, pixel pixel taranır. pixelin değeri eşik değerimizden küçükse 0, değilse 255 yapılır. ilgili kod:
for(i=0;i<src->height;i++){
for(j=0;j<src->width;j++){
src_pixel_ptr = CV_MOVE_TO(pos_src,i,j,1);
dst_pixel_ptr = CV_MOVE_TO(pos_dst,i,j,1);
src_pixel_ptr[0]<thresh_val?
dst_pixel_ptr[0]=0:dst_pixel_ptr[0]=255;
}
} - Threshold II
OpenCV'nin threshold fonksiyonu kullanarak gerçekleştirilen thresholding işlemi. kod:cvThreshold( src, dst, thresh_val, 255, CV_THRESH_BINARY);
ne kadar da basit değil mi? - Sharpen Filter
3x3'lük bir sharpen kernelinin uygulanması işlemi. uygulanan kernel:0 -1 0
-1 5 -1
0 -1 0
kod:// kernel icin gerekli alani ayir
kernel = cvCreateMat(9,9,CV_32FC1);
//kerneli in$a et
cvSet2D( kernel, 0, 0, cvRealScalar(0) );
cvSet2D( kernel, 0, 1, cvRealScalar(-1) );
cvSet2D( kernel, 0, 2, cvRealScalar(0) );
cvSet2D( kernel, 1, 0, cvRealScalar(-1) );
cvSet2D( kernel, 1, 1, cvRealScalar(5) );
cvSet2D( kernel, 1, 2, cvRealScalar(-1) );
cvSet2D( kernel, 2, 0, cvRealScalar(0) );
cvSet2D( kernel, 2, 1, cvRealScalar(-1) );
cvSet2D( kernel, 2, 2, cvRealScalar(0) );
// filtreyi/kerneli uygula
cvFilter2D( src, dst, kernel, cvPoint(-1,-1) ); - 5x5 Median Filter
Median Filter şu biçimde çalışır:- nxn'lik bir pencere oluştur ve sol üst köşeden başla
- pencerenin içinde kalan değerleri sırala.
- pencerenin tam ortasındaki pixel'in değerine, sıralanmış değerlerin ortadakini ata.
- resimin sonuna gelinmemişse pencereyi kaydır ve 2'ye git.
- dur
cvSmooth( src, dst, CV_MEDIAN, 5, 0, 0 );
- opencv_1.cpp - yukarıda bahsedilen işlemlerin gerçeklendiği C++ dosyası.
- Lena'nın resmi ;)
Lena, görüntü işlemede giriş resmi için yaygın olarak kullanılan bir bayandır. ilk olarak 1973'de kullanılmıştır. ünlü fotoğraf Playboy'un Kasım 1972'de yayınladığı dergiden alınmıştır. daha fazla bilgi için buraya.
normal resim:
gürültü eklenmiş resim:
2 yorum:
alakasiz bir yorum olcak ama neyse,
guzel ortam yapmisin abi kendine, bi hayirli olsun deyim dedim, ben de actim dukkani, yakinda hizmetinizdeyiz dolu dizgin,
su anda tadilat durumlari malum
"nasil biliriz blog spotu?" diye sorucam, bugun var yarin yok bir ortam degil dimi, benim cok ciddi planlarim var da
Selam blog'una şans eseri rastladım. Bende zamanında OpenCv ile uğraşmıştım. Gerçektende çok güzel ve faydalı kütüphaneler mevzut özellikle görüntü işleme işlemleri için. Bende kendi bloguma ( http://codedanger.blogspot.com/2007/07/opencv-naming-conventions-functions-in.html ) opencv ile ilgili başlangıç niteliği için iyi sayılabilecek bir yazı koymuştum. Tabii ingilizce.
Yorum Gönder