我的目标是通过提供改善位图的 清晰度,对比度等 的选项,让用户提高图像质量
我遵循了https://www.codeproject.com/Articles/2008/Image-Processing-for-Dummies-with-C-and-GDI-Part中提到的方法。这对于小分辨率图像非常有效。但对于使用DSLR拍摄的大分辨率图像(例如:6000X400像素),这种方法非常慢。我明白这是一般的GDI +和Bitmap的限制,所以我寻找一些框架来处理大分辨率图像。 Aforge 似乎是一个不错的选择,但处理大分辨率图像也需要相当长的时间。
例如:
GaussianSharpen filter = new GaussianSharpen(4, 11);
filter.ApplyInPlace(bm_dest);
有人可以告诉我一个快速库或工具(无论是非.NET命令行工具,我可以使用CMD调用它并更新Picturebox图像)来解决这个问题。
答案 0 :(得分:0)
Gdiplus有自己的Sharpen class
这应该比手动操作位快得多。
对于Windows Vista及更高版本,需要GDI plus 1.1版。例如:
#define GDIPVER 0x0110
void test_sharpen(HDC hdc)
{
Graphics graphics(hdc);
Image img(L"test.jpg");
graphics.DrawImage(&img, 0.0f, 0.0f, (REAL)img.GetWidth(), (REAL)img.GetHeight());
SharpenParams sharpen_param;
sharpen_param.amount = 50;
sharpen_param.radius = 100;
Sharpen sharpen;
sharpen.SetParameters(&sharpen_param);
RectF rect(0.0f, 0.0f, (REAL)img.GetWidth(), (REAL)img.GetHeight());
Matrix matrix_offset(1.0f, 0.0f, 0.0f, 1.0f, 400.0, 0.0f);
graphics.DrawImage(&img, &rect, &matrix_offset, &sharpen, NULL, UnitPixel);
}