ISP Matlab 多尺度的細節增強

2021-10-04 05:04:01 字數 2291 閱讀 6115

參考文獻:

%% 讀入

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;

endend

endendfigure, 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

endend

endend

如果fpga資源足夠,這個演算法實現起來複雜度並不是太高,效果還行。

多尺度 理解

1.比如有一幅影象,裡面有房子有車有人,在這整張圖上提取特徵,提取的是全域性的特徵 現在,擷取影象的一部分,比如擷取汽車的部分,並將其放大至與原圖相同的尺寸,在此時擷取後放大的圖上提取特徵,提取的是整幅影象中某一部分的詳細特徵。2.或者,例如在進行卷積時,如圖 隨便截的圖 分別提取出第 三 四 五層...

多尺度模板匹配

效果特別差 只能用來識別簡單的東西 僅供練手 import cv2 import numpy as np import os import time temp cv2.imread camera roll te jpg 模板 gray temp cv2.cvtcolor temp,cv2.color...

深度學習 多尺度的理解

多尺度訓練這個問題應該是可以分為兩個方面 乙個是影象金字塔,乙個是特徵金字塔吧。1 人臉檢測的mtcnn就是影象金字塔,使用多種解析度的影象送到網路中識別,時間複雜度自然就很高,畢竟每幅圖都要用多種scale去檢測。2 像fpn特徵金字塔網路,是在多個feature map上面識別的話,但是是一次影...