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

外贸企业建站公司品牌形象

外贸企业建站公司,品牌形象,大图网 网站,注册登录轮廓#xff08;Contours#xff09;#xff0c;指的是有相同颜色或者密度#xff0c;连接所有连续点的一条曲线。检测轮廓的工作对形状分析和物体检测与识别都非常有用。 在轮廓检测之前#xff0c;首先要对图片进行二值化或者Canny边缘检测。在OpenCV中#xff0c;寻找… 轮廓Contours指的是有相同颜色或者密度连接所有连续点的一条曲线。检测轮廓的工作对形状分析和物体检测与识别都非常有用。 在轮廓检测之前首先要对图片进行二值化或者Canny边缘检测。在OpenCV中寻找的物体是白色的而背景必须是黑色的因此图片预处理时必须保证这一点。 cv2.findContours函数 Python版示例如下也可以参考【OpenCV-Python教程11、轮廓检测】【Contours : Getting Started】 contours, hierarchy cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) 1. 完整例子 import cv2#读入图片 img cv2.imread(1.png)# 必须先转化成灰度图 gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 二值化 ret, thresh cv2.threshold(gray, 127, 255, cv2.THRESH_BINAEY)# 寻找轮廓 contours, hierarchy cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)# 画出轮廓-1,表示所有轮廓画笔颜色为(0, 255, 0)即Green粗细为3 cv2.drawContours(img, contours, -1, (0, 255, 0), 3)# 显示图片 cv2.namedWindow(Contours, cv2.NORMAL_WINDOW) cv2.imshow(Contours, img)# 等待键盘输入 cv2.waitKey(0) cv2.destroyAllWindows()123456789101112131415161718192021222324123456789101112131415161718192021222324 2. 参数解释 这里的findContours函数有三个参数 thresh - 要寻找轮廓的图片注意这里的轮廓会直接改变在thresh上记得备份cv2.RETR_TREE - 表示轮廓检索模式Contour retrieval mode为检索所有的轮廓且重组为一个有层次的嵌套轮廓。层次信息返回在hierarchy中。cv2.CHAIN_APPROX_SIMPLE - 表示轮廓近似方法Contour approximation method。SIMPLE可以这样理解假如一个矩形有1000个点但是现在只用四个角的点表示就行了即去掉冗余信息。 返回值也有两个contours 和 hierarchy 对contours的理解如下 print 找到 %d 个轮廓 %(len(contours)) print 第 0 个轮廓有 %d 个点 %(len(contours[0]))# 画出第0个轮廓 cv2.drawContours(img, contours, 0, (0, 255, 0), 3) cv2.imshow(first contours, img)# 画出第1个轮廓 cv2.drawContours(img, contours, 1, (0, 255, 0), 3) cv2.imshow(second contours, img)# 画出所有的轮廓 cv2.drawContours(img, contours, -1, (0, 255, 0), 3) cv2.imshow(all contours, img)12345678910111213141234567891011121314 对 hierarchy 的深究可以参考这里【Contours Hierarchy】 轮廓特征Contour Features 查找到轮廓以后我们可以得出轮廓的一些特征信息也可以在轮廓上做一些简单的操作参考Python教程【Contour Features】 1. 面积和周长示例 # 寻找轮廓 contours, hierarchy cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)# 取第 0 个轮廓 cnt contours[0]# 轮廓面积 area cv2.contourArea(cnt)# 周长或者说弧长第二个参数的True表示该轮廓是否封闭 perimeter cv2.arcLength(cnt, True)12345678910111234567891011 2. 轮廓近似 轮廓近似Contour Approximation要理解概念先来看下面的三张图。第一张是找到的轮廓第二张近似的幅度很大忽略了很多的细节第三细节多一点. OpenCV中是用 cv2.approxPolyDP()函数来进行轮廓的近似的。见代码 # 假设取第30个轮廓为例 cnt contours[30]# 10%即0.1的精确度 epsilon 0.1 * cv2.arcLength(cnt, True) approx cv2.approxPolyDP(cnt, epsilon, True)# 这里是第二张10%的精确度 cv2.imshow(10% approximation, approx)123456789123456789 同理第三张可以用1%的精确度来得到。 3. 计算凸包 涉及凸多面体和凹多面体的概念不多解释。如下图本来是一个手掌的形状现在用最小的凸多面体把它包起来。其中凸进去Bulge Inside的部分称为凸包缺陷Convexity Defects即箭头处即偏导的局部最大值处。 函数调用以后用到再来细究吧 hull cv2.convexHull(cnt) cv2.imshow(hull, hull)1212 4. 矩形边框 矩形边框Bounding Rectangle是说用一个最小的矩形把找到的形状包起来。还有一个带旋转的矩形面积会更小效果见下图 上代码 # 用绿色(0, 255, 0)来画出最小的矩形框架 x, y, w, h cv2.boundingRect(cnt) cv2.rectangle(img, (x, y), (xw, yh), (0, 255, 0), 2)# 用红色表示有旋转角度的矩形框架 rect cv2.minAreaRect(cnt) box cv2.cv.BoxPoints(rect) box np.int0(box) img cv2.drawContours(img, [box], 0, (0, 0, 255), 2)123456789123456789 PS其他的形状如 封闭的圆形椭圆直线 等例子见这里【Contour Features】原理差不多不再赘述。
http://www.pierceye.com/news/968950/

相关文章:

  • 网站定制生成器网页制作需要会哪些
  • 最重要的网站官方网站手机 优帮云
  • 建一个展示网站下班多少钱怎样给一个公司做网站改版
  • wordpress 网站死机php7.0 wordpress 设置
  • 免版权费自建网站自考本科官网
  • 使用ai做网站设计长沙建设网站哪家好
  • 建设行业网站价格公共服务标准化建设
  • 电商网站开发发展和前景网站建设案例多少钱
  • 网站建设特效代码做销售用什么网站
  • 如何做中英版网站上海到北京机票
  • 海淀网站建设枣庄微信官网小程序注册
  • 投诉网站制作事件营销的概念
  • 做网站一个程序员够吗企业互联网推广
  • 安徽省建设工程资料上传网站网站内容优化
  • 直接用apk 做登陆网站呢图网站场建设封面
  • 书店网站的建设网络服务器搭建
  • led灯网站模板电商网站开发人员人数
  • 南阳网站建设报价沧州南皮网站建设
  • 网站左侧分类导航菜单用PS做的个人网站图片
  • 返利网 网站开发青岛开发区建网站哪家好
  • 还能电子商务网站建设短网址生成站长工具
  • 有专门做网站的吗网站后台发表文章
  • 秦皇岛汽车网站制作广州网站建设 知名
  • 自己建网站数据怎么做惠州网站制作培训
  • 南山做网站的wordpress自助友链
  • php企业网站源码软件工程师发展前景
  • 如何从建设局网站上更换职称人员哪个网站可以免费做国外网站
  • 情侣博客网站模板下载学校网站建设调查报告
  • 平台网站开发是什么意思全屏的网站
  • 素材图库网站源码网站建设及推广培训班