Ошибка отображения простого изображения numpy.ndarray с помощью OpenCVPython

Программы на Python
Ответить
Anonymous
 Ошибка отображения простого изображения numpy.ndarray с помощью OpenCV

Сообщение Anonymous »

У меня есть простой фрагмент кода для отображения черного изображения с помощью OpenCV, но я столкнулся с ошибкой.
Код:

Код: Выделить всё

import cv2
import numpy as np

# Create a simple black image
image = np.zeros([480, 640, 3], dtype=np.uint8)

# Attempt to display the image
cv2.imshow("Simple_black", image)
cv2.waitKey(0)
Сообщение об ошибке:

Код: Выделить всё

cv2.error: OpenCV(4.11.0) :-1: error: (-5:Bad argument) in function 'imshow'
Overload resolution failed:
- mat is not a numpy array, neither a scalar
- Expected Ptr for argument 'mat'
- Expected Ptr for argument 'mat'
Что я пробовал:
  • Я подтвердил, что изображение является действительный numpy.ndarray с формой (480, 640, 3) и dtype uint8.
  • Проблема возникает только при вызове cv2.imshow(). Ошибка указывает на то, что аргумент, переданный в imshow, недействителен.
  • Когда я использую cv2.imread() для чтения изображения из файла, cv2.imshow() работает как положено. Ошибка возникает только при использовании простого numpy.ndarray, созданного np.zeros().
Дополнительная информация:
Я планирую использовать графический процессор для взаимодействия с ZED SDK, поэтому я установил CUDA 12.6
< strong>Вопрос:
Почему я получаю эту ошибку при отображении изображения numpy.ndarray?

Как я могу устранить эту ошибку и успешно отобразить изображение с помощью cv2.imshow()?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ith-opencv
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»