Image.save然后open數值是會變的
我找了一個下午終於找出問題所在,PIL的Image庫中把圖片resize了之后存在本地然后再讀進來,與直接resize后的數值是不一樣的。
data_val:
[[[[175 104 78]
[174 102 77]
[178 106 81]
resize_progress:
[[[175 104 78]
[174 102 77]
[178 106 81]
...
IMG_read_again resize_progress:
[[[182 105 75]
[182 105 75]
[182 105 75]
...
數組太長了,只放一部分上博客。
函數寫成如下:
def resize_img(self, img_path):
dirname = os.path.dirname(img_path)
img_basename=os.path.basename(img_path)
tmp_dir = os.path.join(dirname,'resize/')
if not os.path.exists(tmp_dir):
os.makedirs(tmp_dir)
img = Image.open(img_path)
img = img.resize((self.img_row, self.img_col), Image.ANTIALIAS)
print("resize_progress:",np.array(img))
resize_img_path = os.path.join(tmp_dir,img_basename)
img.save(resize_img_path)
self.img_path = resize_img_path
IMG_read_again = Image.open(resize_img_path)
print("IMG_read_again resize_progress:\n",np.array(IMG_read_again))
return resize_img_path
