Python Forum
convert images into pixel dataframe into csv file using python
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
convert images into pixel dataframe into csv file using python
#1
i want convert images to pixels

i do so

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)
and get the result
['pixel1', 72], ['pixel2', 50], ['pixel3', 0], ['pixel4', 11], ['pixel5', 30], ['pixel6', 42], ['pixel7', 107], ['pixel8', 123]
here one picture

but there are many pictures, i want covert it all to pixels

the path
so i want take all picture from here
im = Image.open('C:\Users\Admin\Downloads\mypicture)
output in csv file?
each row it is one picture

Output:
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
how to do it correct?
Reply
#2
Note, If you image is not a gray-scale one, each pixel will likely be presented as a triple (r, g, b), where r, g, b are integer values from 0 to 255 (or floats in [0,1]);
So, you would be needed to store that triple for every pixel.

Given a PIL-image img, you can convert it to the numpy array:

import numpy as np

img_converted = np.array(img)

# Now you can flatten you array
row =  img_converted.ravel()

# and convert to list
row_as_list = row.tolist()
Finally, I am not clear with underlying problem of this. What are you
trying to do? But I am sure, that you don't need to use pixel-wise loops in pure Python, they
are very slow.Typical workflow with images in Python assumes using scikit-image, numpy and scipy packages, which computationally expensive parts are implemented in C/Cython. This allows to perform image
manipulations reasonably faster in comparison with pure Python implementation of image processing algorithms.
Reply
#3
scidam, hello, i decided do it in another way

from PIL import Image
import glob,os

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())
and i get pixels

so my question.
this path were pictures
('C:\Users\Admin\Downloads\mypicture), i want attache only two picture in forum

https://imgur.com/a/LiRdmvU
https://imgur.com/a/KWtqSdr

how these pixelsimport in csv ?
output
picname	   pix1	pix2 pix3
img_248.jpg	0	0	0
img_350.jpg	0	0	0
Reply
#4
So, you have a matrix filled with either 0 or 1.
If I understood you correctly, you need to save it to a file.
You can do it using numpy:

import numpy as np
sample_matrix = np.random.randint(0, 2, size=(10,10)).tolist()
np.savetxt('output.csv', sample_matrix, delimiter=',')
Additinally, you can pass header keyword to .savetxt to set column names.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  export dataframe to file.txt dramauh 5 1,885 Apr-21-2022, 01:23 AM
Last Post: sarahroxon7
  Convert several columns to int in dataframe Krayna 2 2,364 May-21-2021, 08:55 AM
Last Post: Krayna
  Export dataframe to xlsx - Error "zipfile.BadZipFile: File is not a zip file" Baggio 10 61,429 Mar-12-2021, 01:02 PM
Last Post: buran
  How to form a dataframe reading separate dictionaries from .txt file? Doug 1 4,199 Nov-09-2020, 09:24 AM
Last Post: PsyPy
  Indirectlty convert string to float in JSON file WBPYTHON 6 5,833 May-06-2020, 12:09 PM
Last Post: WBPYTHON
  Convert dataframe string column to numeric in Python darpInd 1 2,271 Mar-14-2020, 10:07 AM
Last Post: ndc85430
  How to add a dataframe to an existing excel file wendysling 2 28,055 May-09-2019, 07:00 PM
Last Post: wendysling
  Insert images in a folder into dataframe tofi 0 5,354 Dec-14-2018, 08:05 PM
Last Post: tofi
  Write specific rows from pandas dataframe to csv file pradeepkumarbe 3 5,433 Oct-18-2018, 09:33 PM
Last Post: volcano63
  Python read Password protected excel and convert to Pandas DataFrame FORTITUDE 2 17,026 Aug-30-2018, 01:08 PM
Last Post: FORTITUDE

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020