openCV中cvRectangle與cv::rectangle繪製矩形邊框
阿新 • • 發佈:2019-02-13
cvRentangle和cv::rectangle函式原型對比:
C:void cvRectangle(CvArr* img, CvPoint pt1, CvPointpt2, CvScalar color, int thickness=1, int line_type=8, int shift=0 )
- C++:void rectangle(Mat& img, Point pt1,Point pt2,const Scalar& color, int thickness=1, int lineType=8, int shift=0)
-
C++:void rectangle
引數介紹:
img 影象. pt1 矩形的一個頂點。 pt2 矩形對角線上的另一個頂點 color 線條顏色 (RGB) 或亮度(灰度影象 )(grayscale image)。 thickness 組成矩形的線條的粗細程度。取負值時(如 CV_FILLED)函式繪製填充了色彩的矩形。 line_type 線條的型別。見cvLine的描述 shift 座標點的小數點位數。 程式碼:結果:#include <iostream> #include <opencv2\highgui\highgui.hpp> using namespace std; using namespace cv; int main() { char *imageSrc = "I:\\OpenCV Learning\\picture\\sumpalace.jpg"; Mat matImage = imread(imageSrc,-1); IplImage *iplImage = cvLoadImage(imageSrc,-1); if(matImage.data==0||iplImage->imageData ==0) { cout<<"圖片載入失敗"<<endl; return -1; } cv::rectangle(matImage,cvPoint(20,200),cvPoint(200,300),Scalar(255,0,0),1,1,0); //Rect(int a,int b,int c,int d)a,b為矩形的左上角座標,c,d為矩形的長和寬 cv::rectangle(matImage,Rect(100,300,20,200),Scalar(0,0,255),1,1,0); cvRectangle(iplImage,cvPoint(20,200),cvPoint(200,300),Scalar(0,255,255),1,1,0); imshow("matImage",matImage); cvShowImage("IplImage",iplImage); waitKey(); return 0; }
cvLine
函式原型:void cvLine( CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int line_type=8, int shift=0 );- img 影象。
- pt1 線段的第一個端點。
- pt2 線段的第二個端點。
- color 線段的顏色。
- thickness 線段的粗細程度。
- line_type 線段的型別。 8 (or 0) - 8-connected line(8鄰接)連線 線。 4 - 4-connected line(4鄰接)連線線。 CV_AA - antialiased 線條。