目录
图片链接
跟着峰哥学计算机视觉所有需要用到的图片-深度学习文档类资源-优快云下载
概念
什么是梯度运算

模板运算
是梯度相关的运算

锐化
加强像素与像素之间的差异
降噪(模糊)
减弱像素与像素之间的差异
均值滤波

高斯滤波

中值滤波
边沿检测

边沿检测效果

锐化


代码
图像模糊化处理
# 图像模糊化处理
import cv2
import numpy as np
# 中值滤波
im = cv2.imread("../data/lena.jpg", 0)
cv2.imshow("im",im)
cv2.waitKey()
cv2.destroyAllWindows()

显示图像
# 图像模糊化处理
import cv2
import numpy as np
im = cv2.imread("../data/lena.jpg", 0)
cv2.imshow("im", im)
# 中值滤波
im_median_blur = cv2.medianBlur(im,
5) # 滤波器的大小
cv2.imshow("im_median_blur ", im_median_blur)
cv2.waitKey()
cv2.destroyAllWindows()

中值滤波
# 图像模糊化处理
import cv2
import numpy as np
im = cv2.imread("../data/lena.jpg", 0)
cv2.imshow("im", im)
# 中值滤波
im_median_blur = cv2.medianBlur(im,
5) # 滤波器的大小
cv2.imshow("im_median_blur ", im_median_blur)
#均值滤波
im_mean_blur = cv2.blur(im,(3,3))
cv2.imshow("im_mean_blur",im_mean_blur)
cv2.waitKey()
cv2.destroyAllWindows()

高斯滤波
# 图像模糊化处理
import cv2
import numpy as np
im = cv2.imread("../data/lena.jpg", 0)
cv2.imshow("im", im)
# 中值滤波
im_median_blur = cv2.medianBlur(im,
5) # 滤波器的大小
cv2.imshow("im_median_blur ", im_median_blur)
# 均值滤波
im_mean_blur = cv2.blur(im, (3, 3))
cv2.imshow("im_mean_blur", im_mean_blur)
# 高斯滤波
im_guess_blur = cv2.GaussianBlur(im, # 原始图像
(5, 5), # 滤波器大小
3) # 高斯滤波和它的标准差
cv2.imshow("im_guess_blur ", im_guess_blur)
cv2.waitKey()
cv2.destroyAllWindows()

自定义高斯核
# 图像模糊化处理
import cv2
import numpy as np
im = cv2.imread("../data/lena.jpg", 0)
cv2.imshow("im", im)
# 自定义高斯核执行滤波计算(这个滤波器,中间大边缘小)
gaussian_blur = np.array([
[1, 4, 7, 4, 1],
[4, 16, 26, 16, 4],
[7, 26, 41, 26, 7],
[1, 4, 7, 4, 1]], np.float32) / 273
# 使用滤波器filter2D执行滤波计算
im_guassian_blur2 = cv2.filter2D(im, # 原始图像
-1, # 目标图像深度,-1表示和原图像相同
gaussian_blur) # 滤波器
cv2.imshow("im_guess_blur2", im_guassian_blur2)
cv2.waitKey()
cv2.destroyAllWindows()

图像的锐化
锐化算子1
import cv2
import numpy as np
im = cv2.imread("../data/lena.jpg", 0)
cv2.imshow("im", im)
# 锐化算子1
sharpen_1 = np.array([[-1, -1, -1],
[-1, 9, -1],
[-1, -1, -1]])
im_sharpen1 = cv2.filter2D(im, -1, sharpen_1)
cv2.imshow("im_sharpen1", im_sharpen1)
cv2.waitKey()
cv2.destroyAllWindows()

锐化算子2
import cv2
import numpy as np
im = cv2.imread("../data/lena.jpg", 0)
cv2.imshow("im", im)
# 锐化算子2
sharpen_2 = np.array([[0, -1, 0],
[-1, 8, -1],
[0, 1, 0]])/4.0
im_sharpen2 = cv2.filter2D(im, -1, sharpen_2)
cv2.imshow("im_sharpen2", im_sharpen2)
cv2.waitKey()
cv2.destroyAllWindows()

本文介绍了多种图像处理技术,包括梯度运算、锐化、降噪、边沿检测等,并通过具体的Python代码实现这些技术,如中值滤波、高斯滤波及自定义滤波器的应用。

1206

被折叠的 条评论
为什么被折叠?



