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

建设网站赚钱的方法相城区公司网站建设

建设网站赚钱的方法,相城区公司网站建设,关键词优化价格,行政机关网站建设的意义目录 一、多边形的逼近 二、凸包 一、多边形的逼近 findContours后的轮廓信息countours可能过于复杂不平滑#xff0c;可以用approxPolyDP函数对该多边形曲线做适当近似#xff0c;这就是轮廓的多边形逼近。 apporxPolyDP就是以多边形去逼近轮廓#xff0c;采用的是Doug…目录 一、多边形的逼近 二、凸包 一、多边形的逼近 findContours后的轮廓信息countours可能过于复杂不平滑可以用approxPolyDP函数对该多边形曲线做适当近似这就是轮廓的多边形逼近。 apporxPolyDP就是以多边形去逼近轮廓采用的是Douglas-Peucker算法方法名中的DP DP算法原理比较简单核心就是不断去找多边形最远的点加入形成新的多边形直到最短距离小于指定的精度阈值。 approxPolyDP(curve, epsilon, closed[, approxCurvel]) curve 要逼近的轮廓epsilon 即DP算法使用的阈值closed 轮廓是否闭合 阈值越大逼近效果越粗糙阈值越小逼近效果越好。 得到的approx本质是一个数组ndarray类型因此画轮廓的时候需要加上[]变成列表类型。 示例代码如下 import cv2 import numpy as np # 导入图片 hand cv2.imread(hand.png) # 变为单通道黑白图片 gray cv2.cvtColor(hand, cv2.COLOR_BGR2GRAY) # 二值化操作 ret, new_img cv2.threshold(gray, 150, 255, cv2.THRESH_BINARY) # 查找轮廓 contours, hierarchy cv2.findContours(new_img, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) # 复制一份原图 hand_copy hand.copy() # 直接在img_copy上面操作 cv2.drawContours(hand_copy, contours, -1, (0, 0, 255), 2) # 使用多边形逼近近似模拟手的轮廓 approx cv2.approxPolyDP(contours[2], 20, closedTrue) # approx本质上是一个轮廓数据是一个ndarray类型 print(approx) print(type(approx)) # 二contours是一个元组/列表类型 # 画出近似逼近的轮廓 cv2.drawContours(hand_copy, [approx], -1, (0, 255, 0), 2) cv2.imshow(img, np.hstack((hand, hand_copy))) cv2.waitKey(0) cv2.destroyAllWindows() 输出结果如下 二、凸包 逼近多边形是轮廓的高度近似但是有时候我们希望使用一个多边形的凸包来简化它。 凸包和逼近多边形很像只不过它是物体最外层的凸多边形。凸包指的是完全包含原有轮廓并且仅由轮廓上的点所构成的多边形。凸包的每一处都凸的即在凸包内连接任意两点的直线都在凸包的内部。在凸包内任意连续三个点的内角小于180°。 convexHullpoints[,hull [,clockwise[, returnpoints]]]] points 即轮廓colckwise 顺时针绘制 示例代码如下 import cv2 hand cv2.imread(hand.png) # 二值化操作 gray cv2.cvtColor(hand, cv2.COLOR_BGR2GRAY) # 二值化操作 thresh, binary cv2.threshold(gray, 150, 255, cv2.THRESH_BINARY) # 查找轮廓 contours, hierarchy cv2.findContours(binary, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) # 绘制轮廓 cv2.drawContours(hand, contours, 0, (0, 0, 255), 2) # 多边形逼近 approx cv2.approxPolyDP(contours[2], 20, True) # 画出多边形逼近的轮廓 cv2.drawContours(hand, [approx], 0, (0, 0, 255), 2) # 计算凸包 hull cv2.convexHull(contours[2]) # 画出凸包 cv2.drawContours(hand, [hull], 0, (255, 0, 0), 2) cv2.imshow(hand, hand) cv2.waitKey(0) cv2.destroyAllWindows() 输出结果如下
http://www.dnsts.com.cn/news/64349.html

相关文章:

  • 免费企业cms建站系统中国建设银行手机银行官网
  • 商丘柘城做网站php网站是什么数据库文件
  • 代做单片机毕业设计网站有没有学做家具的网站
  • 网站接入成都网页设计培训学校排名
  • 2022互联网企业排名seo排名的方法
  • 福州网站制作费用seo关键字优化价格
  • 辽宁省住房和城乡建设厅网站换了换域名对网站的影响
  • 天津南洋建设集团网站商标设计logo软件
  • 唐河企业网站制作价格手机网站需要备案吗
  • 合肥做网站汇站网如何做网站运营呢
  • 好的网站样式做网站面临的困难
  • 网站备案与不备案的区别镜像网站做优化
  • 邯郸百度网站建设公共资源交易中心是属于哪个部门
  • 建设网站是什么样的项目建设方案包括哪些内容
  • 酒类招商网站大全推广网站链接怎么做
  • 制作一个网站需要多少费用北京seo加盟
  • dede 子网站口碑营销策划方案
  • 同一个域名网站做301网站ip域名查询
  • 湖南长沙网站制作河源网页制作公司
  • 厦门企业网站公司自己做网站怎么维护
  • 注册网站域名要多少钱三合一网站建设哪个好
  • 网站建设烟台万维网 网站 主页 网页
  • 温州网站设计东莞网站建设功能
  • 网站建设业务提成网站推广技巧有哪些?
  • 广东网站建设的网站上那些兼职网页怎么做的
  • 网站结构模板wordpress模板带会员
  • 网站流量 次wordpress主题免费下载
  • 苏州建设银行网站首页广告公司名字怎么取好
  • 如何自助建网站免费公司网页制作
  • 高品质网站建设公司二级域名做网站域名