【问题标题】:Why are these two arrays exactly the same?为什么这两个数组完全一样?
【发布时间】:2018-05-01 18:48:10
【问题描述】:

这是我的代码。

import sys, os
import numpy as np
import matplotlib.pyplot as plt
import PIL
from PIL import Image

im = Image.open('C:/research/1.jpg')
im_bicubic = Image.open('C:/research/1.jpg')
wei, hei = im.width, im.height

im = im.resize((wei,hei), 0)
im_bicubic = im_bicubic.resize((wei,hei), PIL.Image.BICUBIC)

im.save('C:/research/1ori.jpg')
im_bicubic.save('C:/research/1bic.jpg')

原图保存到“im”。

双三次插值图像已保存到“im_bicubic”。

而且我把它保存到任何文件夹中,但是当我查看它时,这两个图像之间没有区别。

我添加了这个验证码。

im_array=np.asarray(im)
im_bicubic_array=np.asarray(im_bicubic)

print(im_bicubic_array - im_array)

结果是一个全为零的数组。

这两个数组完全一样。

为什么原版的和插值法的一样?

枕头,双三次的,我用过另一个,但也一样。

为什么两张图一模一样?

我是不是把代码弄错了导致双三次不起作用?

谢谢。

【问题讨论】:

  • 您预计会发生什么?也许这是解决问题的更好方法
  • 您确实意识到您在同一个图像中阅读了两次,不是吗?
  • 这是因为您没有调整图像的大小(例如,您将它们调整为当前大小),所以使用的插值方法无关紧要。
  • 我想我可以把尺寸缩小到 1/3 然后 wei, hei 再次,但结果是一样的

标签: python image-processing interpolation pillow bicubic


【解决方案1】:

由于您将大小调整为完全相同的形状,因此无需进行插值。这就是为什么两个图像仍然相同的原因。

只有在调整到其他形状的大小时,插值才有意义。

【讨论】:

  • 我想我可以把尺寸缩小到 1/3,然后再 wei,hei,但实际上不是
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多