Snippets: Image processing
Useful snippets reference while working with Images
Convert Image to CSV
I recently had to convert a binary image into a csv file. Here is a quick and simple way of doing this.
import numpy as np
from PIL import Image
im = np.array(Image.open('fromfile.bmp'), dtype=int)
np.savetxt('tofile.csv', im, fmt='%d', delimiter=',')
Convert CSV to image
We can use numpy and Pillow to convert from a CSV to Image. The following snippet is for binary images or grayscale images
import numpy as np
from PIL import Image
arr = np.genfromtxt('fromfile.csv',
dtype=np.uint8,
delimiter=',',
invalid_raise=False) # if your csv has unequal number of cols
arr = np.nan_to_num(arr)
img = Image.fromarray(arr)
img.convert('L')
img.save('tofile.png')