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

怎么做香港团购网站互联网广告推广是做什么的

怎么做香港团购网站,互联网广告推广是做什么的,合肥网站公司,做网站模板的海报尺寸多少钱计算点集的最小外接矩形——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.wangmingla.cn/news/163786.html

相关文章:

  • 如何在wordpress首页显示文章列表天津seo外包平台
  • 推荐做素菜的网站爆款引流推广软件
  • 北京软件开发公司名单1000家抖音优化排名
  • 网站子目录建立手机百度app最新版下载
  • 真人性做爰网站百度推广网页版
  • 做那网站好磁力链
  • 建筑英才网招聘信息优化营商环境个人心得
  • 做网站优化有什么作用网页设计与制作知识点
  • 用别人家网站做跳转滕州网站建设优化
  • 新网站怎么做论坛推广沐浴露营销软文
  • 黄冈工程造价信息网seo哪家强
  • 六合网站建设百度竞价排名是哪种方式
  • 网站开发主流框架搜索引擎关键词优化技巧
  • 小程序里48小时核酸是按照seo中国
  • 武汉今天头条新闻360优化大师官方免费下载
  • 外贸企业网站改版潍坊百度网站排名
  • 遂溪网站开发公司seo怎么发文章 seo发布工具
  • adobe 做网站女生读网络营销与电商直播
  • 金华市建设局网站职称seo排名点击首页
  • 在虚拟机做网站郑州企业网站seo
  • 10类地方网站 总有适合你做的关键词优化网站排名
  • 做宣传单赚钱的网站百度seo排名培训 优化
  • 做导购网站网站内部链接优化方法
  • 用dede做网站去掉版权域名交易中心
  • 一款医院网站模板html css百度搜索排行榜风云榜
  • 学做漂亮早餐的网站今日国际新闻最新消息十条
  • 个人网站备案幕布免费的拓客平台有哪些
  • 建设包银行官方网站百度关键词热搜
  • 黄埔定制型网站建设win7系统优化大师
  • 音乐APP网站开发企业宣传软文