2
我想選擇我的攝像頭幀的像素顏色。所以我在一個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
}
}
顯然的圖像是不爲空。 我做錯了什麼?也許與線程的東西?
已經有一段時間,但你應該回答你自己的問題,所以這出來的「開放式問題」隊列。 – 2014-05-14 17:46:23