opencv关于使用cvRotatedRect函数计算并画出矩形四个点的返回位置

这篇具有很好参考价值的文章主要介绍了opencv关于使用cvRotatedRect函数计算并画出矩形四个点的返回位置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

画矩形操作

Point center = Point((left.center.x + right.center.x) / 2, (left.center.y + right.center.y) / 2);
                        RotatedRect rect = RotatedRect(center, Size(dis, meanheight), (left.angle +                                    right.angle) / 2);//计算装甲板的四个角点
                        Point2f vertices[4];
                        rect.points(vertices);//从RotatedRect类中提取出角点
                        for (int i = 0; i < 4; i++) {
                            line(frame, vertices[i], vertices[(i + 1) % 4], Scalar(0, 0, 255), 2);
                            cout << vertices[i] << endl;
                        }

效果图:

opencv检测矩形4个点坐标,opencv

点坐标

[440.799, 205.927]
[444.401, 176.144]
[609.201, 196.073]
[605.599, 225.856]

可以看到系统自动把vertices[0]定在了左下角,可是vertices[0]点的Y坐标不是最大的,似乎于x轴坐标有关。

但我参考了其他文章,似乎不同的版本起始点定的位置也不一样,不要想当然的认为点就是在y坐标最大的为起始坐标了。我opencv的版本是4.1.0.

所以想要使用角点进行仿射变化,建议先输出一次找点的方位,或者将点排序。文章来源地址https://www.toymoban.com/news/detail-641491.html

到了这里,关于opencv关于使用cvRotatedRect函数计算并画出矩形四个点的返回位置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 计算点集的最小外接矩形——OpenCV的minAreaRect函数

    输入一系列二维点,返回其最小外接矩形。 根据函数原型,输入的数据可以是 vectorPoint 类型,包含1个以上的点; 返回值是 RotatedRect 类型,该类型的定义如下: 对于用户而言,最重要的是三个属性: center 、 size 、 angle 。其中 size 和 angle 需要着重介绍一下: RotatedRect的si

    2024年04月14日
    浏览(50)
  • 关于uniapp中使用opencv.js拍照提取纸张轮廓

    1.效果图片 2.下载opencv.js   比如下载 4.5.0 版本的 opencv.js 文件 https://docs.opencv.org/4.5.0/opencv.js 3.引入 opencv.js放在static文件夹下 页面中引入 let cv = require(\\\'../../static/opencv/opencv.js\\\'); 4.进入正题    //页面先放一个隐藏图片     img id=\\\"imageUrl\\\" alt=\\\"No Image\\\" style=\\\"display: none;\\\" /    //获取

    2024年02月04日
    浏览(37)
  • 【OpenCV】关于OpenCV中imread/imwrite/imshow/cvtColor等 Api的简单描述和使用

    01、imread 官方定义 imread函数是OpenCV中的一个函数,用于从文件中读取图像。该函数支持读取多种图像格式,包括BMP、JPEG、PNG、TIF等常见格式。 tips: 注意这里imread函数加载的是8bit 图像 示例 02、imwrite 官方定义 imwrite函数是OpenCV中的一个函数,用于将图像写入文件中。该函数支

    2024年02月11日
    浏览(37)
  • Python Numpy 关于 linspace()函数 使用详解(全)

    用plt画图的时候,偶尔会看到这个函数的出现,索性直接深入源码实战进行复现 主要功能 :在线性区域中生成等间距的序列,原先在Numpy中可以用 numpy.arange() ,但对于浮点数会有精度丢失,因此 linspace() 对于浮点数比较友好。适当的参数,两者都可选择。 具体源码: numpy

    2024年02月05日
    浏览(50)
  • OpenCV inRange 函数使用详解

            本文是 OpenCV图像视觉入门之路的第6篇文章,本人详细的解决了RGB转HSV,HSV通过AI来进行HSV转 inRange() 函数的范围值操作,简单全面的解决了OpenCV对于图像中某个颜色的分析工作,本文通过识别红色区域和蓝色区域来编写示例程序和博客,也讲述了各种操作,例如:

    2024年02月03日
    浏览(40)
  • Opencv中inRange函数使用介绍

    inRange是OpenCV中的图像阈值函数,用于将图像中的像素值限制在指定的范围内。它的输入和输出如下所述: 输入值: src:输入图像,可以是灰度图像或彩色图像。 lowerb:表示下界的阈值,可以是一个标量值或与输入图像通道数相同的数组。对于灰度图像,lowerb是一个标量值。

    2024年02月05日
    浏览(48)
  • 【OpenCV findChessboardCornersSB 算法原理与函数使用】

    findChessboardCornersSB是OpenCV4新引入的棋盘格角点检测函数,可以直接获得亚像素角点坐标,对噪声的鲁棒性和对大尺寸图像的检测速度相比之前的findChessboardCorners有很大提升。本文介绍findChessboardCornersSB函数的算法原理,并给出函数使用示例。 findChessboardCornersSB的实现主要参考

    2024年02月22日
    浏览(31)
  • C语言【几个关于字符串/字符的函数的使用】

    关于++,编译器会作一些处理(根据编译器不同),如下为gcc编译出来的结果:

    2024年02月05日
    浏览(55)
  • OpenCV腐蚀函数:cv2.erode()使用

    void cv::erode ( InputArray src , OutputArray dst , InputArray kernel , Point anchor  =  Point(-1,-1) , int  iterations  =  1 , int  borderType  =  BORDER_CONSTANT , const Scalar   borderValue  =  morphologyDefaultBorderValue()   ) Python: dst = cv.erode( src, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]] ) 通过使用特定

    2024年02月14日
    浏览(47)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包