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

Python 试图重现PIL'的输出;在C+中调整图像大小+;,python,c++,opencv,python-imaging-library,Python,C++,Opencv,Python Imaging Library,我目前正在使用 resized_image = pil_image.resize((128, 128), resample=Image.BILINEAR) 我想用C++来调整同一个图像的大小,并且输出与Python版本相同。我尝试过像这样使用opencvs调整大小函数 cv::GpuMat::src; cv::GpuMat::dst; cv::cuda::resize(src, dst, cv::Size(128, 128), NULL, NULL, cv::INTER_LINEAR); 但

我目前正在使用

resized_image = pil_image.resize((128, 128), resample=Image.BILINEAR)
<>我想用C++来调整同一个图像的大小,并且输出与Python版本相同。我尝试过像这样使用opencvs调整大小函数

cv::GpuMat::src;
cv::GpuMat::dst;
cv::cuda::resize(src, dst, cv::Size(128, 128), NULL, NULL, cv::INTER_LINEAR);
但如果我将这两个图像都写入文件并检查它们,我会发现python版本的调整大小的图像明显更加模糊

我正在寻找方法来忠实地复制C++中的大小调整后的Python图像,但我不确定最好的方法是什么。首先,我真的不明白为什么输出中会有差异,它们使用相同的双线性下采样


我试着检查中的代码,看看它是否在调用c-lib。但老实说,我甚至不明白调整大小的方法是如何工作的。看起来它只是在最后调用自己,没有做任何调整大小的工作。

这会带来麻烦,而且有点宽泛。例如,如果您从jpg获取输入,即使解码器也可以输出不同的图像。然后调整大小可能需要更多的方法(例如边界处理,尽管您的描述听起来似乎不是罪魁祸首),我忽略了潜在的GPU差异(浮点大小和co)。为什么不在python部分也使用opencv(希望它使用相同的核心)?或者可能是最省事的方法(取决于您的任务):将其全部外包给imagemagick。python代码将调用委托给。