Unable to read png image using reportlab - python

I need to generate a PDF file, which needs to insert some pictures
I searched a lot of information, but still can't read or insert pictures into PDF
The error message provided is:
UnidentifiedImageError:
fileName=<_io.BufferedReader name='111.png'> identity=[ImageReader#0x7fe50f6ba3d0] cannot identify image file <_io.BytesIO object at 0x7fe50f46ad60>
code
enter image description here
Does anyone know how to solve this problem please?

Related

How can i get it to show my image using the scikit image library. I have been getting errors

enter image description here
this is the error that i have been getting
FileNotFoundError: No such file: '/home/jovyan/Downloads/filename.jpg'
i am trying to open and show an image using scikit image library but it hasnt been working
I guess you made mistake.
do it this way.
r'/home/jovyan/Downloads/filename.jpg'
Put the character 'r' at the beginning of the root directory.

Exporting and downloading images from Azure Blob Storage

I am exporting some matplotlib plots from Databricks to Blob Storage. No problem here, just using:
plt.savefig('/dbfs/my_plot.png')
dbutils.fs.cp('dbfs:my_plot.jpg', blob_container)
The problem is that when I download and open the image locally, it is blank. I am not sure if I have to transform it or at some point specify the metadata, cause it appears as application/octet-stream in the Blob.
any ideas?
• When you are trying to download and open the image locally, you are still seeing the image as blank because you are using the command as posted by you for saving them in readable image format in the Azure blob storage, which is correct but when you are showing the plot or downloading it, you should use the command ‘plt.show('/dbfs/my_plot.png')’ before the below commands as shown: -
plt.show('/dbfs/my_plot.png')
plt.savefig('/dbfs/my_plot.png')
dbutils.fs.cp('dbfs:my_plot.jpg', blob_container)
• If you are not using the above command as said, you will only get the image as blank only. Also, if you don’t want undesirable white space around your image, you can remove that using the command as below as this white space may also be the reason behind your image showing as blank as the space might have consumed greater area than the actual plot.
plt.savefig('/dbfs/my_plot.png', bbox_inches='tight')
For more information and details regarding the solution for this problem, kindly refer to the below community thread: -
Save plot to image file instead of displaying it using Matplotlib

OSError: cannot identify image file (issue with certain images)

I have a script that is downloading and performing certain operations on files from a website. A couple of times a week some of the images will throw this error (edit for bump):
OSError: cannot identify image file '57343948435235236aede7dceb672559.png'
Even when manually running code as simple as the following, it produces the error:
imagefile = Image.open('57343948435235236aede7dceb672559.png')
Here are the important facts:
If I redownload the file using requests.get() I get the same error when attempting to open it.
If I redownload the file by saving it using a web browser, I instead get the error PIL.UnidentifiedImageError: cannot identify image file when attempting to open it using PIL
I can view the files (using Window Photo Viewer, a Linux image viewer, etc.) so they aren't completely corrupted.
If I open the image in Paint and save it under the same name, I can then open it using PIL.
Given all this, it appears to be an issue with specific image files hosted on the site; they are viewable in applications, but not openable using PIL. I'm assuming something is wrong with the byte structure or headers in the image, and saving overwrites those issues. Is there some library or automatic process I can use to 'fix' these images when the error occurs?
Below, I am including a minimal, reproducible example. PLEASE NOTE: THE EXAMPLE URL IN THIS CASE IS NSFW IN NATURE, AND THEREFORE HAS BEEN REDACTED. SEE MY COMMENT TO THIS POST FOR A PASTEBIN LINK TO THE FULL CODE.
from PIL import Image
url = 'SEE ABOVE NOTE'
file_name =(url).split('/')[-1:][0]
# Downloading the image file data.
file_data = get(url).content
# Write the data to a file.
with open(file_name, 'wb+') as file_object:
file_object.write(file_data)
# Opening the image with PIL
with Image.open(file_name) as image_file:
# "OSError: cannot identify image file" happens here
pass

Can't save Matplotlib images to a readable .tif format

I'm having trouble saving my Matplotlib plots to a readable .tiff format. The file itself does save, but when I double-click on it on the folder, I get the following error in Windows Photo Viewer:
"Windows Photo Viewer can't open this picture because either Photo Viewer doesn't support this file format, or you don't have the latest updates to Photo Viewer."
But attempted workarounds such as trying to load the file with Paint or Photo do not work. I get the feeling that the file is not saving correctly. (The image displays just fine and can be saved as a .gif just fine.) How do I resolve this?

Please call SetImage before attempting recognition.0 error by pytesser

i am trying to convert a text image into text. I am using pytesser in python for that I have already installed tesseract but on running even the following code:
from pytesser import *
im = Image.open('phototest.tif')
text = image_to_string(im)
print text
I get the following error:
Tesseract Open Source OCR Engine with Leptonica
Please call SetImage before attempting recognition.
and nothing gets printed nothing (no result).
Any help on the above problem?
Try converting your image to another format and see if you have the same issue. I had this same problem using Tesseract form the command line. I had a bmp file, I saved the files in my pre processing to png and tesseract worked fine.
As an alternative, you can use pytesseract, which will automatically convert your image and process it correctly.

Categories