Search on blog:

OpenCV: error: (-215:Assertion failed) !_img.empty() in function 'imwrite' [PL]

Błąd

cv2.error: OpenCV(4.1.2) /io/opencv/modules/imgcodecs/src/loadsave.cpp:715: error: (-215:Assertion failed) !_img.empty() in function 'imwrite'

oznacza, że próbujesz zapisać pustą tablicę (pusty obraz).

Ten sam błąd można otrzymać używąc pustej tablicy.

import cv2
import numpy as np

cv2.imwrite('img.png', np.array([]))

Ale jeśli doda się przynajmniej jeden element to wtedy działa bez błędu.

import cv2
import numpy as np

cv2.imwrite('img.png', np.array([0]))

Bezpośrednio przed imwrite można sprawdzić wymiary lub wielkość tablicy aby to potwierdzić.

import cv2
import numpy as np

arr = np.array([])

print('shape:', arr.shape)
print('size:', arr.size)
print('--- arr ---\n', arr, '\n--- end ---')

cv2.imwrite('img.png', )

Ten kod będzie działał bez błędu bo tablica nie jest pusta.

import cv2
import numpy as np

arr = np.array([
    [  0,   0,   0],
    [  0, 255,   0],
    [  0,   0,   0],
], dtype='uint8')

print('shape:', arr.shape)
print('size:', arr.size)
print('--- arr ---\n', arr, '\n--- end ---')

cv2.imwrite('img.png', arr)

cv2.imshow('image', arr)
cv2.waitKey(0)
cv2.destroyWindow()

Jak już potwierdzisz, że tablica jest pusta to możesz zacząć szukać w kodzie powodu dlaczego tablica jest pusta. Ale ten problem to już inna sprawa.

If you like it
Buy a Coffee