无需平滑即可以2的幂增加图像尺寸

时间:2012-12-11 08:03:40

标签: c++ qt imagemagick image-resizing

在C ++中,或通过Linux shell脚本,如何在不进行任何插值的情况下以2的幂(例如40x60图像到80x120)对图像进行大小调整,因此它具有如下所示的清晰像素化外观图片。每当我使用Magick ++的Image或Qt QImage时,它会对生成的图像应用平滑。

Pixelated image

PS:已经有一个question用于C#。

3 个答案:

答案 0 :(得分:1)

您可以使用OpenCV resize()执行此操作。你应该使用INTER_NEAREST插值。

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

在At中,如果您使用QImage转换方法的默认参数,Qt::FastTransformation类的scaled function可以完成工作。