Code Monkey home page Code Monkey logo

star-tip2020's Introduction

STAR

I will organize the code when I am not busy.

Sorry for the delay.

The code in this package implements the proposed Retinex method as described in the following paper:

@article{STAR2020,        
         author = {Jun Xu and Yingkun Hou and Dongwei Ren and Li Liu and Fan Zhu and Mengyang Yu and Haoqian Wang and Ling Shao},     
         title = {STAR: A Structure and Texture Aware Retinex Model},      
         journal = {IEEE Transactions on Image Processing},            
         year={2020},          
         volume={29},       
         number={1},       
         pages={5022--5037},      
         doi={10.1109/TIP.2020.2974060},      
}

Please cite the paper if you feel this code useful in your research. Please see the file License.txt for the license governing this code.

star-tip2020's People

Contributors

csjunxu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

star-tip2020's Issues

The comparison of ETV and EMLV

The source code doesn't consist of the comparison of ETV and EMLV filtered images. Please share this part, I'm strongly interested in your work.

how can I use the MSR method to output the light map?

Hello,
I'm sorry to bother you. First of all, thank you for your work. I have learned great knowledge. In addition, I have a question to ask. In the comparison experiment, how can I use the MSR method to output the light map? Is it like the SSRlog in the following code that directly outputs the filtered results?

function OUT = SSR(I, varargin)
T = imgaussfilt(I, varargin{:});
OUT = I./(T); % avoid NaN
end

function OUT = SSRlog(I, varargin)
OUT = imgaussfilt(I, varargin{:});
%OUT = log(I) - log(T+1) + 0.5;
end

function OUT = MSR(I, varargin)
if numel(varargin) == 0
varargin = {25 100 240}; %{25 100 240}
end
OUT = 0; N = numel(varargin);
for n = 1:N
OUT = OUT + (1/N)* multiscaleRetinex(I,'SSR',varargin{n});
end
end

function OUT = MSRCR(I, lowScale, medScale, highScale, leftChop, rightChop)
if ~exist('lowScale', 'var'), lowScale = 15; end
if ~exist('MedScale', 'var'), medScale = 80; end
if ~exist('HighScale', 'var'), highScale = 250; end
if ~exist('s1', 'var'), leftChop = 1; end
if ~exist('s2', 'var'), rightChop = 1; end

MSR = multiscaleRetinex(I, 'MSR', lowScale, medScale, highScale);

for c = 1:3
CR = (log(125*I(:,:,c))-log(I(:,:,1)+I(:,:,2)+I(:,:,3)));
OUT(:,:,c) = colorBalance(mat2gray(CR.*MSR(:,:,c)), 'simplest', leftChop, rightChop);
end
%OUT = max(0, min(1, OUT));
end

文章中测试的MSR,是code文件中的multiscaleRetinex吗?

您好,
很抱歉打扰您,因为我最近在做基于retinex的本征图像分解,得到的光照分量和反射分量不都是很理想,正好看到您的文章,MSR得到的结果非常好,但是在code中我不知道该怎么运行这个程序,如何把图片加载进去,是imread()吗?期待您的回复。
function OUT = multiscaleRetinex(I, method, varargin)

if nargin == 0
% I = imload; %imread(imgetfile); %imread('office_1.jpg');
% J = multiscaleRetinex(I, 'MSRCR');
% ezFig I J
% return;

I = imload; %imread(imgetfile); %('office_1.jpg');
method = Popupmenu({'MSRCR','MSR','SSR'});
J = ImCtrl(@multiscaleRetinex, I, method);
ezFig I J

end

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.