私のウェブカメラのフレームのピクセルカラーを選択しようとしています。だから私は何も問題なくImageBoxでショーフレームをキャプチャします。しかし、ImageBoxに保存された画像にアクセスしようとすると、ImageBoxをダブルクリックするとCvExceptionが発生します。イメージのピクセルを取得しようとすると、例外がポップします。EmguCV ImageBoxイメージを取得するにはどうすればよいですか?
のOpenCV:認識されていないか、サポートされていない配列型
これは私がフレームをキャプチャする方法である:
// On Form Load
Application.Idle += ProcessFrame;
private void ProcessFrame(object sender, EventArgs arg)
{
if (cap != null)
{
using (Image<Bgr, byte> frame = cap.QueryFrame())
{
if (frame != null)
{
imageFrame = frame;
imageBoxFrame.Image = imageFrame;
Bgr color = imageFrame[50, 100];
}
}
}
}
とDoubleClickイベントで:
private void imageBoxFrame_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (treeViewObjects.SelectedNode is ColorNode && !isTracking)
{
if (imageFrame == null)
return;
Emgu.CV.UI.ImageBox imageBox = (Emgu.CV.UI.ImageBox)sender;
Image<Bgr, byte> image = (Image<Bgr, byte>)imageBox.Image;
Bgr color = image[e.X, e.Y]; // This line causes the Exception
}
}
どうやら画像がされnullではありません。 私は間違っていますか?スレッドのもので多分何か?
しばらくして、これは「オープン質問」キューから出てくるので、あなたはあなた自身の質問に答える必要があります。 –