美文网首页
批量读取文件夹下的图片,计算像素的平均值

批量读取文件夹下的图片,计算像素的平均值

作者: 求索_700e | 来源:发表于2019-04-19 09:59 被阅读0次

    import cv2

    import os

    import numpy as np

    args={"fname": "/home/ta/Desktop/train_set_v3/txt/train.txt",

          "delimiter": " ",

          "img_depth": 1

        }

    def _read_label_file_train_val(file, delimiter):

      f = open(file, "r")

      filepaths = []

      labels = []

      collection=[]

      for line in f:

        collection.append(line)

      np.random.shuffle(collection)

      for cl in collection:

          tokens = cl.split(delimiter)

          filepaths.append(tokens[0])

          labels.append(int(tokens[1]))

      return filepaths, labels

    def _read_image(path):

              if args["img_depth"]==3:

                img=cv2.imread(path, cv2.IMREAD_COLOR)

                HT,WD,_=img.shape

              else:

                img=cv2.imread(path, cv2.IMREAD_GRAYSCALE)

                HT,WD=img.shape

              img_=img.astype(np.float64)

              return img_

    def get_data():

            filepaths,_=_read_label_file_train_val(args["fname"], args["delimiter"])

            num=len(filepaths)

            mean=0

            for i in range(num):

              img=_read_image(filepaths[i])

              mean=mean+np.mean(img)/num

            print("-----mean=",mean)

    if __name__ == '__main__':

      get_data()

    相关文章

      网友评论

          本文标题:批量读取文件夹下的图片,计算像素的平均值

          本文链接:https://www.haomeiwen.com/subject/fynfgqtx.html