System.Windows.Media ScaleTransform如何重新采样?

问题描述

我希望了解System.Windows.MediaSystem.Windows.Media.Imaging的默认设置。我有一个程序可以使用如下代码调整图像大小:

WriteableBitmap result = new WriteableBitmap(width,height);
result.Render(img,new ScaleTransform() { ScaleX = scale,ScaleY = scale });

当我使用此代码将图像缩放到较小尺寸时,结果看起来正确。但是,当我将其提供给下游应用程序(卷积神经网络)时,来自变换的图像中一些难以察觉的伪像会导致非常出乎意料的结果。 (当然,神经网络对输入的微小变化非常敏感,这是一个已知问题。)

我的问题是我无法使用任何其他工具或语言重新创建相同比例的图像。我对.NET不太熟悉,但是其他工具提供了缩小图像时的重采样方法。 (例如,Python Imaging Library提供了NEARESTBOXBILINEARHAMMINGBICUBICLANCZOS)。我在想,也许System.Windows.Media可能有自己的方法来将像素值调整为较小的大小?

我在在线文档中找不到与ScaleTransform重采样有关的任何内容。任何见识将不胜感激。谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...