1. 程式人生 > >opencv line 繪製直線

opencv line 繪製直線

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);
}

效果圖: