矩形框在图像领域很是常见,特别是在目标识别,目标跟踪经常需要给识别和跟踪的目标绘制矩形框做个标记。相信很多人应该对这种图像都不陌生,特别实在如今智能领域快速的发展,相机的智能识别,人脸识别等都需要对自己的识别出的目标做标记来明显的展示自己的识别结果。下面我们将展示矩形框实现的示例代码:
#include <opencv2/opencv.hpp> #include<iostream> using namespace std; using namespace cv; void main() { //读取图片 Mat image =imread("C:\\Users\\Administrator\\Desktop\\cat.jpg"); imshow("roi", image); rectangle(image, Point(230, 80), Point(330, 180), Scalar(0, 0, 255), 3, 1, 0); imshow("result", image); waitKey(); }示例代码中用到了rectangle函数,该函数是矩形框绘制的关键,下面讲解该函数各参数的功能:
rectangle(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=0)img:图像.
pt1:矩形的一个顶点。
pt2:矩形对角线上的另一个顶点
color:线条颜色 (RGB) 或亮度(灰度图像)(grayscale image)。
thickness:组成矩形的线条的粗细程度。取负值时(如 CV_FILLED)函数绘制填充了色彩的矩形。
line_type:线条的类型。
8 (or0) - 8-connected line(8邻接)连接线。
4 -4-connected line(4邻接)连接线。
CV_AA- antialiased 线条。
shift:坐标点的小数点位数。
其中:
color取不同数值组合会绘制不同颜色的矩形框:
当color=Scalar(0, 0, 255)
当color=Scalar(255, 0, 0)
当color=Scalar(128, 128, 200)
color可以取不同数值组合,每个数值范围是[0,255],可根据实际需求选取,这里就不一一列举了。
千里之行,始于足下!亮在看,让更多的人加入我们的大家庭。
如有对图像处理、计算机视觉感兴趣的小伙伴关注公众号,一起学习进步。可以微信搜索“图像处理CV讲武堂”关注,也可如下二维扫码关注。
“动动手指扫码或微信搜一搜关注哟”