image_to_numpy
image_to_numpy copied to clipboard
Jpeg from Fujifilm
I'm not a Python developer. So my Python may be just misconfigured. But I read a translation of your article https://habr.com/ru/post/471112/ and decided to check a jpeg from Fujifilm X-T1. These jpegs were a reason for some bugs in my PHP code. And yes, it does not work in your code (normal jpeg from Photoshop works).
File: https://dm9.ru/tmp/1.jpg
img = image_to_numpy.load_image_file("D:\\Tmp\\1.jpg")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Program Files\Python36\lib\site-packages\image_to_numpy\src.py", line 84, in load_image_file
img = PIL.ImageOps.exif_transpose(img)
File "C:\Program Files\Python36\lib\site-packages\PIL\ImageOps.py", line 549, in exif_transpose transposed_image.info["exif"] = exif.tobytes()
File "C:\Program Files\Python36\lib\site-packages\PIL\Image.py", line 3213, in tobytes return b"Exif\x00\x00" + head + ifd.tobytes(offset)
File "C:\Program Files\Python36\lib\site-packages\PIL\TiffImagePlugin.py", line 822, in tobytes data = self._write_dispatch[typ](self, *values)
TypeError: write_undefined() takes 2 positional arguments but 5 were given
File "/home/oyx/anaconda3/envs/detectron/lib/python3.6/site-packages/PIL/TiffImagePlugin.py", line 822, in tobytes
data = self._write_dispatch[typ](self, *values)
TypeError: write_undefined() takes 2 positional arguments but 5 were given
I get the same error.
It seems to be related to this issue https://github.com/python-pillow/Pillow/issues/4346
You can use the image_to_numpy.exif_transpose(img)
function directly.
Here's how to do it
- Create an image from the file
- pass the image to the exif_transpose() function
img = PIL.Image(file)
array = image_to_numpy.exif_transpose(img)