当前位置: 首页 > news >正文

steamcn网站是谁做的南宁seo推广外包

steamcn网站是谁做的,南宁seo推广外包,建设网站有什么法律么,网站关键字优化销售计算点集的最小外接矩形——OpenCV的minAreaRect函数 函数原型 输入一系列二维点&#xff0c;返回其最小外接矩形。 RotatedRect minAreaRect( InputArray points );根据函数原型&#xff0c;输入的数据可以是vector<Point>类型&#xff0c;包含1个以上的点&#xff1…

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

函数原型

输入一系列二维点,返回其最小外接矩形。

RotatedRect minAreaRect( InputArray points );

根据函数原型,输入的数据可以是vector<Point>类型,包含1个以上的点;
返回值是RotatedRect类型,该类型的定义如下:

class CV_EXPORTS RotatedRect
{
public://! default constructorRotatedRect();/** full constructor@param center 矩形的质心@param size 矩形的宽和高@param angle 顺时针定义的旋转角。当值为0, 90, 180, 270等90的整数倍时,该矩形为直立矩形(底边水平)*/RotatedRect(const Point2f& center, const Size2f& size, float angle);RotatedRect(const Point2f& point1, const Point2f& point2, const Point2f& point3);/** returns 返回矩形的四个顶点@param pts 顺序是原始矩形的左下、左上、右上、右下顶点(顺时针顺序)。*/void points(Point2f pts[]) const;//! returns 返回当前矩形的最小外接直立矩形(坐标为整数)Rect boundingRect() const;//! returns 返回包含当前矩形的最小外接矩形(坐标为浮点数),不适合用于图像Rect_<float> boundingRect2f() const;//! returns 质心Point2f center;//! returns 宽、高Size2f size;//! returns 矩形相对于直立矩形的旋转角。float angle;
};

对于用户而言,最重要的是三个属性:centersizeangle。其中sizeangle需要着重介绍一下:

RotatedRect的size成员变量

某些用户可能认为宽width<高height,但是size成员变量中,并非如此!宽width表示矩形底边的长度,高height表示矩形竖直边的长度。

void points()输出的点坐标顺序

官方文档定义,points输出的点在原始(未旋转)矩形中依次是左下、左上、右上、右下点,说的有些不明不白;
实际上,序号为0的点是minAreaRect返回的矩形最左侧的点,1\2\3号点依次按顺时针确定。请参照下一节的图示。

RotatedRect的angle成员变量

该变量描述了矩阵从直立旋转到当前状态顺时针转过的角度值,其取值范围是[0,90]
换句话说,angle是points()输出的0号点与1号点构成的线段与竖直方向的夹角。请参照下一节的图示。

矩形顶点编号与角度图示

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

测试代码

给出一段测试代码,方便读者理解该函数:

#include "opencv2/highgui.hpp"
#include "opencv2/imgproc.hpp"#include <iostream>using namespace cv;
using namespace std;static void help()
{cout << "This program demonstrates finding the minimum enclosing box of a set\n"<< "of points using function: minAreaRect().\n"<< "Random points are generated and then enclosed.\n\n"<< "Press ESC, 'q' or 'Q' to exit and any other key to regenerate the set of points.\n\n";
}int main(int /*argc*/, char** /*argv*/)
{help();Mat img(500, 500, CV_8UC3, Scalar::all(0));RNG& rng = theRNG();for (;;){int i, count = rng.uniform(1, 101);vector<Point> points;// Generate a random set of pointsfor (i = 0; i < count; i++){Point pt;pt.x = rng.uniform(img.cols / 4, img.cols * 3 / 4);pt.y = rng.uniform(img.rows / 4, img.rows * 3 / 4);points.push_back(pt);}// Find the minimum area enclosing bounding boxPoint2f vtx[4];RotatedRect box = minAreaRect(points);box.points(vtx);img = Scalar::all(0);// Draw the pointsfor (i = 0; i < count; i++)circle(img, points[i], 3, Scalar(0, 0, 255), FILLED, LINE_AA);// 定义圆弧的参数cv::Point center = vtx[0];cv::Size axes(10, 10);double angle = 0;double startAngle = -90; // 圆弧起始角度(以度为单位)double endAngle = box.angle-90; // 圆弧结束角度(以度为单位)cv::Scalar color(0, 255, 0); // 绿色// 在图像上绘制表示角度的圆弧cv::ellipse(img, center, axes, angle, startAngle, endAngle, color,2);line(img, vtx[0], cv::Point(vtx[0].x,48), Scalar(255, 255, 255), 1, LINE_AA);// Draw the bounding boxfor (i = 0; i < 4; i++){line(img, vtx[i], vtx[(i + 1) % 4], Scalar(0, 255, 0), 1, LINE_AA);putText(img, to_string(i), vtx[i]-cv::Point2f(16,-32), FONT_HERSHEY_SIMPLEX, 1, Scalar(255, 255, 255));}// Show the text info about the rectangle box.cv::String strRectInfo = "The angle is: ";strRectInfo += std::to_string(box.angle);cv::putText(img, strRectInfo, cv::Point(0, 32), cv::FONT_HERSHEY_SIMPLEX, 1.0, cv::Scalar(255,255,255));imshow("Rectangle, triangle & circle", img);char key = (char)waitKey();if (key == 27 || key == 'q' || key == 'Q') // 'ESC'break;}return 0;
}

参考

opencv官方文档

http://www.ds6.com.cn/news/36529.html

相关文章:

  • 接入服务商网站备案管理系统技术规范要求seo搜索引擎优化试题
  • 网站策划怎么做内容广州竞价外包
  • 网站开发视频 百度云最新新闻热点事件2023
  • wordpress cms免费西藏自治区seo 标题 关键词优化
  • 27岁了想学网站建设龙华百度快速排名
  • 佛山营销型网站建设网络营销师证书含金量
  • 网站集群建设要求seo站群优化技术
  • web网站开发步骤常见的营销手段
  • dw不用代码做网站广东网站seo营销
  • 网站技术防护建设企业宣传标语
  • 焦作专业做网站公司外贸接单网站
  • 长春网站建设网百度竞价推广思路
  • 室内装修设计软件3dseo网站怎么优化
  • 怎么做独立网站汕头网站推广
  • cms可以做多少个网站软文素材网
  • 广州网站制作信科建设网络营销岗位
  • 天津疫情最新消息今天独立站seo优化
  • 网站开发有什么点子北京cms建站模板
  • 网站解析多久足球直播在线直播观看免费cctv5
  • 清河网站制作百度推广客户端app下载
  • 昆明网站设计电话官网设计公司
  • 做网站赚不了钱seo网络推广案例
  • 东莞设计公司网站各大网站的网址
  • 那种非法网站怎么做的企业策划方案怎么做
  • 网站开发安全小贴士seo是什么意思新手怎么做seo
  • 南京和筑建设有限公司网站手机最新产品新闻
  • 太原建设网站制作接外贸订单的渠道平台哪个好
  • h5制作哪个网站好bt磁力搜索器
  • 简述电子商务网站的建设百度搜索引擎盘搜搜
  • 互联网网站基础北京seo优化多少钱