私は背景と似た色の丸いオブジェクトのイメージセグメンテーションを行っています。イメージはRGBですが、RGB値はグレーのトーンを示し、グレースケールではないイメージがグレーに見えても気付きます。セグメンテーションプロセスでは、セグメント化に使用するバイナリマスクを作成する前に、ラウンドオブジェクトをバックグラウンドから分離するために、グラデーションフィルタを適用し、再構成によって開閉しなければなりません。このプロセスで使用した関数の中には、2D配列の入力のみを受け入れるものがあります。実際、画像自体の2値化は、3D配列であるRGB画像ではなく、2D配列入力でのみ行うことができます。だから、私は灰色に見えるが他の何かをする前にグレースケールではない私のRGBイメージを変換しようとしています。しかし、私はrgb2gray関数を使用すると、次のエラーフォームのMATLABが表示されます。 rgb2gray> parse_inputs(line 77)を使用しているエラー MAPはm x 3配列でなければなりません。rgb2grayのエラー:MAPはm×3の配列でなければなりません
rgb2gray(行52)のエラー [X、threeD] = parse_inputs(X);
Mask_Biophysics(行2)のエラー フレーム= rgb2gray(rgb);
このエラーの意味と解決方法を知っている人はいますか? これは私にエラーを与えるコードの一部です:
rgb = imread( 'kids.tif'); フレーム= rgb2gray(rgb);
注意事前にインストールされたmatlabイメージ "kids.tif"を使用しています。したがって、エラーは私の特定のイメージとは関係ありません。 kids.tifはmatlabのRGBカラー画像です
入力画像の 'rgb2gray'やタイプ/範囲の呼び出し方法は表示されません。どうやら、MATLABはあなたの画像がカラーマップだと考えています。 – beaker
Frame1 = imread( 'kids.tif'); フレーム= rgb2gray(フレーム1); – user27407
私は上記の私の実際のコードです。あなたが言いましたのは、私がエラーから解釈したものです。だから、私は、事前にインストールされたMATLAB画像のいずれかで同じコードを試しました "kids.tif – user27407