Data[,,]
を使用してグレーイメージの各ピクセルにアクセスできましたが、Bgrイメージではアクセスできませんでした。 私は次のコードを書かれている:私は、ブレークポイントを追加することによって確認され、その結果、このあっObject reference not set to an instance of an object.
イメージを読み取れない<Bgr, byte> C#emgucvの.Dataプロパティ
:
currentFrame.Data is nul
grayFrame.Data has 3d array
gray has value 71
た後、次の行が原因となったエラー例外をスロー
Image<Bgr, byte> currentFrame = capture.QueryFrame();
Image<Gray, byte> grayFrame = currentFrame.Convert<Gray, byte>();
Byte gray = grayFrame.Data[0, 10, 0];
Byte blue = currentFrame.Data[0, 10, 0];
を
なぜ3次元配列であったはずのcurrentFrame.Dataがnullですか? BgrイメージのImage.Dataプロパティにどのようにアクセスできますか?
私はemgucv 2.2.1を使用しています。同じ問題が2.1バージョンで発生しました。私が見つけた何を任意のヘルプ
ため
おかげで、非常に驚くべきことです。
Image<Bgr, byte> currentFrame = capture.QueryFrame();
byte b;
try
{
b = image.Data[0, 0, 0]; //Line (A)
}
catch (Exception ex)
{ MessageBox.Show("Before Convert : "+ex.Message); }
image = image.Convert<Bgr, byte>();
try
{
b = image.Data[0, 0, 0]; //Line (B)
}
catch (Exception ex)
{ MessageBox.Show("AfterConvert : "+ex.Message); }
上記のコードでは、Line(A)は例外 "オブジェクトのインスタンスに設定されていません"をスローします。しかし、コードを追加した後に、行(B)は例外なくスムーズに実行されます。
これがなぜ起こっているのですか?
どのような言語ですか?それはC#ですか?適切なタグを追加して、コードを理解している人の助けを得ることができます。 – karlphillip