本人是菜鸟,老师给了个图像去雾的代码让翻译,求大神们帮帮忙
opencv吧
全部回复
仅看楼主
level 1
A995795055 楼主
clear all;clc
% 基于单幅图像的快速去雾算法
% fileName = 'D:\\image\\haze image\\He\\canon3.bmp';
% step1: 输入:有雾图像H(x)
H = imread('sam_5.bmp');
H = double(H) / 255.0;
imtool(H);
[h, w,c] = size(H);
% sv = ceil(max(h, w) / 50);
% if mod(sv, 2) == 0
% sv = sv + 1;
% end
% step2: 求取H(x)三通道的最小值M(x)
M = min(H, [], 3);
% step3: 对M(x)进行均值滤波,得到Mave(x)
% f = fspecial('average', sv);
f = fspecial('average', 3);
Mave = imfilter(M, f, 'symmetric');
% step4: 求取M(x)中所有元素的均值Mav
% [h, w] = size(Mave);
% n = 0.0;
% for i=1:h
% for j=1:w
% n = n + Mave(i, j);
% end
% end
% Mav = n / (h * w);
Mav=mean(M(:));
% step5: 利用Mave(x)求出L(x)
% e = 2.0; % e是一个用来调节的参数,当e值越大时,去雾后的图像就越暗,去雾效果就越明显,e值越小时,图像偏白,有明显的雾气。
% L = min(min(e*Mav, 0.9)*Mave, M);
% step6: 利用Mave(x)和H(x),求出A
temp1 = max(H, [], 3);
A = 0.5 * (max(temp1(:)) + max(Mave(:))) * [1; 1; 1];
% t=max(1-min(e*Mav, 0.9)*Mave/A(1),1-M/A(1));
temp=0;
temp=minloss(H,Mave,A);
t=max(1-min(temp, 0.8)*Mave/A(1),1-M/A(1));
imtool(t);
L = min(min(temp, 0.8)*Mave, M);
% step7: 去雾后图像F(x)
% [h, w, c] = size(H);
F = zeros(h, w, c);
要翻译成C++代码,大神们教教我!!有重谢
2015年08月27日 11点08分 1
level 5
QQ724716371
2015年09月21日 14点09分 2
level 1
求问楼主可找到代码????
2016年12月07日 02点12分 3
level 2
我曾经写过去雾的代码。。。。感觉难度还行吧。。。
2016年12月07日 07点12分 4
level 1
留下个邮箱被,我把代码发给你。。。
2016年12月07日 07点12分 5
可以给我发一个吗?[太开心][太开心]
2016年12月07日 09点12分
@伪装乱 邮箱呢。。。
2016年12月08日 04点12分
回复 不会太阳能 :[email protected] 感激不尽,大神可以私聊不,想请教些问题[花心]
2016年12月08日 07点12分
给我发一份可以吗
2016年12月26日 01点12分
level 1
现在还有吗?去雾代码[狂汗][email protected]
2017年12月22日 08点12分 6
opencv自带去雾算法,引导滤波 guidedFilter
2017年12月28日 14点12分
level 1
去雾代码还有吗?[email protected]
2018年02月27日 12点02分 7
level 7
哪里有什么去雾算法,哪还要买pm2.0空气净化器干吗,估计就是什么局部对比度加大吧
2018年03月01日 07点03分 8
level 7
加企鹅875866246
2018年03月03日 15点03分 9
level 5
matlab语言?
2018年03月04日 10点03分 10
level 4
opencv初学者,刚接触opencv
想请问一下,如何把别人写好的代码调试出来呀
2020年02月23日 15点02分 12
1