提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
模糊处理
模糊分为均值模糊,中值模糊,高斯模糊,其中中值模糊和高斯模糊可以对图片进行降噪处理,高斯模糊处理的更加好一点。
提示:以下是本篇文章正文内容,下面案例可供参考
一、均值模糊
import cv2 as cv
import numpy as np
def blur_demo(image):
dst = cv.blur(image,(5,5)) # 前面代表竖直方向后面代表代表水平方向 均值模糊
cv.imshow("blur_demo",dst)
src=cv.imread("D:\\123qwe.png")
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
cv.imshow("input image",src)
blur_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()
以上就是均值模糊的代码。https://blog.csdn.net/Vici__/article/details/102476784
二、中值模糊
代码如下(示例):
import cv2 as cv
import numpy as np
def median_blur_demo(image):
dst = cv.medianBlur(image, 5) #中值模糊,可以对图片进行降噪
cv.imshow("dedian_blur_demo",dst)
src=cv.imread("D:\\123qwe.png")
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
cv.imshow("input image",src)
median_blur_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()
以上就是中值模糊的代码。https://blog.csdn.net/Vici__/article/details/102476784
三、自定义模糊
代码如下(示例):
import cv2 as cv
import numpy as np
def custom_blur_demo(image):
kernel = np.ones([5,5],np.float32)/25
dst = cv.filter2D(image, -1, kernel=kernel) # 自定义一个(5,5)
cv.imshow("dedian_blur_demo",dst)
src=cv.imread("D:\\123qwe.png")
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
cv.imshow("input image",src)
custom_blur_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()
以上就是自定义模糊的代码。https://blog.csdn.net/Vici__/article/details/102476784
四、高斯模糊及添加高斯噪音
代码如下(示例):
import cv2 as cv
import numpy as np
def clamp(pv):
if pv > 255:
return 255
if pv < 0:
return 0
else:
return pv
def guassian_noise(image):
h,w,c = image.shape
for row in range(h):
for col in range(w):
s = np.random.normal(0,20,3)
b = image[row, col, 0] # blue
g = image[row, col, 1] # green #给图片添加高斯噪音
r = image[row, col, 2] # red
image[row, col, 0] = clamp(b + s[0])
image[row, col, 1] = clamp(g + s[1])
image[row, col, 2] = clamp(r + s[2])
cv.imshow("nosize iamge",image)
src=cv.imread("D:\\123qwe.png")
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
cv.imshow("input image",src)
dst = cv.GaussianBlur(src,(5, 5), 15) #高斯模糊结果 先给图片加高斯噪音对高斯模糊没有影响 5,5的高斯模糊
cv.imshow("Gaussian Blur",dst)
guassian_noise(src)
cv.waitKey(0)
cv.destroyAllWindows()
以上就是高斯模糊的代码。https://blog.csdn.net/Vici__/article/details/102476784
总结
提示:以上就是Python opencv 的模糊操作和代码,在实现结果的时候会先安装库。如果Pycharma安装失败的话,就用Anaconda的命令行来进行安装。