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: