如何使用C#裁剪扫描图像?

如何使用C#裁剪扫描图像?,c#,crop,aforge,C#,Crop,Aforge,我有一个书页的扫描图像,我需要裁剪这个扫描,只留下页面区域。我尝试使用一个RGE来检测页面边框,但它不起作用,因为我需要裁剪的空间可能包含很少的“光”区域(由于扫描仪的质量),而边缘检测器在那里检测边框。这就是为什么这对我来说是个坏主意 你能推荐一些吗 另外,请不要告诉我使用非免费图书馆 =========================================================== 我已经弄明白了。谢谢大家的关注 您需要页面边缘的坐标。 有一个开源项目可以对边进行矢量化。

我有一个书页的扫描图像,我需要裁剪这个扫描,只留下页面区域。我尝试使用一个RGE来检测页面边框,但它不起作用,因为我需要裁剪的空间可能包含很少的“光”区域(由于扫描仪的质量),而边缘检测器在那里检测边框。这就是为什么这对我来说是个坏主意

你能推荐一些吗

另外,请不要告诉我使用非免费图书馆

===========================================================


我已经弄明白了。谢谢大家的关注

您需要页面边缘的坐标。
有一个开源项目可以对边进行矢量化。但是这个项目是用C++编写的。

< p>谢谢你的帮助。我已经弄明白了。你能找到的代码。虽然文本是乌克兰文,但代码应该是可以理解的。它使用(我在使用standart.Net Framework选项对图像进行灰度缩放时遇到问题,所以我正在使用FreeImage assembly进行灰度缩放)和。

这必须是一个自动过程还是用户可以裁剪图像?是的,它必须是一个自动过程,因为有2或3百万次扫描。您好@ieagle,您是如何做到的?嗯。。。我想我已经做到了,基本算法:转换为灰度,反转(在我的情况下,原始背景是白色),使用blobcounter获得矩形(将阈值设置为您的接受值),“合并”结果矩形以获得包含所有Blob的超集矩形,使用裁剪。。。done.hello@JoseAraujo,起初我的解决方案和你的一样,但大约20-30%的图像被裁剪错误。所以我决定使用SusanCornerDetector。结果要好得多(1000张图像中有多达10张裁剪错误)。你能找到的代码。很好,但是我和C++有着不好的关系,把代码移植到C是我的噩梦。无论如何,谢谢你的关注!