试图在C ++中重现PIL调整大小图像的输出

时间:2017-08-21 14:23:45

标签: python c++ opencv python-imaging-library

我目前正在使用

在python中调整PIL图像的大小
resized_image = pil_image.resize((128, 128), resample=Image.BILINEAR)

我想使用C ++调整相同的图像大小,并使输出与python版本相同。我尝试过像这样使用opencvs resize函数

cv::GpuMat::src;
cv::GpuMat::dst;
cv::cuda::resize(src, dst, cv::Size(128, 128), NULL, NULL, cv::INTER_LINEAR);

但是,如果我将两个图像写入文件并检查它们,我会发现调整大小的图像的python版本显然更加模糊。

我正在寻找用C ++忠实再现重新调整大小的python图像的方法,但我不确定最好的方法是什么。首先,我并不真正理解为什么输出存在差异,他们使用相同的双线性下采样。<​​/ p>

我尝试检查https://github.com/python-pillow/Pillow/blob/master/PIL/Image.py中的代码,看看它是否正在调用c-lib。但说实话,我甚至不了解调整大小的方法是如何工作的。它似乎只是在最后调用自己而不进行任何调整大小的工作。

0 个答案:

没有答案