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

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值