在Windows Store (WinRT)应用程序中,是否有一种方法可以从图像中裁剪和倾斜四边形?
本文关键字:图像 裁剪 四边形 倾斜 方法 应用程序 WinRT Store Windows 是否 一种 | 更新日期: 2023-09-27 18:04:08
我正在为windows store编写一个应用程序,该应用程序使用Canny边缘检测来查找图像上文档的边界。我需要能够裁剪这个图像,一旦找到角落。我可以使用WriteableBitmapExtension方法来裁剪矩形,但问题是它很少是矩形,而是四边形。
我读到一个叫Aforge的东西可能能做到这一点,但它看起来不支持Silverlight/WinRT。我知道这在OpenGL中应该是可能的,但这很可能需要我改变我的应用程序的很大一部分。有其他选择吗?
你可以使用WriteableBitmapEx对你想要裁剪的区域使用Blit和n alpha蒙版来实现它。只需根据Canny边缘检测的结果动态创建蒙版。确保你想要保留的所有像素的alpha值为255,而你想要裁剪的像素在蒙版位图中的alpha值为0。然后在原始图像上使用Blit方法,提供生成的alpha蒙版位图作为参数和BlendMode。还有Alpha。这不会真正减少原始图像的大小,但至少不需要的像素消失了。在alpha遮罩之前,您已经可以使用边缘检测结果中的x和y的最小值,最大值来裁剪矩形。这样尺寸也减小了,你的alpha遮罩也会更快。