首页 » 网站建设 » php图像锐化imagedestroy技巧_python opencv计算机视觉零根本到实战 九模糊

php图像锐化imagedestroy技巧_python opencv计算机视觉零根本到实战 九模糊

访客 2024-11-04 0

扫一扫用手机浏览

文章目录 [+]

「python opencv视觉入门到实战」二、格式与摄像头

「python opencv 视觉入门到实战」 三、图像编辑

php图像锐化imagedestroy技巧_python opencv计算机视觉零根本到实战 九模糊

「python opencv视觉入门到实战」 第四节色彩空间

php图像锐化imagedestroy技巧_python opencv计算机视觉零根本到实战 九模糊
(图片来自网络侵删)

「python opencv视觉入门到实战」 五、工具追踪

「python opencv视觉零根本到实战」 六、图像运算

「python opencv视觉零根本实战」 七逻辑运算运用

「python opencv视觉零到实战」 八、图片选区操作

如有缺点欢迎指出~

二、理解模糊的运用2.1 理解卷积是什么

在本节中,卷积我们不过多的进行深入讲解,我本人对卷积也只是稍有理解,不敢过多的编写太深的内容。
在OpenCV中的模糊操作中,模糊须要用到卷积,在此引入贾志刚老师对付OpenCV的基本卷积的讲解。
以下是一个基本卷积的图示,第一列是一维数组中每一个位置的值。
个中111我们称为卷积核。
通过卷积核与一维数组进行打算终极将会得到蓝最下面的蓝色方块内的值。
第一位我们照着写下,蓝色区域为1,蓝色方块内的第二个值为2,是如何得到的呢?很大略,用卷积核的每一个数乘上淡青蓝色的内容,那便是11,21,15,随后将它们进行相加,除以卷积核的步长,也便是3。
这时就可以写成(1
1+21+15)/3即是2,余数为2,我们只取整数部分。
之后的打算也是如此,包括二维的数据进行打算也是根据一维的打算事理同等。

2.2 均值模糊

在OpenCV中均值模糊利用blur函数,blur函数一样平常利用可以吸收2个参数,一个是src为输入的图像,一个是ksize为卷积核大小;卷积核大小可以给予一个矩阵,如上图所述的111是1行3列的卷积核,那么就可以写为(1,3)。
模糊都可以去进行去噪操作,不同的模糊对付不同的噪点有不同的效果。
均值模糊一样平常可以用在随机噪点的图片中,可以很好的去除噪点。

首先我们引入一张图片:

import cv2img = cv2.imread(r"C:\Users\Administrator\Desktop\2.jpg")cv2.imshow("img", img)

随后利用blur均值模糊函数对图片进行降噪:

blur_img=cv2.blur(img,(2,24))#图片去噪

blur函数第一个参数是img,为我们即将要处理的图片,第二个参数是(2,24),表示创建一个2行24列的卷积核进行卷积。
末了显示图片并且进行等待,完全代码如下:

import cv2img = cv2.imread(r"C:\Users\Administrator\Desktop\3.jpg")cv2.imshow("img", img)blur_img=cv2.blur(img,(2,24))#图片去噪cv2.imshow("blur_img", blur_img)cv2.waitKey (0)#等待关闭cv2.destroyAllWindows()#destroy

我们可以从图片中看到,原图是存在一定的噪点,但是进行均值模糊后会变淡很多,但是图片会有一定模糊。

2.3 中值模糊

中值模糊利用medianBlur函数,medianBlur一样平常吸收2个参数,一个是待处理的图片,还有一个是核的大小,规定为大于1的奇数,例如3、5、7…现在我有一张有椒盐噪点的图片:

中值模糊对付该类型的图片进行降噪效果十分显著。
由于大多数代码已经讲解过,在此不再赘述,直接贴上代码:

import cv2img = cv2.imread(r"C:\Users\Administrator\Desktop\2.jpg")cv2.imshow("img", img)median_blur_img=cv2.medianBlur(img,5)cv2.imshow("median_blur_img", median_blur_img)cv2.waitKey (0)#等待关闭cv2.destroyAllWindows()#destroy

