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

14 views (last 30 days)
Tatsuto Okamura
Tatsuto Okamura on 29 Aug 2019
Commented: Tatsuto Okamura on 1 Sep 2019
二次元画像の二値化において、
『imbinarize』を使用しているのですが、特定の範囲を閾値2/255、それ以外を閾値20/255で二値化したいです。
良い方法はないでしょうか?

Accepted Answer

Shunichi Kusano
Shunichi Kusano on 29 Aug 2019
特定の範囲のマスク画像を作成した上で、下のような形で作成可能です。わかりやすくするために一つずつ作って、はめ込んでいますが、「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 Comment
Tatsuto Okamura
Tatsuto Okamura on 1 Sep 2019
ありがとうございます。参考になりました!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!