MATLAB教程系列-台大-09 exercise

这篇博客介绍了如何不使用im2bw()函数进行图像二值化,利用graythreshold()和自定义方法达到类似效果。接着讨论了背景估计和背景减法规则来改进二值化结果,使米粒与背景分离更明显。通过bwlabel()进行连通组件标记来计数米粒,并计算最大米粒大小和平均大小。最后,将所有米粒在原图上标为红色,展示处理过程。
摘要由CSDN通过智能技术生成

1. 不通过im2bw()函数完成图像二值化

通过graythreshold()函数,程序可以自动找到一个对于当前图片来说更加合适的阈值来进行二值化。通过im2bw()图像,可以完成二值化,把当前图像变为只有黑白两色的图片。例程如下:

I = imread('rice.png'); level=graythresh(I);
bw=im2bw(I, level); subplot(1,2,1); imshow(I);
subplot (1,2,2); imshow(bw);

结果:

如果不借助matlab中的函数,自己如何完成呢?

程序:

I = imread('rice.png'); 
thershold = 140;
for i=1:size(I,1)
    for j= 1:size(I,2)
        if I(i,j) > thershold
            J(i,j) = 1;
        else
            J(i,j) = 0;
        end
    end
end
subplot(1,2,1); imshow(I);
subplot(1,2,2); imshow(J);

结果:

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值