pythonopencv自定义阈值算法(理想高通滤波实现Python opencv示例)
类别:脚本大全 浏览量:2297
时间:2022-04-01 01:02:06 pythonopencv自定义阈值算法
理想高通滤波实现Python opencv示例理想高通滤波实现 python opencv
|
import numpy as np import cv2 from matplotlib import pyplot as plt plt.rcparams[‘font.sans - serif ']=[‘simhei' ] plt.rcparams[‘axes.unicode_minus'] = false i = cv2.imread(‘capture3.jpg" alt="pythonopencv自定义阈值算法(理想高通滤波实现Python opencv示例)" border="0" /> cv2.imshow(‘original',i) (r,g,b) = cv2.split(i) i = cv2.merge([b,g,r]) j = np.double(cv2.cvtcolor(i,cv2.color_rgb2gray)) d1 = 30 d2 = 60 d3 = 160 fuv = np.fft.fftshift(np.fft.fft2(j)) print (‘fuv',fuv) print (i.shape) m,n = i.shape[ 0 ],i.shape[ 1 ] xo = np.floor(m / 2 ) yo = np.floor(n / 2 ) h1 = np.zeros((m,n)) h2 = np.zeros((m,n)) h3 = np.zeros((m,n)) for i in range (m): for j in range (n): d = np.sqrt((i - xo) * * 2 + (j - yo) * * 2 ) if d> = d1: h1[i,j] = 1 else : h1[i,j] = 0 if d> = d2: h2[i,j] = 1 else : h2[i,j] = 0 if d> = d3: h3[i,j] = 1 else : h3[i,j] = 0 guv1 = h1 * fuv guv2 = h2 * fuv guv3 = h3 * fuv g1 = np.fft.ifftshift(guv1) g1 = np.uint8(np.real(np.fft.ifft2(g1))) print (‘g1',g1) g2 = np.fft.ifftshift(guv2) g2 = np.uint8(np.real(np.fft.ifft2(g2))) print (‘g2',g2) g3 = np.fft.ifftshift(guv3) g3 = np.uint8(np.real(np.fft.ifft2(g3))) print (‘g3',g3) plt.subplot( 2 , 2 , 1 ),plt.imshow(i),plt.title(‘原图像') plt.subplot( 2 , 2 , 2 ),plt.imshow(g1),plt.title(‘d0 = 30 ') plt.subplot( 2 , 2 , 3 ),plt.imshow(g2),plt.title(‘d0 = 60 ') plt.subplot( 2 , 2 , 4 ),plt.imshow(g3),plt.title(‘d0 = 160 ') plt.show() |
效果:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对开心学习网的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/qq_34725005/article/details/82695309
您可能感兴趣
- python比较两文件内容(Python判断两个文件是否相同与两个文本进行相同项筛选的方法)
- python弹球游戏编写过程(python实现坦克大战游戏 附详细注释)
- python socket 设置通信协议(详解python中TCP协议中的粘包问题)
- 用python编写一个gui(用 Python 构建漂亮的 GUI)
- python冒泡排序代码通俗理解(详解python算法之冒泡排序)
- python在dataframe添加数据(使用Python向DataFrame中指定位置添加一列或多列的方法)
- 微信昵称python(Python 微信之获取好友昵称并制作wordcloud的实例)
- python爬虫怎么爬取vip资源(Python网络爬虫之爬取微博热搜)
- python生成文本文件(python+os根据文件名自动生成文本)
- python自己做个定时器(对python周期性定时器的示例详解)
- pythonyield使用场景(Yii框架核心组件类实例详解)
- pythonprint什么意思啊(Python中print和return的作用及区别解析)
- python调用支付宝支付接口(python实现支付宝转账接口)
- python基础编程函数参数(详解Python 函数如何重载?)
- python发送微信消息脚本(python实现给微信指定好友定时发送消息)
- python的静态方法和类方法(深入解析python中的实例方法、类方法和静态方法)
- 全球科技界最有钱大佬TOP 15 你知道几位(全球科技界最有钱大佬TOP)
- 2主力后腰缺阵 泰山队奇兵有望获重用,赛季0出场,迎来中超首秀(泰山队奇兵有望获重用)
- 三分71 生死战爆发 篮网旧将丁威迪今天成奇兵,助队赢球(三分71生死战爆发)
- 《红 雄安》系列广播剧第一集 水上奇兵雁翎队(雄安系列广播剧第一集)
- 小说 小伙穿越成刘备,用现代知识指挥作战,众谋士都看呆了(小伙穿越成刘备)
- 解析葡萄牙6-1瑞士 进攻多点开花,贡萨洛-拉莫斯一战成名(解析葡萄牙6-1瑞士)
热门推荐
- line-height 百分比与数值的区别
- thinkphp5表单系统(thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例)
- mysql用户删除了如何设置(MySQL两种删除用户语句的区别delete user和drop user)
- css各种引用方法(CSS中的四种引用方式)
- sqlserver新建表参数错误(Sql Server中判断表、列不存在则创建的方法)
- python3循环使用教程(Python3.4学习笔记之 idle 清屏扩展插件用法分析)
- yield方法可以使一个线程停止运行(Yii2.0框架模型添加/修改/删除数据操作示例)
- canvas时钟代码(canvas实现烟花的示例代码)
- mysql大量数据怎么处理(MySQL删除和插入数据很慢的问题解决)
- 前端app开发适配消息栏(AmazeUI 导航条的实现示例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9