2017-03-28 8 views
0

どのようにイメージのオーバーレイを作成しますか?エッジの色を変更する: エッジを緑に変更するには、最初に「ソベル」を使用しましたが、オーバーレイの部分にはエラーがあります。「IMGは、グレースケールまたはRGBのいずれかの配列でなければなりません:writeVideo(writer、double(out) "どうして?イメージオーバーレイの作成方法は?エッジの色を変更する

out_red(BW)=0; 
    out_green(BW)=255; 
    out_blue(BW)=0; 


    writeVideo(writer,double(uint8(out))); 


close(writer); 

答えて

1

、代わりにそれはそのようにする必要があります:

out_red=img(:,:,1); 
out_green=img(:,:,2); 
out_blue=img(:,:,3); 

と終了エラーがありそうでwriteVideo(writer, uint8(out));

0

以下を試してください。その範囲は、{0、1、2、...、255}である場合

redChannel = inputImage(:, :, 1); 
greenChannel = inputImage(:, :, 2); 
blueChannel = inputImage(:, :, 3); 
writeVideo(writer, uint8(out)); 

writeVideoクラスは、データがuint8ことを期待。
singleまたはdoubleデータを使用する場合は、[0、1]の範囲にスケールを戻す必要があります。あなたが各カラーチャンネルとして誤って全体のimgを設定

+0

の操作を行います。「IMGでなければなりませんグレースケールまたはRGBイメージの配列 "としました。これを試してみました。" writeVideo(writer、double(uint8(out))); "それでもエラーが発生しました。「IMGは、グレースケールまたはRGBイメージの配列でなければなりません。どうして? – hme

+0

コード全体を共有してください。 – Royi

+0

私はコードを共有しました。 – hme

関連する問題