python边缘检测

举报
风吹稻花香 发表于 2021/06/06 01:01:23 2021/06/06
【摘要】   二值化,轮廓检测,去掉小框, import cv2import numpy as np img = cv2.pyrDown(cv2.imread("hammer.jpg", cv2.IMREAD_UNCHANGED))# threshold 函数对图像进行二化值处理,由于处理后图像对原图像有所变化,因此img.copy()生成新的图像,cv2.THRESH_...

 

二值化,轮廓检测,去掉小框,


  
  1. import cv2
  2. import numpy as np
  3. img = cv2.pyrDown(cv2.imread("hammer.jpg", cv2.IMREAD_UNCHANGED))
  4. # threshold 函数对图像进行二化值处理,由于处理后图像对原图像有所变化,因此img.copy()生成新的图像,cv2.THRESH_BINARY是二化值
  5. ret, thresh = cv2.threshold(cv2.cvtColor(img.copy(), cv2.COLOR_BGR2GRAY), 127, 255, cv2.THRESH_BINARY)
  6. # findContours函数查找图像里的图形轮廓
  7. # 函数参数thresh是图像对象
  8. # 层次类型,参数cv2.RETR_EXTERNAL是获取最外层轮廓,cv2.RETR_TREE是获取轮廓的整体结构
  9. # 轮廓逼近方法
  10. # 输出的返回值,image是原图像、contours是图像的轮廓、hier是层次类型
  11. image, contours, hier = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
  12. for c in contours:
  13. # 轮廓绘制方法一
  14. # boundingRect函数计算边框值,x,y是坐标值,w,h是矩形的宽和高
  15. x, y, w, h = cv2.boundingRect(c)
  16. # 在img图像画出矩形,(x, y), (x + w, y + h)是矩形坐标,(0, 255, 0)设置通道颜色,2是设置线条粗度
  17. cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0),

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/109365938

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。