Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/29: Рейтинг темы: голосов - 29, средняя оценка - 4.69
2 / 2 / 0
Регистрация: 01.01.2010
Сообщений: 189

Как вывести пиксели всех картинок в csv файл через python

13.02.2019, 17:24. Показов 5823. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
я хочу картинки перевести в пиксели. я делаю так

Python
1
2
3
4
5
6
7
8
9
10
11
12
from PIL import Image
im = Image.open('image.jpg')
 
pixels = list(im.getdata())
 
 
result = []
counter = 0
for pixel in pixels:
    counter += 1
    result.append(['pixel'+ str(counter), pixel[1]])
return (result)
и получаю результат
['pixel1', 72], ['pixel2', 50], ['pixel3', 0], ['pixel4', 11], ['pixel5', 30], ['pixel6', 42], ['pixel7', 107], ['pixel8', 123]

Как мне указать путь к моим картинкам? там много их и всех нужно перевести.

im = Image.open('C:\Users\Admin\Downloads\myp icture)
далее я хочу формат вывода в csv что б был такое
каждая строка это отдельная картинка
pixel1 pixel. pixel158 pixel159 pixel160 pixel161 pixel162 pixel163 pixel164 pixel165 pixel166 pixel167 pixel168 pixel169 pixel170 pixel171 pixel172
1 0 … 0 191 250 253 93 0 0 0 0 0 0 0 0 0 0
2 0 … 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0
pixel173 pixel174 pixel175 pixel176
1 0 0 0 0
2 0 0 16 179

Как мне так сделать?

Добавлено через 46 секунд
Python
1
2
3
4
5
6
  pixel1 pixel. pixel158 pixel159 pixel160 pixel161 pixel162 pixel163 pixel164 pixel165 pixel166 pixel167 pixel168 pixel169 pixel170 pixel171 pixel172
1      0      …        0      191      250      253       93        0        0        0        0        0        0        0        0        0        0
2      0      …       32        0        0        0        0        0        0        0        0        0        0        0        0        0        0
  pixel173 pixel174 pixel175 pixel176
1        0        0        0        0
2        0        0       16      179
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.02.2019, 17:24
Ответы с готовыми решениями:

Вывести список всех файлов в каталоге и его подкаталогах в CSV-файл
Доброго времени суток, мастера! Есть каталог: C:\scan в нем несколько подкаталогов, в каждом из которых некоторое кол-во файлов. ...

Программирование на python Как в файл csv преобразовать в цисленный тип?
Как в файл csv преобразовать в цисленный тип? import csv import pandas as pd import numpy as np

Как открыть файл CSV в Excel через OpenText?
Есть файл csv. Разделитель - точка с запятой. При клике на файле он корректно открывается Экселем. Пробую его открыть программно, и не...

20
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
14.02.2019, 10:29
Цитата Сообщение от psychologist Посмотреть сообщение
Как мне указать путь к моим картинкам? там много их и всех нужно перевести.
os.listdir?

Тогда непонятно, при чём тут такой долгий разговор про пиксели.
0
2 / 2 / 0
Регистрация: 01.01.2010
Сообщений: 189
14.02.2019, 10:33  [ТС]
dondublon,
нужно получить список картинок
затем каждую картинку перевести в пиксели , чтобы они были в формате csv
т.е. в csv файле
каждая строка это пиксели одной картинки.
Как мне так сделать?
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
14.02.2019, 10:38
Цитата Сообщение от psychologist Посмотреть сообщение
затем каждую картинку перевести в пиксели , чтобы они были в формате csv
Ну это вроде у вас уже сделано, код же есть и нет жалоб, что он не работает.
Цитата Сообщение от psychologist Посмотреть сообщение
нужно получить список картинок
os.listdir?
0
2 / 2 / 0
Регистрация: 01.01.2010
Сообщений: 189
14.02.2019, 13:49  [ТС]
dondublon,
А как нужно сделать? Так?
os.listdir
im = Image.open('C:\Users\Admin\Downloads\myp icture')
0
14.02.2019, 13:54

Не по теме:

psychologist, м-дааа... кажется, тут советами не поможешь.

0
2 / 2 / 0
Регистрация: 01.01.2010
Сообщений: 189
14.02.2019, 15:06  [ТС]
dondublon,
я еще только изучаю
os.listdir имеет такой синтакс
os.listdir(path="C:\Users\Admin\Download s\mypicture")
но как мне указать в данном случае Image.open
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,301
14.02.2019, 15:34
Python
1
2
paths = os.listdir(path="C:\Users\Admin\Downloads\mypicture")
images = list(map(Image.open, paths))
1
2 / 2 / 0
Регистрация: 01.01.2010
Сообщений: 189
15.02.2019, 15:41  [ТС]
tooru,
не могу понять в чем ошибка
Python
1
2
3
4
5
6
7
8
9
paths = os.listdir(path=r"C:\Users\Admin\Downloads\mypicture")
>>> images = list(map(Image.open, paths))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\site-pa
es\PIL\Image.py", line 2634, in open
    fp = builtins.open(filename, "rb")
FileNotFoundError: [Errno 2] No such file or directory: 'img_248.jpg'
>>>
Подскажите
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
15.02.2019, 15:47
Укажите абсолютный путь к изображению, используя os.path.join().
0
2 / 2 / 0
Регистрация: 01.01.2010
Сообщений: 189
15.02.2019, 15:58  [ТС]
ioprst,
сделал, но тогда такая ошибка
Python
1
2
3
4
5
6
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\site-packag
es\PIL\Image.py", line 2634, in open
    fp = builtins.open(filename, "rb")
FileNotFoundError: [Errno 2] No such file or directory: 'C'
как это нет папки? а я на что смотрю))
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
15.02.2019, 16:02
psychologist, все верно, не существует директории "C", а вот "C:" существует.
0
2 / 2 / 0
Регистрация: 01.01.2010
Сообщений: 189
15.02.2019, 16:08  [ТС]
ioprst,
но у меня есть двоеточие же в пути

