opencv(12):cv::rectangle学习与代码演示,使用opencv画矩形/矩形框

这篇具有很好参考价值的文章主要介绍了opencv(12):cv::rectangle学习与代码演示,使用opencv画矩形/矩形框。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 cv::rectangle介绍

1.1 功能:

        绘制一个简单的、粗的或填充的直角矩形或直角矩形框。

1.2 c++代码形式

rectangle() [1/2]

#include <opencv2/imgproc.hpp>

void cv::rectangle 	( 	InputOutputArray  	img,
		Point  	pt1,
		Point  	pt2,
		const Scalar &  	color,
		int  	thickness = 1,
		int  	lineType = LINE_8,
		int  	shift = 0 
	) 	

img     图像。
pt1      矩形的顶点。
pt2      与 pt1 相对的矩形的顶点。意思是pt1和pt2是对角顶点
color   颜色或亮度(灰度图像)。
thickness     构成矩形的线条的厚度。负值,如 FILLED、-1,意味着函数必须绘制一个填充的矩形。
lineType    线的类型。
shift    点坐标中的小数位数,一般取0,因为像素一般都是整型值。

rectangle() [2/2]

#include <opencv2/imgproc.hpp>
#include <opencv2/core/types.hpp>//针对第二个参数rec

void cv::rectangle 	( 	Mat &  	img,
		Rect  	rec,
		const Scalar &  	color,
		int  	thickness = 1,
		int  	lineType = LINE_8,
		int  	shift = 0 
	) 	

 其中第二个参数rec代表矩形边框,且有:typedef Rect2i cv::Rect ,示例如下:

//Rect(int a,int b,int c,int d)a,b为矩形的左上角坐标,c,d为矩形的长和宽
Rect rec1;
rec1=Rect(10,10,5,5);

1.3 python代码形式

cv.rectangle(	img, pt1, pt2, color[, thickness[, lineType[, shift]]]	)

参数参考1.2

2 c++代码演示:

cv_rectangle_test.cpp

2.1 演示1

#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
#include <iostream>
using namespace cv;


int main( int argc, char** argv )
{
    cv::Scalar color,color1;
    color[0]=0;color[1]=0;color[2]=255;//    红色
    color1[0]=0;color1[1]=255;color1[2]=0;//绿色
    cv::Mat image = cv::Mat::zeros(cv::Size(20, 20), CV_8UC3);


    cv::rectangle(image,cvPoint(9,9),cvPoint(9,9),color1,1,1,0);//两个顶点相同,画一个点
    cv::rectangle(image,cvPoint(10,10),cvPoint(19,19),color,1,1,0);//矩形的两个顶点,两个顶点都包括在矩形内部

    
    cv::namedWindow("image", cv::WINDOW_NORMAL);
    cv::imshow("image",image);
    cv::waitKey(0);

}

代码执行效果:

cv::rectangle,ros学习,c++,大数据,c++,opencv,ubuntu

2.2 演示2

#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
#include <opencv2/core/types.hpp>//针对第二个参数rec
#include <iostream>
using namespace cv;


int main( int argc, char** argv )
{
    cv::Scalar color,color1;
    color[0]=0;color[1]=0;color[2]=255;//    红色
    color1[0]=0;color1[1]=255;color1[2]=0;//绿色
    cv::Mat image = cv::Mat::zeros(cv::Size(20, 20), CV_8UC3);

    // cv::rectangle(image,cvPoint(9,9),cvPoint(9,9),color1,1,1,0);//两个顶点相同,画一个点
    // cv::rectangle(image,cvPoint(10,10),cvPoint(19,19),color,1,1,0);//矩形的两个顶点,两个顶点都包括在矩形内部


    Rect rec1;
    rec1=Rect(10,10,5,5);
    cv::rectangle(image,rec1,color,1,1,0);//矩形的两个顶点,两个顶点都包括在矩形内部

    cv::namedWindow("image", cv::WINDOW_NORMAL);
    cv::imshow("image",image);
    cv::waitKey(0);

}

cv::rectangle,ros学习,c++,大数据,c++,opencv,ubuntu

参考:

opencv draw OpenCV: Drawing Functions

一个案例  cvRectangle与cv::rectangle的用法 - 灰信网(软件开发博客聚合)文章来源地址https://www.toymoban.com/news/detail-780196.html

