文档介绍:精选范本,供参考!
页脚下载后可删除,如有侵权请告知删除!
精选范本,供参考!
% Edit By :DTL
%
%
%%图片颜色均衡
x_min=58;x_max=1439;
y_min=1;y_max=853;
valid_pix_cnt=0;%浅色区域像素点个数计数
%原始图像
I=imread('');
figure(1)
imshow(I);
sum_pix=(x_max-x_min+1)*(y_max-y_min+1);
mean_R=sum(sum(I(y_min:y_max,x_min:x_max,1)))/sum_pix;
mean_G=sum(sum(I(y_min:y_max,x_min:x_max,2)))/sum_pix;
mean_B=sum(sum(I(y_min:y_max,x_min:x_max,3)))/sum_pix;
I(249:370,423:595,1)=mean_R-5;
I(249:370,423:595,2)=mean_G-5;
I(249:370,423:595,3)=mean_B-5;
%%
%分块均衡
Lx=150;Ly=100;
blk_pix=Lx*Ly;
x_inc=15;
y_inc=9;
x_cnt=floor((x_max-x_min-Lx+1)/x_inc)+1;
y_cnt=floor((y_max-y_min-Ly+1)/y_inc)+1;
I_blc=I;
%均衡处理
for x_blc=0:x_cnt
for y_blc=0:y_cnt
x_start=x_min+x_blc*x_inc;
x_end=x_min+x_blc*x_inc+Lx-1;
if(x_end>=x_max) x_start=x_max-Lx+1; x_end=x_max;end
y_start=y_min+y_blc*y_inc;y_end=y_min+y_blc*y_inc+Ly-1;
if(y_end>=y_max) y_start=y_max-Ly+1; y_end=y_max;end
blk_mean_R=sum(sum(I(y_start:y_end,x_start:x_end,1)))/blk_pix;
blk_mean_G=sum(sum(I(y_start:y_end,x_start:x_end,2)))/blk_pix;
blk_mean_B=sum(sum(I(y_start:y_end,x_start:x_end,3)))/blk_pix;
I_blc(y_start:y_end,x_start:x_end,1)=I(y_start:y_end,x_start:x_end,1)*(mean_R/blk_mean_R);
I_blc(y_start:y_end,x_start:x_end,2)=I(y_start:y_end,x_start:x_end,2)*(mean_G/blk