opencv line 繪製直線
阿新 • • 發佈:2019-01-08
opencv提供了line()函式來對直線的繪製。其原型如下:
void line(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=0)
引數: img: 要繪製線段的影象。pt1: 線段的起點。
pt2: 線段的終點。
color: 線段的顏色,通過一個Scalar物件定義。
thickness: 線條的寬度。
lineType: 線段的型別。可以取值8, 4, 和CV_AA, 分別代表8鄰接連線線,4鄰接連線線和反鋸齒連線線。預設值為8鄰接。為了獲得更好地效果可以選用CV_AA(採用了高斯濾波)。
shift: 座標點小數點位數。
示例程式碼:
#include <iostream>
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat src=imread("A.jpg");
line(src,Point(1,1),Point(250,250),Scalar(0,0,255),5,CV_AA);
imwrite("src.jpg",src);
imshow("A",src);
printf("channel: %d",src.channels());
#if 0
Mat dst;
Canny(src,dst,50,200);
imwrite("dst.jpg",dst);
imshow("dst",dst);
#endif
waitKey(0);
}
效果圖: