当前位置: 首页 > news >正文

邵阳网站设计东营网站建设价钱表

邵阳网站设计,东营网站建设价钱表,九度互联网站制作效果,湖北网站注册设计公司使用傅里叶变换进行图像边缘检测 今天我们介绍通过傅里叶变换求得图像的边缘 什么是傅立叶变换#xff1f; 简单来说#xff0c;傅里叶变换是将输入的信号分解成指定样式的构造块。例如#xff0c;首先通过叠加具有不同频率的两个或更多个正弦函数而生成信号f#xff08;x…使用傅里叶变换进行图像边缘检测 今天我们介绍通过傅里叶变换求得图像的边缘 什么是傅立叶变换 简单来说傅里叶变换是将输入的信号分解成指定样式的构造块。例如首先通过叠加具有不同频率的两个或更多个正弦函数而生成信号fx之后仅查看fx的图像缺无法了解使用哪种或多少原始函数来生成fx。 这就是傅立叶变换最神奇的地方。将fx函数通过一个傅立叶变换器我们就可以得到一个新的函数Fx。Fx的是最初生成fx函数的频率图。因此通过查看Fx我们就可以得到用于生成fx函数的原始频率。实际上傅立叶变换可以揭示信号的重要特征即其频率分量。 例如下图该图中有fx函数合成时的两个不同频率的原函数和对应的傅里叶变换结果Fx。 生成该图片的代码如下 Fs 150.0; 采样率 Ts 1.0 / Fs; 采样间隔 t np.arange0,1Ts时间向量 ff1 5; 信号频率1 ff2 10; 信号2的频率 y np.sin2 * np.pi * ff1 * t np.sin3 * np.pi * ff2 * t从图中可以看出由于原始函数是由两个不同频率的输入函数组成的因此经过傅立叶变换后的相应频率图显示了两个不同频率的尖峰。 这是对傅立叶变换的比较简单的解释。它是一个非常复杂但非常有用的功能在数学物理和计算机视觉中得到了广泛的应用。 图像处理中的傅立叶变换 现在我们知道了傅里叶变换对信号处理的作用。它将输入信号从时域转换到频域。 但是它在图像处理中有什么用它将输入图像从空间域转换为频域。换句话说如果要在进行傅立叶变换后绘制图像我们将看到的只是高频和低频的频谱图。高频偏向图像中心而低频偏向周围。具体形式如下图所示。 上面对图像进行傅里叶变换的结果可以通过如下代码实现 import numpy as np import cv2 from matplotlib import pyplot as plt img cv2.imread(scenery.jpg, 0) dft cv2.dft(np.float32(img), flagscv2.DFT_COMPLEX_OUTPUT) dft_shift np.fft.fftshift(dft) magnitude_spectrum 20 * np.log(cv2.magnitude(dft_shift[:, :, 0], dft_shift[:, :, 1])) plt.subplot(2, 2, 1), plt.imshow(img, cmapgray) plt.title(Input Image), plt.xticks([]), plt.yticks([]) plt.subplot(2, 2, 2), plt.imshow(magnitude_spectrum, cmapgray) plt.title(After FFT), plt.xticks([]), plt.yticks([])现在我们可以对图像进行FFT快速傅里叶变换变换了并且可以使用转换后的结果进行多种操作 边缘检测—使用高通滤波器或带通滤波器 降噪—使用低通滤波器 图像模糊-使用低通滤镜 特征提取在某些情况下-过滤器和其他一些openCV工具的混合搭配 HPF滤波器 如前所述在经过FFT变换的图像中在中心处发现低频而在周围散布了高频我们可以创建一个掩码数组该掩码数组的中心是一个圆其余全部为零。当将此掩码数组作用于原始图像时所得图像将仅具有低频。由于高频对应于空间域中的边缘这样就可以实现图像中的边缘检测。这个掩码数组就时HPF滤波器。 我们可以通过如下代码生成HPF滤波器 mask np.ones((rows, cols, 2), np.uint8) r 80 center [crow, ccol] x, y np.ogrid[:rows, :cols] mask_area (x - center[0]) ** 2 (y - center[1]) ** 2 r*r尽管可以选择使用多种类型的过滤器但是主要使用三种类型的过滤器 高通滤波器HPF 低通滤波器LPF 带通滤波器BPF 使用openCV和NumPy的高通滤波器进行边缘检测 在计算机视觉领域中检测图像边缘非常有用。一旦我们可以提取图像中的边缘就可以将该知识用于特征提取或模式检测。 图像中的边缘通常由高频组成。因此在对图像进行FFT快速傅立叶变换后我们需要对FFT变换后的图像应用高通滤波器。该滤波器会阻止所有低频仅允许高频通过。最后我们对经过了滤波器的图像进行逆FFT就会得到原始图像中一些明显的边缘特征。 接下来我们使用汽车的图像进行此实验这个过程的代码如下所示 rows, cols img.shape crow, ccol int(rows / 2), int(cols / 2) # center # Circular HPF mask, center circle is 0, remaining all ones mask np.ones((rows, cols, 2), np.uint8) r 80 center [crow, ccol] x, y np.ogrid[:rows, :cols] mask_area (x - center[0]) ** 2 (y - center[1]) ** 2 r*r # apply mask and inverse DFT fshift dft_shift * mask fshift_mask_mag 2000 * np.log(cv2.magnitude(fshift[:, :, 0], fshift[:, :, 1])) f_ishift np.fft.ifftshift(fshift) img_back cv2.idft(f_ishift) img_back cv2.magnitude(img_back[:, :, 0], img_back[:, :, 1]) plt.subplot(2, 2, 1), plt.imshow(img, cmapgray) plt.title(Input Image), plt.xticks([]), plt.yticks([]) plt.subplot(2, 2, 2), plt.imshow(magnitude_spectrum, cmapgray) plt.title(After FFT), plt.xticks([]), plt.yticks([]) plt.subplot(2, 2, 3), plt.imshow(fshift_mask_mag, cmapgray) plt.title(FFT Mask), plt.xticks([]), plt.yticks([]) plt.subplot(2, 2, 4), plt.imshow(img_back, cmapgray) plt.title(After FFT Inverse), plt.xticks([]), plt.yticks([]) plt.show()程序运行结果如下图所示 可以看出高通滤波器阻止了所有的低频信号并且仅允许高频通过。由于边缘通常是由高频信号构成的因此可以在最后的图像中找到原图像的边缘信息。 如果对傅里叶变换感兴趣可以观看如下两个视频 https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw https://www.youtube.com/watch?time_continue1vr18Gi8lSkfM
http://www.hkea.cn/news/14582930/

