Opencv не работает imread python

Read png image with cv2.imread form Opencv3 in Python3.7.1 and no pixel at all with black window

I have two png images, one is outputed by python library pillow to png, converted from svg font image, another is this one read by and re-saved from windows 10’s paint program to png. Strangely, I use opencv3 cv2.imread function to read these images, one is not OK with only black window, another is OK. How to read these pngs both correctly? CODE:

import cv2 image_file_path = r"" image = cv2.imread(image_file_path, cv2.IMREAD_ANYDEPTH) if(! os.path.exists(image_file_path)): print('NOT EXIST! = ' + image_file_path) cv2.namedWindow('image', cv2.WINDOW_NORMAL) cv2.imshow("image", image) cv2.waitKey() 

2 Answers 2

The first image is in 4-channel RGBA format with a completely pointless, fully opaque, alpha channel which you can ignore.

The second image is in 2-channel Grey+Alpha format where all the pixels are pure solid black and the shapes are defined only in the alpha channel.

  • discard the last channel of the first image, which you can do by using cv2.IMREAD_COLOR
  • discard all except the last channel of the second image, which you can do like this: im = cv2.imread(‘2.png’,cv2.IMREAD_UNCHANGED)[. -1]

I obtained the information above by using ImageMagick which is included in most Linux distros and is available on macOS and Windows.

The command I used in Terminal is:

magick identify -verbose 2.png 

Sample Output

Image: 2.png Format: PNG (Portable Network Graphics) Mime type: image/png Class: DirectClass Geometry: 1040x1533+0+0 Units: Undefined Colorspace: Gray Type: Bilevel Base type: Undefined Endianess: Undefined Depth: 8-bit Channel depth: Gray: 1-bit  

I have annotated with arrows and notes on the right above.

Note 1: This tells me the image is greyscale + alpha

Note 2: This tells me all the greyscale pixels are black, since the max is zero and the min is zero

Note 3: This tells me that there are some fully transparent pixels, and some fully opaque pixels

Источник

OPENCV PYTHON IMREAD НЕ РАБОТАЕТ

OpenCV - это библиотека компьютерного зрения, которую можно использовать с Python. Модуль OpenCV Python, который загружает изображения, называется imread.

Однако, если при использовании imread возникает проблема, необходимо проверить несколько вещей. Во-первых, убедитесь, что вы правильно импортировали библиотеку OpenCV в свой скрипт Python. Если это не исправляет проблему, возможно, проблема заключается в указании пути к файлу изображения.

Кроме того, если файл изображения находится в другом каталоге, отличном от рабочего каталога Python, вам может потребоваться указать полный путь к файлу. Ниже приведен пример использования imread:

import cv2
img = cv2.imread('image.jpg')
cv2.imshow('Image', img)
cv2.waitKey(0)

Если не удается загрузить изображение с помощью imread, возможно, оно не соответствует поддерживаемым форматам файла библиотеки OpenCV. Проверьте, поддерживается ли формат файла вашего изображения OpenCV.

Кроме того, у вас может отсутствовать необходимый кодек для декодирования файла изображения. В этом случае вам необходимо установить дополнительные кодеки для OpenCV.

solving problem of reading image in python opencv حل مشكلة قراءة الصورة في البايثون

imread( ) \u0026 imwrite( ) FUNCTIONS IN OPENCV (PYHTON LIBRARY) -- COMPUTER VISION LIBRARY IN PYTHON

Python - OpenCV - PyCharm cannot find cv2 references - Urdu - Hindi

OpenCV Python Tutorial For Beginners 3 - How to Read, Write, Show Images in OpenCV

How to image Read \u0026 Show Display in Opencv Python - Function imread() imshow()

[Mì Python] Bài 3. Python và OpenCV

OpenCV - Sửa Lỗi Pycharm Không Hiện Gợi Ý Code OpenCV Thành Công 100%

Tutorial -2 Image representation, pygame.ru() and pygame.rue()

OpenCV Part 2 - Image processing in Python -Open CV2 - imshow() not working in kaggle

  • Python расширенный алгоритм евклида
  • Python на вход вашей программе строка содержащая число сократите его указанным образом до 1 цифры
  • Python anywhere как загрузить бота
  • Как обновить pip в python pycharm
  • Плюс минус задача python
  • Gil в python
  • Поле ввода python tkinter
  • Python для хакеров нетривиальные задачи и проекты
  • Click selenium python не работает
  • Кружок выход за границы python
  • Python создать новый список из старого
  • Компьютерное зрение на python
  • Could not convert string to float python ошибка
  • Python как получить html код страницы
  • Обход множества python

Источник

OpenCV Python не открывает изображения с помощью imread()

Я не совсем уверен, почему это происходит, но я нахожусь в процессе создания программы, и у меня возникают тонны проблем, пытающихся заставить opencv открывать изображения с помощью imread. Я продолжаю получать сообщения о том, что изображение имеет ширину 0px и высоту 0px. Это не имеет особого смысла для меня, поэтому я искал здесь, и я также не получаю никаких ответов от SO.

Я сделал около 20 снимков, и все они используют одно устройство. Вероятно, 8 из них действительно открываются и работают правильно, остальные нет. Они также не повреждены, потому что они открываются в других программах. Я трижды проверил пути, и они используют полные пути.

У кого-нибудь еще есть такие проблемы? Все мои файлы являются.jpgs, и я не вижу никаких проблем с моей стороны. Это ошибка или я что-то не так делаю?

Вот фрагмент кода, который я использую, который воспроизводит ошибку на моем конце.

imgloc = "F:\Kyle\Desktop\Coinjar\Test images\ten.png" img = cv2.imread(imgloc) cv2.imshow('img',img) 

Когда я изменяю файл, я просто изменяю имя самого файла, весь путь не меняется, он просто отказывается принимать некоторые из моих изображений, которые по сути совпадают.

Я получаю эту ошибку из более поздней части кода, где я пытаюсь использовать img.shape

Traceback (most recent call last): File "F:\Kyle\Desktop\Coinjar\CoinJar Test2.py", line 14, in height, width, depth = img.shape AttributeError: 'NoneType' object has no attribute 'shape' 

и я получаю эту ошибку, когда я пытаюсь показать окно из фрагмента кода выше.

Traceback (most recent call last): File "F:\Kyle\Desktop\Coinjar\CoinJar Test2.py", line 11, in cv2.imshow('img',img) error: ..\..\..\..\opencv\modules\highgui\src\window.cpp:261: error: (-215) size.width>0 && size.height>0 in function cv::imshow 

Источник

Читайте также:  Среда исполнения java jdk
Оцените статью