Проблема с использованием выравнивания гистограммы OpenCV - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь использовать Contrast Limited Adaptive Histogram Equalisation (CLAHE) в OpenCV, но получаю ошибку ниже

Ошибка enter image description here

Код

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()

Любое предположение, почему это происходит

1 Ответ

0 голосов
/ 11 октября 2018

Ошибка говорит о том, что: (-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) после прочтения изображения.

...