0

在 C++ 中,或通过 Linux shell 脚本,我如何在没有任何插值的情况下将图像放大 2 次方(例如,将 40x60 图像放大到 80x120),因此它会呈现出清晰的像素化外观,如下图所示。每当我使用 Magick++'sImage或 Qt's执行此操作时QImage,它都会对生成的图像进行平滑处理。

像素化图像

PS:已经有一个关于C# 的问题。

4

3 回答 3

1

您可以使用 OpenCVresize()来执行此操作。您应该使用 INTER_NEAREST 插值。

于 2012-12-11T08:06:33.387 回答
1

由于您安装了 ImageMagick,因此 shell 脚本友好选项将是mogrify -scale 200% image.png这在缩小时使用线性重采样,在放大时使用最近邻。

如果首选 C++,则该scale方法的Image工作方式相同。

于 2012-12-11T08:14:06.213 回答
0

在 Qt 中,如果您使用转换方法的默认参数(scaled.QImageQt::FastTransformation

于 2012-12-11T19:50:05.103 回答