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

做网站用香港哪个机房四年级小新闻50字左右

做网站用香港哪个机房,四年级小新闻50字左右,建设工程有限公司资质,广州个人网站制作公司其实就是外接轮廓,有了轮廓点就可以找到最上、最下、最左、最右的四个坐标(因为有xmin,xmax,ymin,ymax)。就可以绘制出矩形。 一.外接矩形 cv.boundingRect(轮廓点) - 返回x,y,w,h,传入一个轮廓的轮廓点,若有多个轮廓需…

        其实就是外接轮廓,有了轮廓点就可以找到最上、最下、最左、最右的四个坐标(因为有xmin,xmax,ymin,ymax)。就可以绘制出矩形。

一.外接矩形

cv.boundingRect(轮廓点)

- 返回x,y,w,h,传入一个轮廓的轮廓点,若有多个轮廓需要循环获取。

这是最简单的外接矩形,理论上是方方正正的。

import cv2 as cvnum = cv.imread('../images/num.png')# 拷贝
img = num.copy()# 灰度化
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)# 二值化
ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_OTSU+cv.THRESH_BINARY_INV)# 轮廓检测
contours, hierarchy = cv.findContours(binary, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE)# 绘制轮廓
cv.drawContours(img, contours, -1, (0, 255, 0), 2)# 获取外接矩形
for cnt in contours:x, y, w, h = cv.boundingRect(cnt)# 绘制外接矩形cv.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)# 绘制图像
cv.imshow('img', img)
cv.imshow('binary', binary)cv.waitKey(0)
cv.destroyAllWindows()

二.最小外接矩形

寻找最小外接矩形使用的算法叫做旋转卡壳法,其就是基于凸包点进行的。

而对于凸包多边形的一个最小外接矩形,应存在一条边与凸包多边形的边共线

        如图,这是一个凸包点的图像,找一条边ab,然后找到离这条边最远的点d,画一条线。然后分别找在向量abba上投影最长的点,找到后平移之前画的直线与投影最长的点重合即可。

rect = cv2.minAreaRect(cnt)

传入的cnt参数为contours中的轮廓也可以凸包点(不过内部已经自动处理得到凸包了)

- 计算轮廓最小面积外接矩形:

- rect 结构通常返回中心点坐标 (x, y)、宽度 width、高度 height 和旋转角度 angle

cv2.boxPoints(rect).astype(int)

- 返回一个形状为 4行2列的数组,每一行代表一个点的坐标(x, y),顺序按照逆时针或顺时针方向排列

- 而这些坐标一般会是浮点数,需要转换整数坐标

import cv2 as cvnum = cv.imread('../images/num.png')img = num.copy()# 灰度化
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)# 二值化
ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_OTSU+cv.THRESH_BINARY_INV)# 轮廓检测
contours, hierarchy = cv.findContours(binary, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)# 绘制轮廓
cv.drawContours(img, contours, -1, (0, 255, 0), 2)# 获取最小外接矩形坐标
for cnt in contours:# 筛选面积最小的矩形rect = cv.minAreaRect(cnt)# 计算最小矩形的四个顶点坐标box = cv.boxPoints(rect).astype(int)# 绘图cv.drawContours(img, [box], 0, (0, 0, 255), 2)cv.imshow('img', img)
cv.waitKey(0)
cv.destroyAllWindows()

三.最小外接圆

        使用的算法是Welzl算法。Welzl算法基于一个定理:希尔伯特圆定理,对于平面上的任意三个不在同一直线上的点,存在一个唯一的圆同时通过这三个点,且该圆是最小面积的圆

获取参数的函数:

cv2.minEnclosingCircle(points)

参数说明:

- points:输入参数图片轮廓数据

返回值:

- center:一个包含圆心坐标的二元组 (x, y)。

- radius浮点数类型,表示计算得到的最小覆盖圆的半径

import cv2 as cvnum = cv.imread('../images/num.png')img = num.copy()# 灰度化
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)# 二值化
ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_OTSU+cv.THRESH_BINARY_INV)# 轮廓检测
contours, hierarchy = cv.findContours(binary, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)# 绘制轮廓
cv.drawContours(img, contours, -1, (0, 255, 0), 2)# 获取最小外接圆
for cnt in contours:(x, y), radius = cv.minEnclosingCircle(cnt)center = (int(x), int(y))radius = int(radius)cv.circle(img, center, radius, (0, 0, 255), 2)cv.imshow('img', img)
cv.waitKey(0)
cv.destroyAllWindows()

http://www.dtcms.com/wzjs/270554.html

相关文章:

  • 做 网络网站网站制作的基本流程是什么
  • 石排仿做网站百度搜索平台
  • 做卡盟网站教程关键词有哪些关联词
  • 一个门户网站怎么做海外建站
  • vb语言做的网站深圳优化公司找高粱seo服务
  • 汉中网站建设你就知道首页
  • 成都建设厅网站网站优化推广软件
  • 西安哪里做网站网络整合营销
  • 网站建设需要哪些硬件如何让百度收录自己信息
  • 网站不在首页显示出来seo优化在哪里学
  • 下载源码的网站百度官方app免费下载
  • 一个做服装品牌的网站博客是哪个软件
  • 想要黑掉一个网站 要怎么做域名注册需要什么条件
  • 网站建设费用 业务宣传费中牟网络推广
  • wordpress最快仿站百度入口的链接
  • 人力资源公司名称大全简单大气天津短视频seo
  • 建设银行支行网站产品市场推广计划书
  • 做网站是html好还是java好百度一下你就知道手机版
  • 本地的丹阳网站建设百度热榜
  • 南昌政府网站建设网络推广公司北京
  • 网站活泼微信营销策略
  • 服务性网站建设方案云南网站建设百度
  • 关于建设网站安全性合同数据分析培训班
  • 阿里巴巴网站做销售方案世界搜索引擎大全
  • 分宜网站建设网络营销岗位
  • 漂亮购物网站欣赏网络广告策划与制作
  • 黑龙江建筑工程信息网seo外链推广
  • 免费看电视剧的网站在线观看网络营销师培训
  • 古镇 网站建设mac蜜桃923色号
  • iis6.0如何做网站301百度网址提交入口平台