ISP Matlab 多尺度的细节增强

ISP Matlab 基于多尺度的边缘增强

参考文献:
在这里插入图片描述


function  [] = ft_multiScaleEnhancement()
close all;
clear all;
clc;

%% 读入图片
fid  = './case1/test.bmp';
img_in = imread(fid);
figure,imshow(img_in),title('1');

img_in = double(img_in);
[m, n, d] = size(img_in);

%% 算法参数配置
EndOrder = 2;
Rad = 3;

% h = fspecial('gaussian',hsize,sigma) 
% h = fspecial('log',hsize,sigma) 
sigma1 = 1.0;
sigma2 = 2.0;
sigma3 = 4.0;
wig1 = 0.5;
wig2 = 0.5;
wig3 = 0.25;

filter_kernel1 = fspecial('gaussian',2*Rad+1 , sigma1);
filter_kernel2 = fspecial('gaussian',2*Rad+1 , sigma2);
filter_kernel3 = fspecial('gaussian',2*Rad+1 , sigma3);

%% 算法主体

B1 = imfilter(img_in,filter_kernel1,'symmetric');
B2 = imfilter(img_in,filter_kernel1,'symmetric');
B3 = imfilter(img_in,filter_kernel1,'symmetric');

D1 = img_in - B1;
D2 = B1 - B2;
D3 = B2 - B3;

D = (1-wig1.*get_sgn(D1)).*D1 + wig2.*D2 + wig3.*D3;
% figure, imshow(uint8(D(:,:,:).*128)),title('D');
figure, mesh(D(:,:,1)), title('D R');
figure, mesh(D(:,:,2)), title('D G');
figure, mesh(D(:,:,3)), title('D B');


%% 输出图像
img_out_pre = img_in + EndOrder.*D;
img_out = img_out_pre;

overflow_cnt = 0;

for ch = 1:1:d
    for rows = 1:1:m
        for cols = 1:1:n
            if img_out(rows, cols, ch) > 255
                img_out(rows, cols, ch) = 255;
                overflow_cnt = overflow_cnt + 1;
            elseif img_out(rows, cols, ch) < 0
                img_out(rows, cols, ch) = 0;
            end
        end
    end
end

figure, imshow(uint8(img_out(:,:,:))),title('2');

keyboard  
end
  

%% local function
function [var_sgn] = get_sgn(var_in)
% var_in : 输入函数变量
% var_sgn: 输出函数符号位
[m, n, d] = size(var_in)
var_sgn = zeros(m, n, d);
for ch = 1:1:d
   for rows = 1:1:m 
        for cols = 1:1:n
           if  var_in(rows, cols, ch) < 0
               var_sgn(rows, cols, ch) = -1;
           else
               var_sgn(rows, cols, ch) = 1;
           end 
        end
   end
end

end

如果FPGA资源足够,这个算法实现起来复杂度并不是太高,效果还行。

发布了19 篇原创文章 · 获赞 1 · 访问量 571

猜你喜欢

转载自blog.csdn.net/wuyanbei24/article/details/105004332