ToB企服应用市场:ToB评测及商务社交产业平台
标题:
【Python】【OpenCV】傅里叶变换
[打印本页]
作者:
十念
时间:
2024-1-16 07:02
标题:
【Python】【OpenCV】傅里叶变换
之前的随笔中使用了C++来编写算法底层逻辑,这次我们直接使用OpenCV和Numpy和Scipy所提供的方法直接调用实现
1 import cv2
2 import numpy
3 from scipy import ndimage
4
5 kernel_3 = numpy.array([
6 [-1, -1, -1],
7 [-1, 8, -1],
8 [-1, -1, -1]
9 ])
10
11 kernel_5 = numpy.array([
12 [-1, -1, -1, -1, -1],
13 [-1, 1, 2, 1, -1],
14 [-1, 2, 4, 2, -1],
15 [-1, 1, 2, 1, -1],
16 [-1, -1, -1, -1, -1]
17 ])
18
19 img = cv2.imread('Pic.webp', 0)
20 k3 = ndimage.convolve(img, kernel_3)
21 k5 = ndimage.convolve(img, kernel_5)
22 blurred = cv2.GaussianBlur(img, (17, 17), 0)
23 hpf = img - blurred
24
25 cv2.imshow('IMG', img)
26 cv2.imshow('K3', k3)
27 cv2.imshow('hpf', hpf)
28
29 cv2.waitKey()
30 cv2.destroyAllWindows()
复制代码
随机在网上搜索灰度图然后Down下来保存名字为Pic即可。
19 Line中的 cv2.imread()中的第二个参数很重要,有三种模式,RGB,Gray scale,NoChange,具体请自行搜索。我们需要选择Gray scale即数字0就可以表示了。
至于convolve方法其实可以自己实现,具体参照之前的【图像处理】随笔。
23 Line中的减法作用,bulrred变量被经过高斯低通滤波处理的img赋值,而numpy数组是可以直接进行加减法运算的,此时得到的 hpf 变量就是原图锐化的结果。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4