200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > matlab的面积法 基于MATLAB的图像处理方法进行面积计算

matlab的面积法 基于MATLAB的图像处理方法进行面积计算

时间:2024-05-23 00:43:13

相关推荐

matlab的面积法 基于MATLAB的图像处理方法进行面积计算

% Edit By :DTL

%

%

%%图片颜色均衡

x_min=58;x_max=1439;

y_min=1;y_max=853;

valid_pix_cnt=0;%浅色区域像素点个数计数

%原始图像

I=imread('ini_p2.png');

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);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。