質問: 特定の範囲における二値化について(初心者です) 二値化において、imbinarizeを用いているのですが、 イメージaの左半分の閾値を右半分の閾値よりも高く設定して二値化したいです。 そこで以下のような方法で行ってみたところエラーが出てしまいました。 改善点を教えて頂きたいです。 よろしくお願い致します。 binaria=imbinarize(a(:,1:end/2),ave*2)+ imbinarize(a(:,end/2:end),ave); 左半分の閾値を右半分の閾値の2倍にしてみました。
回答: 以下のような処理になるかと思いますが、いかがでしょう? % グレースケール画像を準備 i = imread('cameraman.tif'); % 幅の半分、閾値1、閾値2を準備 whalf = round(size(i,2)/2); th1 = uint8(50); th2 = uint8(150); % 左半分と右半分を異なる閾値で2値化 bw = [i(:,1:whalf)>th1, i(:,whalf+1:end)>th2]; % 確認 figure imshowpair(i,bw,'montage')