《學習opencv》筆記——關於一些畫圖的函數
阿新 • • 發佈:2017-08-03
pre close 角度 輸出結果 eight 畫圖 計數 tour cti
實例代碼
輸出結果
實例代碼
輸出結果
輸出結果
實例代碼
輸出結果
2.cvFillConvexPoly函數
3.cvPolyLine函數
實例代碼
輸出結果
實例代碼
輸出結果
畫圖函數
(1)直線cvLine函數
其結構
void cvLine(//畫直線 CvArr* array,//畫布圖像 CvPoint pt1,//起始點 CvPoint pt2,//終點 CvScalar color,//顏色 int thickness = 1,//寬度 int connectivity = 8//反走樣 );
實例代碼
#include <cv.h> #include <highgui.h> #include <stdio.h> int main(int argc, char** argv) { IplImage *src1; src1 = cvLoadImage("10.jpg"); cvLine(src1,cvPoint(20,20),cvPoint(250,250),CV_RGB(255,0,0),8); cvShowImage( "原圖", src1); cvWaitKey(); return 0; }
輸出結果
(2)矩形cvRectangle函數
其結構
void cvRectangle(//畫矩形 CvArr* array,//畫布圖形 CvPoint pt1,//起始點 CvPoint pt2,//終點 CvScalar color,//顏色 int thickness = 1,//寬度 );
實例代碼
#include <cv.h> #include <highgui.h> #include <stdio.h> int main(int argc, char** argv) { IplImage *src1; src1 = cvLoadImage("10.jpg"); cvRectangle(src1,cvPoint(20,20),cvPoint(200,200),CV_RGB(0,255,0),8); cvShowImage( "原圖", src1); cvWaitKey(); return 0; }
輸出結果
(3)圓形cvCircle函數
其結構
void cvCircle(//畫圓 CvArr* array,//畫布圖像 CvPoint cevter,//圓心 int radius,//半徑 CvScalar color,//顏色 int thickness = 1,//寬度 int connectivity = 8//反走樣 );
#include <cv.h> #include <highgui.h> #include <stdio.h> int main(int argc, char** argv) { IplImage *src1; src1 = cvLoadImage("10.jpg"); cvCircle(src1,cvPoint(150,150),100,CV_RGB(0,0,255),5); cvShowImage( "原圖", src1); cvWaitKey(); return 0; }
輸出結果
(4)橢圓cvEllipse函數
其結構
void cvEllipse(//畫橢圓 CvArr* img,//畫布圖像 CvPoint center,//中心點 CvSize axes,//長短軸 double angle,//偏離主軸角度 double start_angle,//弧線開始位置 double end_angle,//弧線結束位置 CvScalar color,//顏色 int thickness = 1,//寬度 int line_type = 8// );
實例代碼
#include <cv.h> #include <highgui.h> #include <stdio.h> int main(int argc, char** argv) { IplImage *src1; src1 = cvLoadImage("10.jpg"); cvEllipse(src1,cvPoint(150,150),cvSize(150,50),45,0,360,CV_RGB(255,0,0),3); cvShowImage( "原圖", src1); cvWaitKey(); return 0; }
輸出結果
(5)多邊形函數
1.cvFillPoly函數
其結構
void cvFillPoly(//畫多個實心多邊形 CvArr* img,//畫布圖像 CvPoint** pts,//點序列 int* npt,//計數點數組 int contours,//顯示幾個多邊形 CvScalar color,//顏色 int line_type = 8 );
2.cvFillConvexPoly函數
其結構
void cvFillConvexPoly(//畫一個實心多邊形 CvArr* img,//畫布圖像 CvPoint* pts,//點序列 int npt,//計數點數組 CvScalar color,//顏色 int line_type = 8 );
3.cvPolyLine函數
void cvFillPoly(//畫多個空心多邊形 CvArr* img,//畫布圖像 CvPoint** pts,//點序列 int* npt,//計數點數組 int contours,//顯示幾個多邊形 int is_closed,//是否從上個多邊形尾點開始 CvScalar color,//顏色 int thickness = 1,//寬度 int line_type = 8 );
實例代碼
#include <cv.h> #include <highgui.h> #include <stdio.h> int main(int argc, char** argv) { IplImage *src1,*src2,*src3; src1 = cvLoadImage("7.jpg"); src2 = cvLoadImage("8.jpg"); src3 = cvLoadImage("9.jpg"); int arr[3]= {4,4,4}; CvPoint ** pt =new CvPoint*[3]; pt[0] = new CvPoint[4]; pt[0][0] = cvPoint(10,10); pt[0][1] = cvPoint(210,10); pt[0][2] = cvPoint(210,210); pt[0][3] = cvPoint(10,210); pt[1] = new CvPoint[4]; pt[1][0] = cvPoint(10,310); pt[1][1] = cvPoint(210,310); pt[1][2] = cvPoint(210,510); pt[1][3] = cvPoint(10,510); pt[2] = new CvPoint[4]; pt[2][0] = cvPoint(310,10); pt[2][1] = cvPoint(410,10); pt[2][2] = cvPoint(410,210); pt[2][3] = cvPoint(310,210); cvPolyLine(src1, pt, arr, 3, 1, CV_RGB(0,255,0),5); cvFillPoly(src2, pt,arr,3,CV_RGB(250,0,0)); cvFillConvexPoly(src3,pt[0],4,CV_RGB(0,0,255)); cvShowImage( "原圖1", src1); cvShowImage( "原圖2", src2); cvShowImage( "原圖3", src3); cvWaitKey(); return 0; }
輸出結果
(6)繪制文字cvPutText函數
其結構
void cvPutText(//繪制文字 CvArr* img,//畫圖圖像 const char* text,//文字內容 CvPoint origin,//文字起始位置 const CvFont* font,//文字字體設置 CvScalar color//顏色 );
實例代碼
#include <cv.h> #include <highgui.h> #include <stdio.h> int main(int argc, char** argv) { IplImage *src1,*src2,*src3; src1 = cvLoadImage("10.jpg"); char* str = "I am a student!"; CvFont* cf = new CvFont(); cvInitFont(cf,CV_FONT_HERSHEY_SIMPLEX,1.0,0.5); cvPutText(src1,str,cvPoint(50,100),cf,CV_RGB(255,0,0)); cvShowImage( "原圖1", src1); cvWaitKey(); return 0; }
輸出結果
to be continued
《學習opencv》筆記——關於一些畫圖的函數