OpenCV Dersleri – 3 Resim Üzerine Şekil Çizme ve Yazı Yazma
Merhaba arkadaşlar, bu yazımızda resim üzerine şekillerin nasıl çizildiğini ve yazıların nasıl yazılabileceğini anlatacağım. Öncelikle kodumu paylaşıyorum.
#include <stdio.h> #include <opencv\cv.h> #include <opencv\highgui.h> #include <math.h> int main(int argc, char** argv) { IplImage* src1 = cvLoadImage( "resim.jpg" ); /* * Çizgi çizme */ //iki nokta belirlenir CvPoint pt1 = cvPoint(10,10); CvPoint pt2 = cvPoint(150,150); //kullanılacak renk CvScalar red = CV_RGB(250,0,0); //kalınlık int tickness = 2; int connectivity = 8; //çizgi çizilir cvLine(src1,pt1,pt2,red,tickness,connectivity); /* * Çember Çizme */ // çap değeri int radius = 30; //renk CvScalar blue = CV_RGB(0,0,250); //çember çizilir cvCircle(src1,pt2,radius,blue,tickness,connectivity); /* * Yazı yazma */ // Yazımız const char * text = "deneme texti"; //ölçekler double hscale = 1.0; double vscale = 0.8; //keskinlik double shear = 0.2; int tickness2 = 1; int line_type = 8; CvScalar yellow = CV_RGB(250,250,0); //öncelikle yazının fontu ayarlanır CvFont font1; cvInitFont(&font1,CV_FONT_HERSHEY_DUPLEX,hscale,vscale,shear,tickness2,line_type); //yazı ekrana basılır cvPutText(src1,text,pt2,&font1,yellow); cvNamedWindow("Yazi ve sekil", 1); cvShowImage("Yazi ve sekil", src1); cvWaitKey(); return 0; } |
Programımızın ekran görüntüsü:
Çizgi ve çember çizmek biraz daha basit olmasına karşın, yazı yazmak daha karmaşıktır. İlk olarak çizgimiz için başlangıç ve bitiş noktalarını belirliyoruz.
CvPoint pt1 = cvPoint(10,10);
CvPoint pt2 = cvPoint(150,150);
Ardından çizgimizin rengini belirliyoruz.
CvScalar red = CV_RGB(250,0,0);
Son olarak değişken olarak kalınlık ve çizgi tipinide belirleyip,
int tickness = 2;
int connectivity = 8;
Çizgimizi çizebiliriz.
cvLine(src1,pt1,pt2,red,tickness,connectivity);
Çemberinde çok bir farkı bulunmamaktadır. Farklı olarak bir çap belirliyoruz,
int radius = 30;
ve çemberimizi çizebiliriz. (Diğer değişkenleri, üstteki değişkenlerden kullanıyorum)
cvCircle(src1,pt2,radius,blue,tickness,connectivity);
Yazı yazmaya gelince ise önce font belirlememiz gerekiyor. Bunun için bazı değişkenlere ihtiyacımız var.
//ölçekler
double hscale = 1.0;
double vscale = 0.8;
//keskinlik
double shear = 0.2;
int tickness2 = 1;
int line_type = 8;
CvScalar yellow = CV_RGB(250,250,0);
ve fontumuzu yaratabiliriz.
CvFont font1;
cvInitFont(&font1,CV_FONT_HERSHEY_DUPLEX,hscale,vscale,shear,tickness2,line_type);
son olarak yazımızı resim üzerine basabiliriz.
cvPutText(src1,text,pt2,&font1,yellow);
Bu yazımızda şekillerin ve textlerin nasıl çizdirileceğinden bahsettik. Sonra ki derslerde görüşmek üzere, iyi günler.
Bunlara da Göz Atmak İsteyebilirsiniz.
<<< Önceki: OpenCV Dersleri – 2 Resim Üzerinde Basit İşlemler
Sonraki: Java Pass by Value – Pass by Reference ve İstisnalar >>>
Yorum Bırakın!