首页 > 编程语言 >【Python】【OpenCV】傅里叶变换

【Python】【OpenCV】傅里叶变换

时间:2023-11-28 22:14:02浏览次数:35  
标签:kernel img Python numpy cv2 OpenCV import 傅里叶 hpf

之前的随笔中使用了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 变量就是原图锐化的结果。

标签:kernel,img,Python,numpy,cv2,OpenCV,import,傅里叶,hpf
From: https://www.cnblogs.com/vangoghpeng/p/17863202.html

相关文章

  • 聪明办法学Python_task3_11.27-11.28
    聪明办法学Python_task3_11.27-11.28聪明办法学Python_task3_11.27-11.281.task05条件1.1if-else语句1.2if-else推导式1.3match-case语句2.talk01代码风格1.task05条件1.1if-else语句分为if、if-else、if-elif-elseif条件1:语句1elif条件2:......
  • 聪明办法学Python Task05&选学01
    条件CONDITIONALSif语句语法为:if条件:选择执行的语句#要有缩进,一般为四个空格“如果”条件为True,就会去执行接下来的内容。“如果”条件为False,就跳过。*注意:*1.条件后面有冒号​2.if内部的语句需要有一个统一的*缩进*,一般为四个空格,特别注......
  • python基础_05_python基础【1】
    【一】注释语法【1】什么是注释注释就是就是对代码的解释说明,注释的内容不会被当作代码运行【2】为什么要注释增强代码的可读性【3】如何使用注释代码注释分单行和多行注释1、单行注释用#号,可以跟在代码的正上方或者正后方#这是一段通过“#+注释内容”创造的......
  • 【聪明办法学Python条件与判断】
    【聪明办法学Python条件与判断】if语句if-else推导式是Python中一种简洁而强大的语法,用于创建新的序列(如列表、集合、字典)的一种方法。Python中有三种主要的推导式:列表推导式、集合推导式和字典推导式。列表推导式:A=[list(map(int,input().split()))foriinrange(n)......
  • Python数据文件的读取——Pandas库的使用
    Pandas是一个强大的数据分析库,它提供了一个名为DataFrame的数据结构,类似于R中的data.frame。DataFrame是一个二维的、标签化的数据结构,可以包含不同数据类型的列。它提供了许多方便的功能,如数据选择、过滤、合并、排序等,使得数据分析和处理变得更加容易。Pandas的DataFra......
  • 使用cursor编写python脚本
    环境python3.7pycharmcursor需要安装pandas库python基本常用语法注释#后面写的是注释#单行注释变量python是一种弱类型的语言,一个变量得到类型可以变化变量名区分大小写#创建数据n1=1#整数n2=1.2#浮点数#字符串是用单引号括起来的,还可以用双引......
  • python基础之基本运算符
    参考网站​ 参考网站(菜鸟教程):https://www.runoob.com/python/python-operators.html算术运算符以下假设变量a=10,变量b=21:运算符描述实例+加-两个对象相加a+b输出结果31-减-得到负数或是一个数减去另一个数a-b输出结果-11*乘-两个数相乘......
  • 聪明学python【4】+【001】
    【4】条件+【001】代码风格if语句关于选择的语句,具体不必阐述,和C语言大差不差,关于几点区别会在下方列出关于所有选择:ifif-elseif-else推导式推导式(Comprehensions)是Python中一种简洁而强大的语法,用于创建新的序列(如列表、集合、字典)的一种方法。Python中......
  • python基础之数据类型
    数据类型(重要)什么是数据类型? 视频文件音频文件表格文件图片等等这些都是保存数据的方式#在IT领域也有各种各样的保存数据的方式数据类型的种类?-数字类型-整数类型(int)-浮点类型(float)-字符串类型(str)-列表类型(list)-字典类型(dict)-布尔类型(......
  • python基础之变量与常量
    注释语法#学语言先学注释,注释是代码之母!1.什么是注释? 注释就是对一段代码的解释,它不参与代码的实际运行,起到提示作用.2.如何使用注释? 方式一: 警号#单行注释""" 还可以借助于快捷键 code reformatcode ctrl+......