2013-03-14 81 views
0

我正在编写一个使用网络摄像头捕获图像的C#程序。 对于输出图像的方框,选择imagebox(在EmguCV库中)。 我愿意从输出图像中获取像素信息。 根据我的发现,我需要将imagebox中的图像转换为位图,然后我可以在c#中使用picturebox执行分析 (http://www.emgu.com/wiki/index.php/Working_with_Images#Using_ImageBox) 因此,需要Tobitmap()方法。任何人都可以给我想法如何将图像盒图像转换为位图的基础上的功能? 非常感谢Imagebox转换为位图

private void ProcessFrame(object sender, EventArgs arg) 
{ 
    ImageFrame = _capture.QueryFrame(); 
    detectimageBox.Image = ImageFrame; 
} 

回答

1

只是通过图像转换成位图的构造函数:

Bitmap bitmap = new Bitmap(detectImageBox.Image); 

你可以,当然,创建扩展:

public static Bitmap ToBitmap(this PictureBox imageBox) 
    { 
     return new Bitmap(imageBox.Image) 
    } 

这样称呼它:

Bitmap bitmap = detectImageBox.ToBitmap(); 

N注意:我没有做任何空检查或任何东西,我建议你加入他们。

+0

这不是铸造 - 创建一个新的位图实例。 – Igor 2013-03-14 14:07:47

+0

不知道我为什么使用这个术语。我觉得很累。编辑后。 – 2013-03-14 14:09:13

+0

感谢让我试试:) – user1994617 2013-03-14 14:11:00