我正在编写一个使用网络摄像头捕获图像的C#程序。
对于输出图像的框,选择imagebox
(在EmguCV
库中)。
我愿意从输出图像中获取像素信息。
根据我的发现,我需要将imagebox
中的图像转换为位图然后我可以使用c#中的picturebox
来执行分析
(http://www.emgu.com/wiki/index.php/Working_with_Images#Using_ImageBox)
因此,需要使用Tobitmap()方法。谁能让我知道如何将图像框图像转换为基于该功能的位图?
非常感谢
private void ProcessFrame(object sender, EventArgs arg)
{
ImageFrame = _capture.QueryFrame();
detectimageBox.Image = ImageFrame;
}
答案 0 :(得分:1)
只需将Image传递给Bitmap构造函数:
Bitmap bitmap = new Bitmap(detectImageBox.Image);
您当然可以创建扩展程序:
public static Bitmap ToBitmap(this PictureBox imageBox)
{
return new Bitmap(imageBox.Image)
}
称之为:
Bitmap bitmap = detectImageBox.ToBitmap();
注意:我没有在这里做过空检查或任何事情,但我建议你把它们包括在内。