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

广州化妆品网站建设三维在线设计网站

广州化妆品网站建设,三维在线设计网站,大学生人才招聘网官网,关键字c语言标题最小均方误差#xff08;维纳#xff09;滤波最小均方误差#xff08;维纳#xff09;滤波 目标是求未污染图像fff的一个估计f^\hat{f}f^​#xff0c;使它们之间的均方误差最小。 e2E{(f−f^)2}(5.80)e^2 E \big\{(f - \hat{f})^2 \big\} \tag{5.80}e2E{(f−f^​)2… 标题最小均方误差维纳滤波最小均方误差维纳滤波 目标是求未污染图像fff的一个估计f^\hat{f}f^​使它们之间的均方误差最小。 e2E{(f−f^)2}(5.80)e^2 E \big\{(f - \hat{f})^2 \big\} \tag{5.80}e2E{(f−f^​)2}(5.80) 误差函数的最小值在频率域中的表达比如下 F^(u,v)[H∗(u,v)Sf(u,v)Sf(u,v)∣H(u,v)∣2Sη(u,v)]G(u,v)[H∗(u,v)∣H(u,v)∣2Sη(u,v)/Sf(u,v)]G(u,v)[1H(u,v)∣H(u,v)∣2∣H(u,v)2K]G(u,v)(5.81)\begin{aligned} \hat{F}(u, v) \Bigg[\frac{H^*(u, v) S_{f}(u, v)}{S_{f}(u, v)|H(u, v)|^2 S_{\eta}(u, v)} \Bigg] G(u, v) \\ \Bigg[\frac{H^*(u, v) }{|H(u, v)|^2 S_{\eta}(u, v) / S_{f}(u, v)} \Bigg] G(u, v) \\ \Bigg[\frac{1}{H(u,v)} \frac{|H(u,v)|^2}{|H(u,v)^2 K} \Bigg]G(u,v) \end{aligned} \tag{5.81}F^(u,v)​[Sf​(u,v)∣H(u,v)∣2Sη​(u,v)H∗(u,v)Sf​(u,v)​]G(u,v)[∣H(u,v)∣2Sη​(u,v)/Sf​(u,v)H∗(u,v)​]G(u,v)[H(u,v)1​∣H(u,v)2K∣H(u,v)∣2​]G(u,v)​(5.81) 注逆滤波与维纳滤波都要求未退化图像和噪声的功率谱是已知的。 # 运动模糊PSF与谱 fft_shift np.fft.fftshift(PSF) fft np.fft.fft2(PSF) spect spectrum_fft(fft) plt.figure(figsize(8, 8)) plt.subplot(1,2,1), plt.imshow(PSF, gray) plt.subplot(1,2,2), plt.imshow(spect, gray) plt.show()# 仿真运动模糊 def motion_process(image_size, motion_angle, degree15):This function has some problemPSF np.zeros(image_size) # print(image_size)center_position(image_size[0]-1)/2 # print(center_position)slope_tanmath.tan(motion_angle*math.pi/180)slope_cot1/slope_tanif slope_tan1:for i in range(degree):offsetround(i*slope_tan) #((center_position-i)*slope_tan)PSF[int(center_positionoffset),int(center_position-offset)]1return PSF / PSF.sum() #对点扩散函数进行归一化亮度else:for i in range(degree):offsetround(i*slope_cot)PSF[int(center_position-offset),int(center_positionoffset)]1return PSF / PSF.sum()def get_motion_dsf(image_size, motion_angle, motion_dis):Get motion PSFparam: image_size: input image shapeparam: motion_angle: blur motion angleparam: motion_dis: blur distant, the greater value, more blurredreturn normalize PSFPSF np.zeros(image_size) # 点扩散函数x_center (image_size[0] - 1) / 2y_center (image_size[1] - 1) / 2sin_val np.sin(motion_angle * np.pi / 180)cos_val np.cos(motion_angle * np.pi / 180)# 将对应角度上motion_dis个点置成1for i in range(motion_dis):x_offset round(sin_val * i)y_offset round(cos_val * i)PSF[int(x_center - x_offset), int(y_center y_offset)] 1return PSF / PSF.sum() # 归一化# 对图片进行运动模糊 def make_blurred(input, PSF, eps):blurred image with PSFparam: input: input imageparam: PSF: input PSF maskparam: eps: epsilon, very small value, to make sure not divided or multiplied by zeroreturn blurred imageinput_fft np.fft.fft2(input) # image FFTPSF_fft np.fft.fft2(PSF) eps # PSF FFT plus epsilonblurred np.fft.ifft2(input_fft * PSF_fft) # image FFT multiply PSF FFTblurred np.abs(np.fft.fftshift(blurred))return blurreddef inverse_filter(input, PSF, eps): inverse filter using FFT to denoiseparam: input: input imageparam: PSF: known PSFparam: eps: epsiloninput_fft np.fft.fft2(input)PSF_fft np.fft.fft2(PSF) eps #噪声功率这是已知的考虑epsilonresult np.fft.ifft2(input_fft / PSF_fft) #计算F(u,v)的傅里叶反变换result np.abs(np.fft.fftshift(result))return resultdef wiener_filter(input, PSF, eps, K0.01):wiener filter for image denoiseparam: input: input imageparam: PSF: input the PSF maskparam: eps: epsilonparam: K0.01: K value for wiener fuctionreturn image after wiener filterinput_fft np.fft.fft2(input)PSF_fft np.fft.fft2(PSF) epsPSF_fft_1 np.conj(PSF_fft) / (np.abs(PSF_fft)**2 K)# 按公式居然得不到正确的值 # PSF_abs PSF * np.conj(PSF) # PSF_fft_1 (1 / (PSF eps)) * (PSF_abs / (PSF_abs K))result np.fft.ifft2(input_fft * PSF_fft_1)result np.abs(np.fft.fftshift(result))return result# 要实现的功能都在这里调用 if __name__ __main__:image cv2.imread(DIP_Figures/DIP3E_Original_Images_CH05/Fig0526(a)(original_DIP).tif, 0)# 显示原图像plt.figure(1, figsize(6, 6))plt.title(Original Image), plt.imshow(image, gray)plt.xticks([]), plt.yticks([])plt.figure(2, figsize(18, 12))# 进行运动模糊处理PSF get_motion_dsf(image.shape[:2], -50, 100)blurred make_blurred(image, PSF, 1e-3)plt.subplot(231), plt.imshow(blurred, gray), plt.title(Motion blurred)plt.xticks([]), plt.yticks([])# 逆滤波result inverse_filter(blurred, PSF, 1e-3) plt.subplot(232), plt.imshow(result, gray), plt.title(inverse deblurred)plt.xticks([]), plt.yticks([])# 维纳滤波result wiener_filter(blurred, PSF, 1e-3) plt.subplot(233), plt.imshow(result, gray), plt.title(wiener deblurred(k0.01))plt.xticks([]), plt.yticks([])# 添加噪声,standard_normal产生随机的函数blurred_noisy blurred 0.1 * blurred.std() * np.random.standard_normal(blurred.shape) # 显示添加噪声且运动模糊的图像plt.subplot(234), plt.imshow(blurred_noisy, gray), plt.title(motion noisy blurred)plt.xticks([]), plt.yticks([])# 对添加噪声的图像进行逆滤波result inverse_filter(blurred_noisy, PSF, 0.1 1e-3) plt.subplot(235), plt.imshow(result, gray), plt.title(inverse deblurred)plt.xticks([]), plt.yticks([])# 对添加噪声的图像进行维纳滤波result wiener_filter(blurred_noisy, PSF, 0.1 1e-3) plt.subplot(236), plt.imshow(result, gray), plt.title(wiener deblurred(k0.01))plt.xticks([]), plt.yticks([])plt.tight_layout()plt.show()# 要实现的功能都在这里调用 if __name__ __main__:image cv2.imread(DIP_Figures/DIP3E_Original_Images_CH05/Fig0526(a)(original_DIP).tif, 0)# 显示原图像plt.figure(1, figsize(6, 6))plt.title(Original Image), plt.imshow(image, gray)plt.xticks([]), plt.yticks([])plt.figure(2, figsize(18, 12))# 进行运动模糊处理PSF get_motion_dsf(image.shape[:2], -45, 95)blurred cv2.imread(DIP_Figures/DIP3E_Original_Images_CH05/Fig0529(d)(medium_noise_var_pt01).tif, 0)plt.subplot(231), plt.imshow(blurred, gray), plt.title(Motion blurred)plt.xticks([]), plt.yticks([])# 逆滤波result inverse_filter(blurred, PSF, 1e-3) plt.subplot(232), plt.imshow(result, gray), plt.title(inverse deblurred)plt.xticks([]), plt.yticks([])# 维纳滤波result wiener_filter(blurred, PSF, 1e-3, K0.01) plt.subplot(233), plt.imshow(result, gray), plt.title(wiener deblurred(k0.01))plt.xticks([]), plt.yticks([])# 添加噪声,standard_normal产生随机的函数blurred_noisy blurred 0.1 * blurred.std() * np.random.standard_normal(blurred.shape) # 显示添加噪声且运动模糊的图像plt.subplot(234), plt.imshow(blurred_noisy, gray), plt.title(motion noisy blurred)plt.xticks([]), plt.yticks([])# 对添加噪声的图像进行逆滤波result inverse_filter(blurred_noisy, PSF, 0.1 1e-3) plt.subplot(235), plt.imshow(result, gray), plt.title(inverse deblurred)plt.xticks([]), plt.yticks([])# 对添加噪声的图像进行维纳滤波result wiener_filter(blurred_noisy, PSF, 0.1 1e-3) plt.subplot(236), plt.imshow(result, gray), plt.title(wiener deblurred(k0.01))plt.xticks([]), plt.yticks([])plt.tight_layout()plt.show()
http://www.pierceye.com/news/141404/

