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

网站内容建设营销策划咨询机构

网站内容建设,营销策划咨询机构,建设明星网站的目的,seo如何快速排名百度首页1、傅里叶变换a、傅里叶变换原理时域分析:以时间为参照进行分析。频域分析:相当于上帝视角一样,看事物层次更高,时域的运动在频域来看就是静止的。eg:投球——时域分析:第1分钟投了3分,第2分钟投…

1、傅里叶变换

a、傅里叶变换原理

时域分析:以时间为参照进行分析。

频域分析:相当于上帝视角一样,看事物层次更高,时域的运动在频域来看就是静止的。

eg:投球——时域分析:第1分钟投了3分,第2分钟投了2分,第3分钟投了1分......第n分钟投了2分。

频域分析:每隔一分钟投一个3分球,每隔一分钟投一个2分球。

关于傅里叶变换详细描述可以参考知乎上的这篇文章:

文章链接:https://zhuanlan.zhihu.com/p/19763358

傅里叶变换的作用: 低频——变化缓慢的灰度分量

高频——变化剧烈的灰度分量

滤波: 低通滤波器——只保留低频,会使得图像模糊

高通滤波器——只保留高频,会使得图像细节增强

频域转换代码:

import cv2
import numpy as np
import matplotlib.pyplot as plt
img=cv2.imread("lena.jpg",0)
img_float32=np.float32(img)
dft=cv2.dft(img_float32,flags=cv2.DFT_COMPLEX_OUTPUT)#图像转为频域,输入图像需要先转化为float32格式
dft_shift=np.fft.fftshift(dft)
#得到灰度图表现的形式
magnitude_spectrum=20*np.log(cv2.magnitude(dft_shift[:,:,0],dft_shift[:,:,1])
plt.subplot(121)
plt.imshow(img,cmap='gray')
plt.title("input image")
plt.xticks([])
plt.yticks([])
plt.subplot(122)
plt.imshow(magnitude_spectrum,cmap='gray')
plt.title("magnitude spectrum")
plt.xticks()
plt.yticks()
plt.show()

b、低通与高通滤波

低通滤波代码:

import cv2
import numpy as np
import matplotlib.pyplot as plt
img=cv2.imread("lena.jpg",0)
img_float32=np.float32(img)
dft=cv2.dft(img_float32,flags=cv2.DFT_COMPLEX_OUTPUT)
dft_shift=np.fft.fftshift(dft)
rows,cols=img.shape
crow,ccol=int(rows/2),int(cols/2) #中心位置
mask=np.zeros((rows,cols,2),np.uint8)#创建掩膜,进行低通滤波
mask[crow-30:crow+30,ccol-30:ccol+30]=1
fshift=dshift*mask
f_isift=np.fft.fftshift(fshift)
img_back=cv2.idft(f_ishift)#将图像转回去,和dft为互逆运算
img_back=cv2.magnitude(img_back[:,:,0],img_back[:,:,1])
plt.subplot(121)
plt.imshow(img,cmap='gray')
plt.title("input image")
plt.xticks([])
plt.yticks([])
plt.subplot(122)
plt.imshow(img_back,cmap='gray')
plt.title("result1")
plt.xticks()
plt.yticks()
plt.show()

高通滤波代码:

import cv2
import numpy as np
import matplotlib.pyplot as plt
img=cv2.imread("lena.jpg",0)
img_float32=np.float32(img)
dft=cv2.dft(img_float32,flags=cv2.DFT_COMPLEX_OUTPUT)
dft_shift=np.fft.fftshift(dft)
rows,cols=img.shape
crow,ccol=int(rows/2),int(cols/2) #中心位置
mask=np.ones((rows,cols,2),np.uint8)#创建掩膜,进行低通滤波
mask[crow-30:crow+30,ccol-30:ccol+30]=0
fshift=dshift*mask
f_isift=np.fft.fftshift(fshift)
img_back=cv2.idft(f_ishift)#将图像转回去,和dft为互逆运算
img_back=cv2.magnitude(img_back[:,:,0],img_back[:,:,1])
plt.subplot(121)
plt.imshow(img,cmap='gray')
plt.title("input image")
plt.xticks([])
plt.yticks([])
plt.subplot(122)
plt.imshow(img_back,cmap='gray')
plt.title("result1")
plt.xticks()
plt.yticks()
plt.show()

2、直方图

图像像素点数值图

直方图

直方图:横坐标为像素值,从左到右即从0到255,纵坐标为每个像素值在图像中出现的次数。

单通道直方图代码:

import matplotlib.pyplot as plt
import cv2
img=cv2.imread("cat.jpg",0)#0代表灰度图
hist=cv2.calcHist([img],[0],None,[256],[0,256])#参数从左到右依次为图像、通道(012,BGR)、掩膜图像、histsize(BIN数量)、像素值范围
hist.shape
plt.hist(img.ravel(),256)
plt.show()

三个通道直方图代码:

img=cv2.imread("cat.jpg")
color=['b','g','r']
for i col in enumerate(color):histr=cv2.calcHist([img],[i],None,[256],[0,256])plt.plot(histr,color=col)plt.xlim([0,256])plt..show()

3、掩膜图像

创建掩膜代码:

import numpy as np
mask=np.zeros(img.shape[:2],np.uint8)
mask[100:300,100:400]=255
cv2.imshow("mask",mask)
cv2.waitKey()
cv2.destroyAllWindows()

掩膜操作:

mask_img=cv2.bitwise_and(img,img,mask=mask)#与操作
cv2.imshow("mask_img",mask_img)
cv2.waitKey()
cv2.destroyAllWindows()

计算掩膜操作的直方图:

hist_mask=cv2.calcHist([img],[0],mask,[256],[0,256])
plt.plot(hist_mask)
plt.xlim([0,256])
plt.show()

4、直方图均衡化

a、均衡化原理及计算方法

均衡化:让原本分布不均衡的直方图在坐标轴上变得更为均衡,如下图所示。

原图像及直方图

均衡化后的图像及直方图

均衡化计算过程:

步骤1:原图像灰度值统计

步骤2:每个灰度的个数、概率及累积概率(累积概率:加上前面几个像素点的概率,如:0.1875+0.25=0.4375)

步骤3:累积概率*灰度值取值范围(0.25*(255-0))

步骤4:均衡化后的灰度值统计

b、均衡化代码及效果

均衡化前的直方图展示:

img=cv2.imshow("cat.jpg")
plt.hist(img.ravel(),256)
plt.show()

均衡化代码:

equ=cv2.equalizeHist(img)
plt.hist(img.ravel(),256)
plt.show()

自适应均衡化:

clahe=cv2.createCLAHE(clipLimit=2.0,tileGridSize=(8,8))
res_clahe=clahe.apply(img)
res=np.hstack((img,equ,res_clahe))
cv2.imshow("res",res)
cv2.waitKey()
cv2.destroyAllWindows()

http://www.hyszgw.com/news/31529.html

相关文章:

  • 青岛好的网站制作推广淄博网站制作制作
  • 网站服务器怎么建设哪个推客平台最好
  • a市最牛的网站怎么做彩票网站的代理
  • 大兴营销型网站建设绍兴网站推广排名
  • 什么是网站可信认证王也天葛优
  • 深圳公司建设网站制作长沙市公共资源交易中心
  • 无锡建设网站的公司简介平台网站做数据维护需要多久
  • 茶叶公司商城网站建设网站建设拍金手指排名贰贰
  • 怎样做网站管理与维护扬中话
  • 商务信息网站苏州网络营销推广软件运营
  • 厦门网站到首页排名ASP做旅游网站代码
  • 北京专业做网站推广个人可以注册企业邮箱吗
  • 电子商务网站建设的知识点摄影设计说明300字
  • 精品课程网站建设 碧辉腾乐全托管跨境电商平台有哪些
  • 深圳个人网站建设多平台网站开发
  • php做的购物网站移动端应用
  • 大丰做网站需要多少钱网站集约化建设的优点
  • 京东怎么做轮播图链接网站上传网站中ftp地址写什么
  • 如何用pageadmin做网站dw2019网页制作教程
  • wordpress火吗绵阳网站建设优化
  • 深圳手机网站建设深圳租房
  • 做h5那个网站模板好企业品牌网站建设公司
  • 百度网站加v外贸网站建设怎么选
  • 政务移动门户网站建设做网站的接私活犯法吗
  • 网站建设经济效益网站推广员是什么
  • 如何建设黔货出山电子商务网站福建高端网站建设
  • 国内做网站制作比较万站霸屏
  • 网站结构图可以做旅游攻略的网站
  • 新乡市红旗区建设局网站三木做网站
  • 黄江网站建设南坪网站建设哪里好