以上代码中利用了medianBlur中值模糊方法,传入了照片,并且给予了核大小值5,该值越大,则越模糊。
结果如下:

2.4 锐化

在OpenCV中我们可以自定义内核对图像进行卷积,内核也有几种不同标准的内容,可以给图像进行卷积后达到一些指定的效果。
自定义对内核进行卷积利用filter2D函数。
函数原型如下:

cv.filter2D(src, ddepth, kernel)

src为待处理的图像;ddepth一样平常利用为-1,表示与原图像具有相同的深度;kernel为卷积核,为单通道浮点矩阵;由于我们进行初步利用直策应用一样平常的卷积核,这个时候直接传入固天命据即可,以是再次并不进行深度解释。

进行锐化的卷积核为:

kernel=np.array([[0,-1,0],[-1,5,-1],[0,-1,0]],np.float32)

传入至filter2D函数则为:

cv2.filter2D(blur_img, -1, kernel)

现在我们将一个受到均值模糊的图片利用filter2D函数进行锐化处理,完全代码如下:

import cv2import numpy as npimg = cv2.imread(r"C:\Users\Administrator\Desktop\4.jpg")cv2.imshow("img", img)blur_img=cv2.blur(img,(1,6))#图片去噪cv2.imshow("blur_img", blur_img)kernel=np.array([[0,-1,0],[-1,5,-1],[0,-1,0]],np.float32)dst = cv2.filter2D(blur_img, -1, kernel)cv2.imshow("dst", dst)cv2.waitKey (0)#等待关闭cv2.destroyAllWindows()#destroy

以上代码中blur_img,是均值模糊后的图片,我们将blur_img传入值filter2D函数中利用指定的卷积核进行锐化,末了得到dst图像数据。
结果如下:均值模糊:

锐化处理:

从图片的结果可以看出,进行均值模糊后,再进行锐化,该图片的编译将得到加深。

2.4 浮雕

矩阵:

kernel=np.array([[-2,-1,0],[-1,1,1],[0,1,2]],np.float32)

有点鬼畜,不要笑。

2.5 大纲

矩阵:

kernel=np.array([[-1,-1,-1],[-1,8,-1],[-1,-1,-1]],np.float32)

2.6 拉普拉斯算子

矩阵:

kernel=np.array([[0,1,0],[1,-4,1],[0,1,0]],np.float32)

2.7 分身原图

矩阵:

kernel=np.array([[0,0,0],[0,1,0],[0,0,0]],np.float32)

本系列文章首发于ebaina

三、总结理解了卷积卷积的运算办法理解多种模糊的利用方法理解了中值模糊对付椒盐噪点有很好的去噪效果
标签:

相关文章

介绍代码00f,解码未来科技的钥匙

随着科技的飞速发展,代码已经成为了现代社会不可或缺的一部分。作为一种信息交流的工具,代码在各个领域发挥着重要作用。今天,我们将揭开...

网站建设 2024-12-23 阅读0 评论0

SD协议30,数字时代下的创新与挑战

随着数字经济的蓬勃发展,数据安全已成为全球关注的焦点。在此背景下,SD协议30(Secure Data Protocol 30)应...

网站建设 2024-12-23 阅读0 评论0

介绍代码机密性,守护数字时代的秘密花园

随着信息技术的飞速发展,数字时代已悄然降临。在这个时代,代码成为了一种新的语言,它承载着无数企业的核心秘密,也成为了黑客攻击的主要...

网站建设 2024-12-23 阅读0 评论0

SAC主协议,引领金融科技新时代的里程碑

随着金融科技的飞速发展,区块链技术逐渐成为金融领域的一大热点。SAC主协议作为一种新型区块链协议,以其卓越的性能和广泛的适用性,引...

网站建设 2024-12-23 阅读0 评论0

S360搜索,探索网络世界的便捷之路

随着互联网技术的飞速发展,网络已经渗透到我们生活的方方面面。在这样一个信息爆炸的时代,如何快速、准确地找到自己所需的信息,成为了人...

网站建设 2024-12-23 阅读0 评论0