参考的一些文章以及论文我都会给大家分享出来 —— 链接就贴在原文,论文我上传到资源中去,大家可以免费下载学习,如果当天资源区找不到论文,那就等等,可能正在审核,审核完后就可以下载了。大家一起学习,一起进步!加油!!

目录

前言

(1)图像锐化

(2)图像边缘检测

a. 图像边缘

b. 边缘检测

1. 一阶微分算算子、二阶微分算子

2. 读取图像信息

3. Sobel 算子

4. Laplacian 算子

5. Scharr 算子

6. Canny 算子

7. 总结

8. 参考论文

​ ​​​


前言

(1)图像锐化

前一篇文章中我们进行了对图像的噪声的滤除操作,使用的手段是进行图像平滑,我们提到图像平滑是将图像中的高频部分进行滤除,然而图像中的高频部分则是主要决定了图像的一些细节部分,因此滤除高频部分就代表着图像会变得模糊,这对与图像的处理来说不太友好,所以我们要适当对平滑后的图像进行锐化操作,使得图像的一些边缘部分变得更加清晰,便于我们观察图像的信息。

(2)图像边缘检测

a. 图像边缘

图像的大部分信息都存在于图像的边缘中 ,主要表现为图像局部特征的不连续性,即图像中灰度变化比较剧烈的地方。因此 ,我们把图像的边缘定义为图像中灰度发生急剧变化的区域边界。根据灰度变化的剧烈程度, 通常将边缘划分为阶跃状和屋顶状两种类型。阶跃边缘两边的灰度值变化明显,而屋顶边缘位于灰度值增加与减少的交界处。

b. 边缘检测

边缘检测的目的是去发现图像中关于形状和反射或透射比的信息, 是图像处理、图像分析、模式识别、计算机视觉以及人类视觉的基本步骤之一。 其结果的正确性和可靠性将直接影响到机器视觉系统对客观世界的理解。

本篇文章主要进行 Python 实际操作,不进行一些概念的解释和数学推导,以后有时间专门出一篇特别篇进行概念解释。

1. 一阶微分算算子、二阶微分算子

前面我们提到,图像边缘分为阶跃状和屋顶状两种类型,其中阶跃边缘两边的灰度值变化明显,而屋顶边缘位于灰度值增加与减少的交界处。

那么, 对阶跃边缘和屋顶边缘分别求取一阶、二阶导数就可以表示边缘点的变化。即对于一个阶跃边缘点,其灰度变化曲线的一阶导数在该点达到极大值, 二阶导数在该点与零交叉(一阶导数与二阶导数的意义);对于一个屋顶边缘点,其灰度变化曲线的一阶导数在该点与零交叉(因为该点为一个局部最大值点);二阶导数在该点达到极大值。

2. 读取图像信息

在我们这个计算机视觉的专栏文章里第一步永远是经典的读取图像信息,而且是美女图像信息:

"""
Author:XiaoMa
date:2021/10/29
"""
import cv2
import matplotlib.pyplot as plt
#读取图像信息
img0 = cv2.imread("E:\From Zhihu\For the desk\cvten2.jpg")
img1 = cv2.resize(img0, dsize = None, fx = 0.5, fy = 0.5)
img2 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
cv2.imwrite("E:\From Zhihu\For the desk\cvtenGray.jpg", img2)   #保存灰度图
h, w = img1.shape[:2]
print(h, w)
cv2.namedWindow("W0")
cv2.imshow("W0", img1)
cv2.waitKey(delay = 0)

得到图像信息如下:

395 702

我们接下来要做的就是对图像进行边缘检测

3. Sobel 算子

#Sobel 算子
img3 = cv2.Sobel (img2, cv2.CV_64F, 0, 1, ksize=5)
cv2.namedWindow("W3")
cv2.imshow("W3", img3)
cv2.waitKey(delay = 0)

4. Laplacian 算子

#Laplacian 算子
img7 = cv2.Laplacian(img2, cv2.CV_64F)
cv2.namedWindow("W7")
cv2.imshow("W7", img7)
cv2.waitKey(delay = 0)

5. Scharr 算子

#Scharr 算子
img9 = cv2.Scharr(img2, cv2.CV_64F, 0, 1)
cv2.namedWindow("W9")
cv2.imshow("W9", img9)
cv2.waitKey(delay = 0)

6. Canny 算子

#canny 算子
img4 = cv2.Canny(img2, 100, 200)
cv2.namedWindow("W4")
cv2.imshow("W4", img4)
cv2.waitKey(delay = 0)

