将位图裁剪到感兴趣的区域

时间:2014-06-26 10:05:10

标签: c# visual-studio-2012 image-processing

类似于我之前尚未解决的问题(Comparing Frames of a live Feed),我有另一个问题。

方案

我的相机拍摄的照片中包含一个矩形。我需要裁剪图像,只显示矩形加上一个小边距。

我的努力

我通过使用LockBits迭代像素并尝试找到潜在的边缘来实现这一点,但这些看起来非常缓慢且效率低下

我的想法

我在想我可以将空图像作为基线,然后消除两者之间的差异,但是我不能确定照明将完全相同并且潜在的污染物,例如意外飞行进入图像将不会存在可能破坏这一过程。

有没有更简单的方法?矩形应该(通常)位于左下角,但并不总是(长篇故事),但这是不可靠的。

我的环境

  • Visual Studio 2012(2010年,如果有必要)
  • Ueye相机
  • C#
  • 图像的类型为System.Drawing.Bitmap

矩形通常类似于信用卡或身份证或任何类似尺寸和形状的东西

空图像(背景)如下所示: enter image description here

2 个答案:

答案 0 :(得分:0)

使用EmguCV可以检测矩形等形状。单击here以获取emgu代码。一旦检测到矩形,使用具有矩形大小的新位图就可以很容易地将其裁剪掉。

答案 1 :(得分:0)

该示例演示了如何使用鼠标选择或指定坐标将图像从特定的Picturebox控件裁剪到目标Picturebox控件中。

1.如何使用鼠标在Picturebox控件中选择区域(矩形)。

2.如何通过矩形裁剪图像。

http://code.msdn.microsoft.com/windowsdesktop/CSWinFormCropImage-d4beb1fa