TypeError: Данные изображения не могут быть преобразованы в плавающее // При импорте изображений .png - PullRequest
1 голос
/ 23 апреля 2020

Я сохранил инвертированные бинаризованные изображения после извлечения строк из таблиц как png (сделал это с opencv). Теперь, когда я пытаюсь загрузить их с помощью opencv или matplotlib, в заголовке будет отображаться NoneType или ошибка. Я проверил много разных сообщений с той же ошибкой. Я думаю, это как-то связано с данными изображения.

import cv2
import matplotlib.pyplot as plt


imgs = cv2.imread('Users/marius/Desktop/PDF/imgvh/1.png')
cv2.imshow('Users/marius/Desktop/PDF/imgvh/1.png', imgs)

enter image description here

Ошибка, возникающая при использовании cv2:

cv2.error: OpenCV(4.2.0) /Users/travis/build/skvark/opencv-python/opencv/modules/highgui/src/window.cpp:376: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'imshow'

Использование matplotlib следующим образом:

imgs = plt.imshow('Users/marius/Desktop/PDF/imgvh/1.png')
plt.show()

приводит к следующей ошибке:

TypeError: Image data of dtype <U49 cannot be converted to float

1 Ответ

1 голос
/ 23 апреля 2020

Часть OpenCV не работает, потому что вы опустили sla sh в начале пути перед Users/marius.... Это должно быть:

imgs = cv2.imread('/Users/marius/Desktop/PDF/imgvh/1.png')

Часть matplotlib не работает, потому что она должна быть:

imgs = cv2.imread('/Users/marius...')

plt.imshow(imgs)
plt.show()  
...