• 图像边缘识别检测


    博主用的是python3,不过在结尾也有c++方法的地址,供大家参考学习,图像边缘识别需要安装opencv。网上也有一部分人用的是PIL,我在查找了一些资料,并看了一些人的评论后决定用opencv,也推荐各位用。

    我简单的理解了一下图像边缘识别的方法,总结为以下几点:

    1、了解电脑中图片的存储方式

    2、什么是算子

    3、获取图片像素——行数,列数,图片的通道数(这是彩色图片,灰度图像没有通道数)

    4、进行图片边缘识别检测

    首先应该了解什么是图片,图片有很多种,我并不完全懂,这里我说一下256色图片,256也就是2的8次方,在存储的方式上使用一个字节,也就是8位0和1的二进制表示的,从0开始到255结束,所以说他是16色图片数据量的两倍。

    详见:https://baike.baidu.com/item/%E7%AE%97%E5%AD%90/970194?fr=aladdin

    然后是算子,简单来说就是一种映射,和我们中学学的函数并无区别。但是在图像边缘识别的方法中有两个算子,根据我的理解,是分别计算得到纵向和横向的灰度图。

    详见:https://baike.baidu.com/item/%E7%AE%97%E5%AD%90/970194?fr=aladdin

    首先我贴出我查看别人博客认为图片边缘识别最好的一版的代码:

     1 import cv2;
     2 import numpy as np
     3 
     4 img = cv2.imread(r'图片地址')

    首先导入图片数据。

     1 x = cv2.Sobel(img, cv2.CV_16S, 1, 0, ksize=-1)
     2 y = cv2.Sobel(img, cv2.CV_16S, 0, 1, ksize=-1)
     3 # ksize=-1 Scharr算子
     4 # cv2.convertScaleAbs(src[, dst[, alpha[, beta]]])
     5 # 可选参数alpha是伸缩系数,beta是加到结果上的一个值,结果返回uint类型的图像
     6 Scharr_absX = cv2.convertScaleAbs(x)  # convert 转换  scale 缩放
     7 Scharr_absY = cv2.convertScaleAbs(y)
     8 result = cv2.addWeighted(Scharr_absX, 0.5, Scharr_absY, 0.5, 0)
     9 blur = cv2.GaussianBlur(img, (3, 3), 0)  # 用高斯滤波处理原图像降噪
    10 canny = cv2.Canny(blur, 50, 150)  # 50是最小阈值,150是最大阈值
    11 cv2.imshow('canny', canny)
    12 cv2.waitKey(0)
    13 cv2.destroyAllWindows()

    效果非常给力,大家可以去尝试,不要忘记import cv2,想更多了解的朋友推荐大家看一下我推荐的最后一个博客,非常多的方法都可以去尝试。

    代码转载自:https://blog.csdn.net/sunny2038/article/details/9202641

    相关资料可查阅:

    c++版本图像边缘检测:http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/imgtrans/canny_detector/canny_detector.html(c++的,代码流程可以用作参考)

    python图片像素的获取:https://blog.csdn.net/mao_hui_fei/article/details/78217049

    图像边缘识别: https://blog.csdn.net/qq_40962368/article/details/81416954(这个里面的canny算子我没有调试出来,不过别的方法也非常给力,大家可以看一下)

  • 相关阅读:
    时尚前沿的图片左右滚动效果-1
    瀑布流效果
    js遮罩层弹出显示效果组件化
    javascript学习笔记(三)
    前端开发技巧
    Pushlet后台推送
    比较抽象的面试题
    技术点
    HTML5特性
    struts2学习笔记(二)
  • 原文地址:https://www.cnblogs.com/CHAHA123/p/10658622.html
Copyright © 2020-2023  润新知