zoukankan      html  css  js  c++  java
  • 图像边缘识别检测

    博主用的是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算子我没有调试出来,不过别的方法也非常给力,大家可以看一下)

  • 相关阅读:
    洛谷 P1194 飞扬的小鸟 题解
    洛谷 P1197 星球大战 题解
    洛谷 P1879 玉米田Corn Fields 题解
    洛谷 P2796 Facer的程序 题解
    洛谷 P2398 GCD SUM 题解
    洛谷 P2051 中国象棋 题解
    洛谷 P1472 奶牛家谱 Cow Pedigrees 题解
    洛谷 P1004 方格取数 题解
    洛谷 P2331 最大子矩阵 题解
    洛谷 P1073 最优贸易 题解
  • 原文地址:https://www.cnblogs.com/CHAHA123/p/10658622.html
Copyright © 2011-2022 走看看