clc;
    clear all;
    close all;

    addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm');

    Image=imread('4.jpg');
    Image=double(Image)/255;

    % imshow(Image)
    % set the gain value 0-1
    % set the bias value 0-1

    gain=0.5;
    bias=0.25;

    % adjust the gain
    p=log(1-gain)/log(0.5);

    sz=size(Image);

    T1=Image(:);

    T1(T1<0.001)=0;
    T1(T1>0.999)=1.0;

    ind_1=find(T1>0.001);
    ind_2=ind_1(find(T1(ind_1)<0.5));
    ind_3=find(T1>0.5);
    ind_4=ind_3(find(T1(ind_3)<0.999));

    T1(ind_2)=(2*T1(ind_2)).^p/2;
    T1(ind_4)=1-(2*(1-T1(ind_4))).^p/2;

    cc=(1.0/gain-2)*(1.0-2*T1);

    ind_5=find(T1<0.5);
    ind_6=find(T1>0.5);

    T1(ind_5)=T1(ind_5)./(cc(ind_5)+1);
    T1(ind_6)=(cc(ind_6)-T1(ind_6))./(cc(ind_6)-1.0);

    % adjust the bias

    T1=T1.^(log(bias)/log(0.5));
    T1=T1./((1.0/bias-2)*(1.0-T1)+1);

    Image_new=reshape(T1, [sz(1) sz(2) sz(3)]);

    figure;
    imshow(Image_new);
    imwrite(Image_new, 'out.jpg');

原图:
这里写图片描述

效果图:
这里写图片描述

这里写图片描述

posted on 2015-11-11 15:07  未雨愁眸  阅读(566)  评论(0编辑  收藏  举报