相关文章:

  • 荆州网站建设销售网站怎么做的
  • 访问失效链接 如何删除 网站维护免费推广做产品的网站
  • 哪个网站做ppt能赚钱揭阳网站建设方案托管
  • 哪些网站可以免费做h5wordpress目录迁移
  • 郑州网站建设哪家有什么可以做兼职的网站吗
  • 没有影视许可怎么用国内空间做网站wordpress首页加广告代码
  • 高端电子商务网站建设js网页特效案例
  • 一个网站做三个关键词网站的建设与维护的职责
  • wordpress tag伪静态网站建设与优化推广方案模板
  • 公司网站建设 宁波传奇网站模板psd
  • 安县移动网站建设广州 网站制作
  • 山西太原网站建设网站设计计划
  • 广州番禺网站制作推广新浦网站制作
  • 做网站你给推广怎么仿制别人的网站
  • 做离心开关的企业的网站韩国女足出线了吗
  • 毕业设计网站开发题目shop++是什么
  • fqapps com网站怎么做wordpress慢数据库
  • 青岛制作网站企业安徽seo报价
  • 潍坊市高新区建设局网站hdsyscms企业建站系统
  • 网站运营做产品需要哪些知识开启wordpress多站点
  • flash网站源码 免费怎么可以自己制作网站
  • wordpress文章站主题如何删除自己建的网站
  • 徐州网站建设哪家好薇深圳找工作的网站
  • 局域网站点建设方案东莞企业营销型网站
  • 中国光大国际建设工程公司网站自己开店
  • 手机建站程序昆山设计公司
  • 网站泛解析中国新闻社是国企还是私企
  • dw做静态网站手机app制作视频教程
  • 惠州做网站公司网页游戏排行榜前十名歌
  • 会ps的如何做网站高等教材建筑电气久久建筑网