这行代码使用OpenCV库中的cv::line()函数,在图像dispMat上画一条直线,起点为pt1,终点为pt2,颜色为绿色,宽度为1,类型为8-connected,偏移量为0。

函数参数解释:

  • dispMat: 目标图像,直线将绘制在这张图像上。
  • pt1: 直线起点坐标,通常为一个 cv::Point 对象。
  • pt2: 直线终点坐标,通常为一个 cv::Point 对象。
  • Scalar(0, 255, 0): 直线颜色,这里指定为绿色 (BGR 格式)。
  • 1: 直线宽度,以像素为单位。
  • 8: 直线类型,8-connected表示直线采用8邻域连通方式。
  • 0: 偏移量,表示直线绘制的位置相对于实际坐标的偏移量。

示例代码:

#include <opencv2/opencv.hpp>

using namespace cv;

int main() {
  Mat image = Mat::zeros(256, 256, CV_8UC3); // 创建一张黑色图像
  Point pt1(10, 10), pt2(200, 200); // 设置起点和终点
  line(image, pt1, pt2, Scalar(0, 255, 0), 1, 8, 0); // 绘制绿色直线
  imshow("Image", image); // 显示图像
  waitKey(0);
  return 0;
}

代码说明:

  1. 首先,创建一个 256x256 像素的黑色图像。
  2. 定义起点和终点的坐标。
  3. 使用cv::line()函数在图像上绘制一条从起点到终点的绿色直线。
  4. 使用imshow()函数显示图像。
  5. 使用waitKey()函数等待用户按下任意键退出程序。

注意事项:

  • Scalar()函数用于定义颜色,参数分别代表蓝、绿、红三个颜色通道的数值,取值范围为0到255。
  • cv::Point()用于定义点坐标,参数分别代表 x 坐标和 y 坐标。
  • cv::line()函数的其他参数可以参考 OpenCV 文档。
OpenCV line() 函数详解:在图像上绘制直线

原文地址: https://www.cveoy.top/t/topic/oHRP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录