Retinex算法Matlab代码——单尺度SSR
生活随笔
收集整理的這篇文章主要介紹了
Retinex算法Matlab代码——单尺度SSR
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一句話簡單概括單尺度SSR的思想:從原始圖像中去除照明的影響來還原圖像的本質(zhì)特征,照明由高斯濾波與原圖卷積得到。
代碼如下:
clear all;close all;clc; I = imread('image23.jpg');%讀圖R = I(:, :, 1); [N1, M1] = size(R); R0 = double(R); Rlog = log(R0+1); Rfft2 = fft2(R0);sigma = 80;%高斯核參數(shù) F = fspecial('gaussian', [N1,M1], sigma); Efft = fft2(double(F));DR0 = Rfft2.* Efft;%卷積 DR = ifft2(DR0);%反變換到空域DRlog = log(DR +1); Rr = Rlog - DRlog;EXPRr = Rr; MIN = min(min(EXPRr)); MAX = max(max(EXPRr)); EXPRr = 255*(EXPRr - MIN)/(MAX - MIN);%線性拉伸G = I(:, :, 2);G0 = double(G); Glog = log(G0+1); Gfft2 = fft2(G0);DG0 = Gfft2.* Efft; DG = ifft2(DG0);DGlog = log(DG +1); Gg = Glog - DGlog;EXPGg = Gg; MIN = min(min(EXPGg)); MAX = max(max(EXPGg)); EXPGg = 255*(EXPGg - MIN)/(MAX - MIN);B = I(:, :, 3);B0 = double(B); Blog = log(B0+1); Bfft2 = fft2(B0);DB0 = Bfft2.* Efft; DB = ifft2(DB0);DBlog = log(DB+1); Bb = Blog - DBlog;EXPBb = Bb; MIN = min(min(EXPBb)); MAX = max(max(EXPBb)); EXPBb = 255*(EXPBb - MIN)/(MAX - MIN);result = cat(3, EXPRr, EXPGg, EXPBb); subplot(121), imshow(I); subplot(122), imshow(uint8(result));效果展示如圖1所示:
總結(jié)
以上是生活随笔為你收集整理的Retinex算法Matlab代码——单尺度SSR的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(3009):vue+eleme
- 下一篇: linkedin爬虫_重新设计Linke