Matlab数字图像处理基础【9】

第六章 图像分割

实例:灰度图像的阈值分割


clc;
clear;

%读入图像
A = imread('shape.jpg');
figure(1),subplot(2,2,1),imshow(A),title('原图像');

%获取灰度直方图,根据直方图人工选取阈值
h = imhist(A);
%h = imhist(A) / numel(A);
h1 = h(1:10:256);
horz = 1:10:256;
figure(2),bar(horz, h1),axis([0 255 0 15000]),title('直方图');

%人工设定阈值进行图像分割
thr1 = 100;
[m, n] = size(A);
for i = 1:m
    for j = 1:n
        if A(i,j) < thr1
            A1(i,j) = 0;
        else
            A1(i,j) = 1;
        end
    end
end
figure(1),subplot(2,2,2),imshow(A1),title('人工设定阈值');

%使用迭代法选取阈值进行图像分割
%计算阈值初始值
thr2 = 0.5 * (double(min(A(:))) + double(max(A(:))));
%设定循环终止条件
done = false;
%循环计算阈值和分割图像
while ~done
    %获取二值分割结果
    A2 = A >= th
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值