7. 总结

这天时间比较紧,这篇博文在介绍图像的锐化以及边缘检测时没有涉及到过多的理论知识以及概念公式等,后面闲下来会加以补充或者专门写一篇总结理论知识的文章,希望能帮到大家。参考论文按照惯例贴在下面。

8. 参考论文

 

Python 计算机视觉(十)—— OpenCV 图像锐化及边缘检测相关推荐

  1. [Python图像处理] 十八.图像锐化与边缘检测之Scharr算子、Canny算子和LOG算子

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  2. 《OpenCv视觉之眼》Python图像处理十 :Opencv图像形态学处理之开运算、闭运算和梯度运算原理及方法

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  3. [Python图像处理] 四十二.Python图像锐化及边缘检测万字详解(Roberts、Prewitt、Sobel、Laplacian、Canny、LOG)

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  4. Python中的图像处理(第十一章)Python图像锐化及边缘检测(1)

    Python中的图像处理(第十一章)Python图像锐化及边缘检测(1) 前言 一. Python准备 二. Python仿真 三. 小结 前言 随着人工智能研究的不断兴起,Python的应用也在不断 ...

  5. OpenCV——图像梯度与边缘检测(python实现)

    OpenCV--图像梯度与边缘检测 6.1 简介 严格的说,梯度计算需要求导数.但是图像梯度的计算,是通过计算像素值的差得到梯度的近似值.图像梯度表示的是图像变化的速度,反映了图像的边缘信息. 边缘是 ...

  6. python灰度图片格式_[Python图像处理] 十五.图像的灰度线性变换

    [Python图像处理] 十五.图像的灰度线性变换 发布时间:2019-03-28 00:08, 浏览次数:619 , 标签: Python 该系列文章是讲解Python OpenCV图像处理知识,前 ...

  7. OpenCV图像锐化/增强

    OpenCV图像锐化/增强 0.综述 1.Laplacian高通滤波算子 2.Laplacian锐化代码实践 3.USM锐化增强算法 4.USM代码实践 0.综述 图像的卷积计算除了可以完成我们前面介 ...

  8. 《OpenCv视觉之眼》Python图像处理六 :Opencv图像傅里叶变换和傅里叶逆变换原理及实现

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  9. 计算机视觉:Opencv图像去畸变

    计算机视觉:Opencv图像去畸变 针孔相机模型图像去畸变 方法一 方法二 区别与联系 鱼眼相机模型图像去畸变 方法一 方法二 区别与联系 参考文献 针孔相机模型图像去畸变 针对畸变参数,k1,k2, ...

最新文章

  1. android开发之Parcelable使用详解
  2. C#和.Ne学习第五天
  3. java redis快速入门_SpringDataRedis快速入门
  4. Effective Java之坚持使用Overide注解(三十六)
  5. MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN
  6. HttpClient 学习整理(转)
  7. 识别图片baidu ai php,PHP+百度AI OCR文字识别实现了图片的文字识别功能
  8. 由二分查找算法学习算法的时间复杂度
  9. 滤波器开发之一:基于算数平均的平滑滤波器
  10. 【栈与队列】剑指offer:两个栈模拟队列
  11. 一起谈.NET技术,asp.net控件开发基础(9)
  12. OCR文字识别,PDF格式转换
  13. [备忘]方正字库中英文对照表
  14. 八大排序算法(原理+代码详解)Python版
  15. CRM客户管理系统(Java)
  16. HttpClient的使用与连接资源释放
  17. QQ邮箱发送验证码(springboot、redis整合)
  18. MATLAB 函数大全
  19. 计算机域名设置方法,windows电脑加入域的设置方法步骤(图文)
  20. 2017中国IP指数盛典:一场IP界的“华山论剑”,你敢赴约吗?

热门文章

  1. php5.2通过saprfc扩展远程连接sap730成功案例
  2. 帆软正则表达式定义规则
  3. 把剪贴板里面的数据放到内表
  4. Jedis干什么用的
  5. 关于PR转PO的注意事项
  6. Data Remove 程序总结
  7. 数字时代企业内部如何高效协作?这款工具值得一试
  8. 00后都选哪些大厂?数据盘点00后入职情况,字节跳动门槛低?
  9. 抢滩“体验经济”,“真快乐”布局娱乐化零售的野心
  10. 快捷键截屏_QQ的Ctrl+Alt+A快捷键除了截屏,竟然还有这么多好用的功能!