2017-06-02 6 views
2

私は、私の学期プロジェクトのMATLABで交通標識検出と認識プログラムを作成しています。これまで私はすべてのステップを正しく実行してきました。

画像>>正規化された画像>>スケーリング&画像増強>>値化>>モルフォロジー演算MATLABエラー:入力画像にNaNが含まれていない可能性があります

私はこの式を用いて画像を正規化している:
NORM_COLOR = COLOR/sqrt(RED^2 + GREEN^2 + BLUE^2);

私は倍に私の画像を拡大縮小していますsqrt(3)であり、正規化された画像に対する要素ごとの乗算によって強化される。 thresholingで

この条件が真である場合には、私はすべての3つのチャンネル(RGB)をゼロにしている:

RED < 0.34 OR GREEN > 0.2621

このすべては私に(赤を除く)すべての色が黒塗りされている画像を提供します。これは私が取得画像です: Image

さて、私はimerodeのような形態学的操作を行うとき、それは私にこのエラーを与える:

Error using morphmex
Input image may not contain NaNs.

Error in morphop (line 69)
B = morphmex(mex_method, B, double(getnhood(se(k))), getheight(se(k)), unpacked_M);

Error in imerode (line 123)
B = morphop(A,se,'erode',mfilename,varargin{:});

Error in anas (line 64)
img_seg = imerode(img,se);

これは私が浸食のために書かれているコードです:

se = strel('disk', 2); 
img_seg = imerode(img,se); 
imshow(img_seg); 

誰でもこの問題を解決できますか?ありがとう:)

+0

ああ!ありがとうございました!それは本当に私を助けました。実際にはNaNが何を意味するのか分からなかったので、次に何をすべきか分かりませんでした。どうもありがとうございます :) – user7401447

答えて

0

ゼロによる除算を回避してみてください。

NORM_COLOR = COLOR/sqrt(RED^2 + GREEN^2 + BLUE^2+0.0000001); 
関連する問題