使用Aforge.net或c#执行类似于Auto Tone of Photoshop的操作

Uni*_*rs3 5 c# image adjustment aforge accord.net

我开发了一个图像皮肤检测应用程序

但是我的相机存在问题,试图补偿光线并且结果图像很差,在大多数情况下,我对图像有冷或热效果.当我使用Photoshop时,有AutoTone功能可以规范化图像并减少此问题.

图片

Photoshop AutoTone后的图像

使用aforge我想使用HistogramEqualization()过滤器,但结果非常糟糕:

HistogramEqualization之后的图像

// create filter
HistogramEqualization filter = new HistogramEqualization( );
// process image
filter.ApplyInPlace( sourceImage );
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:在Accord或Aforge中有一个函数可以获得与Photoshop的自动调色板相同的结果吗?如果没有,有一些库或脚本可以做到这一点?

谢谢你们.

Joa*_*ant 3

我使用 LevelsLinear 过滤器并基于图像统计数据:

ImageStatistics stats = new ImageStatistics(sourceImage);
LevelsLinear levelsLinear = new LevelsLinear {
    InRed = stats.Red.GetRange( 0.90 ),
    InGreen = stats.Green.GetRange( 0.90 ),
    InBlue  = stats.Blue.GetRange( 0.90 )
};

levelsLinear.ApplyInPlace(sourceImage);
Run Code Online (Sandbox Code Playgroud)

您可以调整范围来调整结果。