Я пытаюсь использовать Contrast Limited Adaptive Histogram Equalisation
(CLAHE) в OpenCV
, но становится ниже ошибки
Ошибка
Код
import cv2 as cv
from matplotlib import pyplot as plt
imgG = cv.imread('sample.png')
clahe = cv.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
imgC = clahe.apply(imgG)
fig = plt.figure(figsize = (20,20))
ax = fig.add_subplot(111)
ax.imshow(imgC, cmap='gray')
plt.show()
Любая догадка, почему это происходит
Ошибка сообщает, что: (-215) _src.type() == CV_8UC1 || _src.type() == 16UC1
(-215) _src.type() == CV_8UC1 || _src.type() == 16UC1
, что в основном означает, что входной мат для clahe.apply()
может быть одноканальной 8-разрядной матрицей или одноканальной 16-разрядной матрицей. 1
в 8UC1 означает количество каналов, ожидаемых во входной матрице, так как вы читаете изображение как cv.imread('sample.png')
, поэтому по умолчанию он считывает 3-канальное изображение BGR. Вы можете использовать cv.imread('sample.png', 0)
или использовать img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
после прочтения изображения.