zoukankan      html  css  js  c++  java
  • 问题记录 | 记录PIL中Image.save的一个坑

    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:
    ",np.array(IMG_read_again))
            return resize_img_path
    
  • 相关阅读:
    [css]继承关系(一)
    Trie树-提高海量数据的模糊查询性能
    [C]struct结构化数据的一些要点
    [C]表达式结合规律和运算符优先级
    [C]副作用和序列点
    [C]链接和生存周期
    [PHP]关于连接MySQL的问题
    IT网址大全
    VUE 生命周期
    Vue 组件间传值
  • 原文地址:https://www.cnblogs.com/ManWingloeng/p/11537192.html
Copyright © 2011-2022 走看看