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

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

13.02.2019, 17:24. Показов 5801. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru