OpenCV line() 函数详解:在图像上绘制直线
这行代码使用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;
}
代码说明:
- 首先,创建一个 256x256 像素的黑色图像。
- 定义起点和终点的坐标。
- 使用
cv::line()函数在图像上绘制一条从起点到终点的绿色直线。 - 使用
imshow()函数显示图像。 - 使用
waitKey()函数等待用户按下任意键退出程序。
注意事项:
Scalar()函数用于定义颜色,参数分别代表蓝、绿、红三个颜色通道的数值,取值范围为0到255。cv::Point()用于定义点坐标,参数分别代表 x 坐标和 y 坐标。cv::line()函数的其他参数可以参考 OpenCV 文档。
原文地址: https://www.cveoy.top/t/topic/oHRP 著作权归作者所有。请勿转载和采集!