Сохранение свойств изображения в CSV с помощью Python
Опубликовано: 24 Марта, 2022
В этой статье мы напишем скрипты на Python, чтобы найти высоту, ширину, нет. каналов в данном файле изображения и сохраните его в формате CSV. Ниже представлена реализация того же самого с использованием Python3. Предпосылкой для этого раздела является то, что вы уже установили NumPy и OpenCV.
Подход:
- Сначала мы загрузим необходимые библиотеки в файл python (NumPy, OpenCV и т. Д.).
- Создайте пустой файл CSV с именем столбца только в том случае, если файл CSV отсутствует (высота, ширина, каналы, цвета и т. Д.). Если файл data.csv не существует, оператор else создаст новый файл.
- Теперь мы будем использовать функцию argparse (), чтобы получить путь к каталогу изображений от пользователя в командной строке.
- Найдите свойства цвета с помощью CV2.
- Мы будем использовать функцию image.shape, чтобы узнать высоту, ширину и каналы изображения.
- Затем мы рассчитаем средний красный , средний синий , средний зеленый цвета изображения.
- Затем мы запишем выходные данные в файл csv с помощью функции writerow () .
Below is the implementation:
Python3
# Required Librariesfrom os import listdirfrom os.path import isfile, joinfrom pathlib import Pathimport numpyimport cv2import argparseimport numpyimport csv # Check whether the CSV # exists or not if not then create one.my_file = Path("csv/details.csv") if my_file.is_file(): f = open(my_file, "w+") with open("csv/details.csv", "a", newline="") as file: writer = csv.writer(file) writer.writerow(["S.No.", "Name", "Hieght", "Width", "Channels", "Avg Blue", "Avg Red", "Avg Green"]) f.close() pass else: with open("csv/details.csv", "w", newline = "") as file: writer = csv.writer(file) writer.writerow(["S.No.", "Name", "Hieght", "Width", "Channels", "Avg Blue", "Avg Red", "Avg Green"]) # Argparse function to get# the path of the image directoryap = argparse.ArgumentParser() ap.add_argument("-i", "--image", required = True, help = "Path to folder") args = vars(ap.parse_args()) # Program to find the# colors and embed in the CSVmypath = args["image"] onlyfiles = [ f for f in listdir(mypath) if isfile(join(mypath,f)) ]images = numpy.empty(len(onlyfiles), dtype = object) for n in range(0, len(onlyfiles)): path = join(mypath,onlyfiles[n]) images[n] = cv2.imread(join(mypath,onlyfiles[n]), cv2.IMREAD_UNCHANGED) img = cv2.imread(path) h,w,c = img.shape print(h, w, c) avg_color_per_row = numpy.average(img, axis = 0) avg_color = numpy.average(avg_color_per_row, axis = 0) with open("csv/details.csv", "a", newline = "") as file: writer = csv.writer(file) writer.writerow([n+1, onlyfiles[n], h, w, c, avg_color[0], avg_color[1], avg_color[2]]) file.close() |
Выход:

Использование:
- Сохраните этот код с именем main.py.
- Shift (клавиша) + щелчок правой кнопкой мыши и щелкните здесь, чтобы открыть окно PowerShell.
python3 main.py --image / путь / к / изображениям / папке /:
Вывод файла CSV:

Созданный файл CSV
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.