到了这里,关于opencv(12):cv::rectangle学习与代码演示,使用opencv画矩形/矩形框的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【YOLOv4运行demo.py报错】:cv2.error: OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function ‘rectangle‘

    最近在linux服务器上部署YOLOv4项目(https://github.com/Tianxiaomo/pytorch-YOLOv4),配置好环境以后,运行demo.py进行测试,报错如下: 报错显示,在调用函数cv2.rectangle时,无法分析“pt2”参数。索引为0的序列项的类型错误,去opencv官网查看用法如下: 这下对应上了,是第二个参数

    2024年02月12日
    浏览(47)
  • Python 通过ImageDraw.rectangle 画矩形框

    源代码如下: ImageDraw.rectangle(xy, fill=None, outline=None, width=1) 主要的参数如下: xy: 定义边界框长宽边界,主要格式如下: [(x0, y0), (x1, y1)] 或者 [x0, y0, x1, y1] fill:填充颜色 outline:轮廓颜色 width:矩形边框的宽度 截图如下: cv2.rectangle 则根据对角线画矩形 示例代码如下: 截图

    2024年02月15日
    浏览(29)
  • 实战 | OpenCV中更稳更快的找圆方法--EdgeDrawing使用演示(详细步骤 + 代码)

    导  读     本文主要介绍如何在OpenCV中使用EdgeDrawing模块查找圆(详细步骤 + 代码)。 背景介绍     从OpenCV4.5.2开始,Contrib模块中封装了开源库ED_Lib用于查找图像中的直线、线段、椭圆和圆。Github地址:     算法原理简介:     边缘绘制(ED)算法是一种解决边缘检测问

    2024年02月08日
    浏览(63)
  • new mars3d.layer.XyzLayer({的rectangle瓦片数据的矩形区域范围说明

    new mars3d.layer.XyzLayer({的rectangle瓦片数据的矩形区域范围说明 2.这个xyz图层的矩形区域范围rectangle从图层文件中无法获取,但是看图层文件可以知道这个是12-21级的数据。   3.一般这个图层数据文件服务会有提供相应的rectangle范围,在服务的xml文件内,可以看到这个数据值。如

    2024年04月25日
    浏览(34)
  • python用cv2画图(line, rectangle, text等)

    Python做图像图形研究的时候,通常需要画很多辅助几何形状(比如bounding box等)。基于opencv的几何图形绘制具有易用性,而且天然能和numpy数组交互。 本文总结了几种常用的cv2画几何图形的方法,当一个简易的手册使用: 输入规范如下: 两点确定一条直线,所以我们需要明

    2024年02月06日
    浏览(37)
  • 【C++练习】普通方法+利用this 设置一个矩形类(Rectangle), 包含私有成员长(length)、 宽(width), 定义一下成员函数

    设置一个矩形类(Rectangle), 包含私有成员长(length)、 宽(width), 定义成员函数:         void set_ len(int l);  //设置长度         设置宽度void set_ wid(int w);          获取长度: int get len();          获取宽度: int get _wid);          显示周长和面积: void show();   

    2024年02月11日
    浏览(39)
  • 【opencv学习】鼠标回调函数、鼠标控制画矩形

    1.回调函数可以简单理解为一边做一件事的同时做另一件事,优化之前的实现完一个函数后才实现另一个的问题。 鼠标回调函数就是一边鼠标操作画图,一边显示画出的图像。 2.实现一个矩形rec只需要知道一个左上角的坐标和宽高即可实例化对象。

    2024年02月14日
    浏览(50)
  • OpenCV图像识别:使用矩形框框选目标

    OpenCV图像识别:使用矩形框框选目标 OpenCV是一款广泛应用于计算机视觉领域的开源计算机视觉库。在图像识别任务中,矩形框是一种常见的工具,可以用来框选出感兴趣区域。本文将介绍如何使用OpenCV选择矩形框。 首先,需要导入OpenCV库和Numpy库,以及读取图像: 然后,可

    2024年02月11日
    浏览(35)
  • 编写一个类为Rectangle。该类有两个属性: 长(length)和宽(width),计算矩形面积周长。写另外一个类,来检验自己编写的类中的方法是否正确。

    编写一个类为Rectangle. 该类有两个属性: 长(length)和宽(width)默认值为1,该两个变量为私有的,即private. 其它方法为: 构造方法:public Rectangle();   Public Rentangle(double length, double width); 方法: 矩形对象调用该方法,可以得到面积:public double getArea() 矩形对象调用该方法,可以

    2024年02月05日
    浏览(44)
  • 使用openCV python绘制实心旋转的矩形

    ​ 看方法直接看最下边 看方法直接看最下边 看方法直接看最下边 一、通过中心点、宽高、角度得到四个顶点的公式网上都有,最后输出四个顶点的x和y坐标。 二、绘制实心矩形 关于怎么绘制实心矩形,因为openCV本身的cv2.rectangle只能绘制角度为0的矩形,没办法用,所以一开

    2024年02月09日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包