我这里有一个图像(DMM\u a01\u s01\u e01_sdepth.PNG格式,基本上是人类的深度图之类的,我真的不知道细节:():
但当我试图用我自己编写的代码将其调整为20x20时:
from scipy import misc
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import numpy as np
import math
import cv2
im = misc.imread('DMM_a01_s01_e01_sdepth.PNG')
def rgb2gray(rgb):
return np.dot(rgb[...,:3], [0.299, 0.587, 0.114])
if len(im.shape) ==3:
im = rgb2gray(im) # Convert RGB to grayscale
# Show image
plt.imshow(im, cmap = cm.Greys_r)
plt.show()
# Resize image
boxSize = 20
newImage= misc.imresize(im, (boxSize,boxSize), interp="bicubic")
plt.imshow(newImage, cmap = cm.Greys_r)
plt.show()
,调整大小的图像不再与原始图像相同:
如何调整大小并保持图像的结构?请帮帮我,非常感谢:)
你所要求的是不可能的。调整图像大小是一种破坏性操作。你有54x102像素(5508像素的数据),你正试图把这个数量的数据放进一个20x20的图像中-那只是400像素!基于你使用的算法,你总是会丢失一些细节、结构等——在本例中是scipy的
相关问题 更多 >
编程相关推荐