Я использую opencv для управления изображением. Точная ошибка:
OpenCV(4.1.0) /io/opencv/modules/imgproc/src/color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'
Я искал по всему интернету, но не могу найти решение этой проблемы.
Одно и то же изображение вызывается несколько раз в этом процессе, и большая часть его работает нормально.
Я получаю сообщение об ошибке в этой функции:
def percentage(image, box_points): #box point is touple here. ((x1,y1),(x2,y2))
x1=box_points[0][0]
x2=box_points[1][0]
y1=box_points[0][1]
y2=box_points[1][1]
rows,cols,c =image.shape
M = cv2.getRotationMatrix2D((cols/2,rows/2),90,1)
image = cv2.warpAffine(image,M,(cols,rows))
image=image[int(x1):int(x2),int(y1):int(y2)]
image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# ret, bw_img = cv2.threshold(image,160,255,cv2.THRESH_BINARY)
# bw_img = cv2.adaptiveThreshold(image, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 5, 7)
bw_img = cv2.adaptiveThreshold(image,255,cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY,11,2)
# image=image[int(x1):int(x2),int(y1):int(y2)]
# bw_img is our binary image here.
count = cv2.countNonZero(bw_img)
total = bw_img.shape[1] * bw_img.shape[0]
ratio = count/total
ratio =1-ratio
return ratio, bw_img
Я получаю сообщение об ошибке в строке, где я вызываю cv2.cvtColor. Функция выдает соотношение черных и общих пикселей. Одно и то же изображение вызывается несколько раз во всем этом проекте, поэтому ошибка не должна быть связана с отсутствием изображения.
Также во время тестирования я повернул изображение на 90 градусов против часовой стрелки. И это прекрасно работает, но только для одного конкретного изображения. Помоги мне здесь.
Я прилагаю оригинальное изображение здесь. Это работает, когда я поворачиваю его на 90 градусов.