本文主要是介绍OPenCV结构分析与形状描述符(4)计算一个旋转矩形的四个顶点的函数boxPoints()的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 操作系统:ubuntu22.04
- OpenCV版本:OpenCV4.9
- IDE:Visual Studio Code
- 编程语言:C++11
算法描述
找到一个旋转矩形的四个顶点。对于绘制旋转矩形很有用。
该函数找到一个旋转矩形的四个顶点。这个函数对于绘制矩形很有帮助。在C++中,可以不用这个函数,而是直接使用RotatedRect::points方法。更多相关信息,请访问创建边界旋转框和轮廓椭圆的教程
函数原型
void cv::boxPoints
(RotatedRect box,OutputArray points
)
参数
- 参数box 输入的旋转矩形。它可能是 minAreaRect 的输出
- 参数points 输出的四个顶点组成的数组。
代码示例
#include <iostream>
#include <opencv2/opencv.hpp>using namespace std;
using namespace cv;int main()
{cv::Mat img(800, 800, CV_8UC3, cv::Scalar(255, 255, 255));std::vector< cv::Point > starPoints;cv::Point p1( 100, 100 );cv::Point p2( 300, 100 );cv::Point p4( 300, 300 );cv::Point p3( 100, 300 );starPoints.push_back( p1 );starPoints.push_back( p2 );starPoints.push_back( p3 );starPoints.push_back( p4 );cv::RotatedRect rect = cv::minAreaRect( starPoints );cv::Mat ptfs;cv::boxPoints( rect, ptfs );std::cout << ptfs << std::endl;cv::waitKey( 0 );return 0;
}
运行结果
[100, 100;300, 100;300, 300;100, 300]
这篇关于OPenCV结构分析与形状描述符(4)计算一个旋转矩形的四个顶点的函数boxPoints()的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!