寻找一个好的图像处理库,可以用于我计划创建的新应用程序。我将使用C#.NET(VS 2008)
我的应用程序需要执行以下操作:
不仅如此,我还需要最终输出图像具有指定的大小。我希望应用程序能够使用相同的透视图并返回指定的矩形大小(不是4点的大小)的图像。我希望你明白我的意思。需要平铺和转换源图像以生成完全适合指定区域的输出。
我尝试了一些像Aforge.NET,ImageMagick,EMGU等的库。有些库很慢。有些只能生成小尺寸的透视图像。有些会给出内存错误。找不到合适的解决方案。
答案 0 :(得分:3)
我认为my question over here的答案对你的情况也有帮助。
答案 1 :(得分:1)
您可能需要查看此内容,因为它可能会解决您问题的一部分,或引导您朝着正确的方向前进: http://www.codeproject.com/KB/graphics/YLScsFreeTransform.aspx
它会拍摄一张图像并使用您提供的4个X / Y坐标对其进行扭曲。
快速,免费,简单的代码。经过测试,效果很好。只需从链接下载代码,然后使用FreeTransform.cs,如下所示:
using (System.Drawing.Bitmap sourceImg = new System.Drawing.Bitmap(@"c:\image.jpg"))
{
YLScsDrawing.Imaging.Filters.FreeTransform filter = new YLScsDrawing.Imaging.Filters.FreeTransform();
filter.Bitmap = sourceImg;
// assign FourCorners (the four X/Y coords) of the new perspective shape
filter.FourCorners = new System.Drawing.PointF[] { new System.Drawing.PointF(0, 0), new System.Drawing.PointF(300, 50), new System.Drawing.PointF(300, 411), new System.Drawing.PointF(0, 461)};
filter.IsBilinearInterpolation = true; // optional for higher quality
using (System.Drawing.Bitmap perspectiveImg = filter.Bitmap)
{
// perspectiveImg contains your completed image. save the image or do whatever.
}
}
仅供参考,我相信.NET有2GB的对象内存限制,因此如果您使用的是非常大的图像,则可能会遇到内存错误。