二次元画像の二値化について

13 次查看(过去 30 天)
Tatsuto Okamura
Tatsuto Okamura 2019-8-29
二次元画像の二値化において、
『imbinarize』を使用しているのですが、特定の範囲を閾値2/255、それ以外を閾値20/255で二値化したいです。
良い方法はないでしょうか?

采纳的回答

Shunichi Kusano
Shunichi Kusano 2019-8-29
特定の範囲のマスク画像を作成した上で、下のような形で作成可能です。わかりやすくするために一つずつ作って、はめ込んでいますが、「2値化」セクションの3行を1行にくっつけていいと思います。
clear, clc, close all
img = imread('peppers.png');
band = img(:,:,3);
%% 仮のマスク
mask = zeros(size(band), 'logical');
mask(100:300,100:400) = true;
%% 2値化
bw1 = (band > 2) & mask; % mask==1の範囲の2値化
bw2 = (band > 20) & ~mask; % mask==0の範囲の2値化
bw = bw1 | bw2; % 2つの2値化画像をはめ込む
%% 確認
close all
figure, imshow(band, [])
figure, imshow(mask);
figure, imshow(bw1);
figure, imshow(bw2);
figure, imshow(bw);
  1 个评论
Tatsuto Okamura
Tatsuto Okamura 2019-9-1
ありがとうございます。参考になりました!

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!