paths = os.path.join(path='C:/Users/Admin/Downloads/mypicture')
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
15.02.2019, 16:18
Цитата Сообщение от psychologist Посмотреть сообщение
но у меня есть двоеточие же в пути
os.path.join используется не для того, чтобы туда передать один путь. Вы по сути сделали бессмысленную операцию.
Python
1
2
3
>>> os.path.join('C:/Users/Admin/Downloads/mypicture','имя_файла.jpg')
'C:/Users/Admin/Downloads/mypicture\\имя_файла.jpg'
>>>
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
15.02.2019, 16:18
psychologist, вы уверены, что путь, который будет в переменной path, будет указывать на *.jpg файл?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
15.02.2019, 16:21
Можно имя пользователя вообще не хардкодить:
Python
1
2
3
>>> os.path.join(os.environ['userprofile'], 'Downloads','mypicture','имя_файла.jpg')
'C:\\Users\\Garry\\Downloads\\mypicture\\имя_файла.jpg'
>>>
0
2 / 2 / 0
Регистрация: 01.01.2010
Сообщений: 189
15.02.2019, 16:26  [ТС]
Garry Galler,
как мне сделать, чтобы указать путь ко всем картинкам, а далее уже использовать эти команды
Python
1
2
3
4
5
6
7
8
9
10
im = list(map(Image.open, paths))
pixels = list(im.getdata())
 
 
result = []
counter = 0
for pixel in pixels:
    counter += 1
    result.append(['pixel'+ str(counter), pixel[1]])
return (result)
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
15.02.2019, 16:53
Python
1
2
3
4
5
6
import glob,os
 
paths = map(os.path.abspath,glob.glob('*.jpg'))
# или так
paths = glob.glob(r'ваш_путь\*.jpg'))
im = list(map(Image.open, paths))
Добавлено через 4 минуты
Python
1
2
3
# или так
paths = glob.glob(os.path.join(os.environ['userprofile'],'Downloads','mypicture','*.jpg'))
...
1
2 / 2 / 0
Регистрация: 01.01.2010
Сообщений: 189
15.02.2019, 17:06  [ТС]
Garry Galler,
Python
1
paths = glob.glob(os.path.join(os.environ['userprofile'],'Downloads','mypicture','*.jpg'))
этот вариант замечательный

другое дело вот эта строчка
Python
1
list(im.getdata())
Python
1
2
3
4
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'getdata'
>>>
это как победить?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
15.02.2019, 17:13
Лучший ответ Сообщение было отмечено psychologist как решение

Решение

Цитата Сообщение от psychologist Посмотреть сообщение
это как победить?
Это не нужно побеждать.
У вас в переменной im список открытых файловых объектов. То что вы и хотели.
Просто пользуйтесь ими.
Python
1
2
3
4
paths = glob.glob(os.path.join(os.environ['userprofile'],'Downloads','mypicture','*.jpg'))
im = list(map(Image.open, paths))
for  obj in im:
    pixels = list(obj.getdata())
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.02.2019, 17:13
Помогаю со студенческими работами здесь

Как загрузить CSV файл через API Яндекс.Аудитории
Здравствуйте, мне нужно загрузить CSV файл в яндекс.аудитории через их API, а я в этом совсем новичок. Я зарегистрировал приложение в...

Как записать CSV файл в кодировке ANSI через Node js
У меня проблема с созданием CSV файла с данными из моего mongoDB. Я использую fast-csv. Данные пишутся на украинском языке, поэтому вместо...

Как загрузить файл csv через кнопку, а затем через другую кнопку один из его столбцов преобразовать в массив
Как загрузить файл csv через кнопку, а затем через другую кнопку один из его столбцов преобразовать в массив

Анализ данных в Python, CSV файл
Есть такой код который я сама написала, и CSV файл(который я не могу прикрепить сюда как CSV) с данными об использовании велодорожек.Файл...

Python пихаем csv файл в Influxdb
Вопрос к знатокам, да и в целом кто может помочь. при запуске возникает ошибка line not save string indices must be integers, not...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru