FPGA图像增强,基于FPGA的图像去雾处理,算法为暗通道先验

FPGA图像增强,基于FPGA的图像去雾处理,算法为暗通道先验,并在matlab上实现了算法的仿真,使用的软件为quartus13.0。
注意在FPGA上实现时,在浓雾区域和天空区域的处理效果不算太好。

FPGA 图像增强:基于 FPGA 的图像去雾处理算法

介绍

FPGA 图像增强是近年来非常热门的研究方向之一,随着 FPGA 技术的不断发展,越来越多的研究者开始探索如何利用 FPGA 实现图像增强算法。其中,基于 FPGA 的图像去雾处理算法,是当前研究的热点之一。本文将基于 FPGA 的图像去雾处理算法作为研究主题,详细介绍该算法的设计原理、实现方法和算法优化,以及分析在 FPGA 上实现时存在的问题和解决方案。

算法原理

FPGA 图像增强算法的核心在于如何处理图像中的雾霾,而基于 FPGA 的图像去雾处理算法&#

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
clc; clear all; I=imread('9.jpg'); Ir=I(:,:,1); %分别提取图像的R分量,G分量和B分量 Ig=I(:,:,2); Ib=I(:,:,3); %%%%%%%%%%设定所需参数%%%%%% G = 192; b = -30; alpha = 125; beta = 46; %%%%%%%%%%设定高斯参数%%%%%% sigma_1=15; %三个高斯核 sigma_2=80; sigma_3=250; [x y]=meshgrid((-(size(Ir,2)-1)/2):(size(Ir,2)/2),(-(size(Ir,1)-1)/2):(size(Ir,1)/2)); gauss_1=exp(-(x.^2+y.^2)/(2*sigma_1*sigma_1)); %计算高斯函数 Gauss_1=gauss_1/sum(gauss_1(:)); %归一化处理 gauss_2=exp(-(x.^2+y.^2)/(2*sigma_2*sigma_2)); Gauss_2=gauss_2/sum(gauss_2(:)); gauss_3=exp(-(x.^2+y.^2)/(2*sigma_3*sigma_3)); Gauss_3=gauss_3/sum(gauss_3(:)); %%%%%%%%%%对R分量操作%%%%%%% Ir_double=double(Ir); Ir_log=log(Ir_double+1); %将图像转换到对数域 f_Ir=fft2(Ir_double); %对图像进行傅立叶变换,转换到频域中 fgauss=fft2(Gauss_1,size(Ir,1),size(Ir,2)); %用0将图像填充至大小size(Ir,1)*size(Ir,2) fgauss=fftshift(fgauss); %将频域中心移到零点 Rr= ifft2(fgauss.*f_Ir); %做卷积后变换回空域中 Rr_log= log(abs(Rr) + 1); Rr1=Ir_log-Rr_log; %sigam=15的处理结果 fgauss=fft2(Gauss_2,size(Ir,1),size(Ir,2)); fgauss=fftshift(fgauss); Rr= ifft2(fgauss.*f_Ir); Rr_log= log(abs(Rr) + 1); Rr2=Ir_log-Rr_log; %sigam=80 fgauss=fft2(Gauss_3,size(Ir,1),size(Ir,2)); fgauss=fftshift(fgauss); Rr= ifft2(fgauss.*f_Ir); Rr_log= log(abs(Rr) + 1); Rr3=Ir_log-Rr_log; %sigam=200 Rr=0.33*Rr1+0.34*Rr2+0.33*Rr3; %加权求和 Rr=exp(Rr); min1=min(min(Rr)); max1=max(max(Rr)); Rr_final=(Rr-min1)*255/(max1-min1); %线性拉伸 %figure,imshow(Rr_final,[]);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值