相关文章:

  • 洛阳建设工程网站网站建设参考文献
  • 二手物品交换网站建设哪些平台可以做推广
  • seo按天计费软件业务型网站做seo
  • 快速设计一个网站网站编辑楼盘详情页怎么做
  • android做网站中美关系最新消息2021
  • 做服装搭配图的网站有哪些做自己的网站后台
  • 网站美工要求网站建设找汉狮
  • 上海网网站建设如何做自助网站
  • 网站建设介绍语北京公司注册哪个园区免费
  • 网站的技术解决方案帮人建网站价格赚钱吗
  • 网站运营繁忙鞍山网站建设
  • 求一个手机能看的网站企业网站建设流程与方法 论文
  • 产品网站 模板陕西西安网站建设公司排名
  • 昆山做网站的个人wordpress文章列表主题
  • 企业微信网站开发查域名解析
  • 网站出现wordpress苏州seo报价
  • 网站建设实训致谢语静海集团网站建设
  • 做网站公司赚钱吗网络营销企业有哪些公司
  • 微信营销工具山西网络营销推广seo
  • 淘客网站开发教程网站建设如何定价
  • 潍坊市安丘网站建设上海企业网站建设报价
  • 查邮箱注册的网站模板建站公司
  • discuz仿搜索网站wordpress 大型网站
  • 做任务佣金的网站app开发公司怎么找到需要定制的客户
  • 成都市建设领域网站咨询电话做网站和做系统的区别
  • 网站案例模板山西省建设厅勘察设计协会网站
  • 做网站需要注册吗wordpress 前端注册
  • 广东英德网站建设新网域名解析
  • 网站活动推广方案标准型网站建设
  • 网站怎么做前台跟后台的接口株洲网络学院