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: 坐标点小数点位数。


示例代码:

 
  1. #include <iostream>

  2. #include <stdio.h>

  3. #include <opencv2/opencv.hpp>

  4.  
  5. using namespace std;

  6. using namespace cv;

  7.  
  8. int main()

  9. {

  10. Mat src=imread("A.jpg");

  11. line(src,Point(1,1),Point(250,250),Scalar(0,0,255),5,CV_AA);

  12. imwrite("src.jpg",src);

  13. imshow("A",src);

  14. printf("channel: %d",src.channels());

  15. #if 0

  16. Mat dst;

  17. Canny(src,dst,50,200);

  18. imwrite("dst.jpg",dst);

  19. imshow("dst",dst);

  20. #endif

  21. waitKey(0);

  22. }

效果图:

猜你喜欢

转载自blog.csdn.net/hk121/article/details/81085213