• 网站首页
  • ASP.net设计
  • ASP设计
  • JAVA设计
  • C#设计
  • Python
  • android
  • JSP设计
  • VB设计
  • 作文
  • 留言反馈
  • 联系我们
  • 当前位置:首页 » Python » Python » Python3+OpenCV:图片的边缘检测
    Python3+OpenCV:图片的边缘检测
    • 作者:未知 更新时间:2020-9-30 10:58:02 来源:智轩软件网 【字号: 】 本条信息浏览人次共有

    Python3+OpenCV:图片的边缘检测

    • Canny边缘检测的简单概念
    • OpenCV函数:cv2.Canny()

    Canny边缘检测方法常被誉为边缘检测的最优方法,下面是代码:

    1. #!/usr/bin/env python3
    2. # -*- coding: UTF-8 -*-
    3. import cv2
    4. import numpy as np
    5. # 1.Canny边缘检测
    6. img = cv2.imread('handwriting.jpg', 0)
    7. edges = cv2.Canny(img, 30, 70)
    8. cv2.imshow('canny', np.hstack((img, edges)))
    9. cv2.waitKey(0)

    边缘检测后 运行的效果

     

    Canny推荐的高低阈值比在2:1到3:1之间。

    先阈值分割后检测

    其实很多情况下,阈值分割后再检测边缘,效果会更好:

    代码如下:

     

    1. #!/usr/bin/env python
    2. # -*- coding: UTF-8 -*-
    3. import cv2
    4. import numpy as np
    5. img = cv2.imread('handwriting.jpg', 0)
    6. # 2.先阈值,后边缘检测
    7. # 阈值分割(使用到了番外篇讲到的Otsu自动阈值)
    8. _, thresh = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
    9. edges = cv2.Canny(thresh, 30, 70)
    10. cv2.imshow('canny', np.hstack((img, thresh, edges)))
    11. cv2.waitKey(0)

    效果如下:


    【免责声明:本站所发表的文章,大部分来源于各相关媒体或者网络,内容仅供参阅,与本站立场无关。如有不符合事实,或影响到您利益的文章,请及时告知,本站立即删除。谢谢监督。】
    发表评论
    * 评论内容:
    * 用户名:匿名发表 *不选请在前面输入您的大名
    * 验证码: 验证码,看不清楚?请点击刷新验证码 *请输入4位数的验证码
     
    发表评论须知:
    一、所发文章必须遵守《互联网电子公告服务管理规定》;
    二、严禁发布供求代理信息、公司介绍、产品信息等广告宣传信息;
    三、严禁恶意重复发帖;
    四、严禁对个人、实体、民族、国家等进行漫骂、污蔑、诽谤。
  •   
  • 资讯导航
    图片资讯