我正在尝试在Contrast Limited Adaptive Histogram Equalisation
中使用OpenCV
(CLAHE),但遇到错误了
代码
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()
有人猜为什么会发生
答案 0 :(得分:1)
该错误表明:(-215) _src.type() == CV_8UC1 || _src.type() == 16UC1
,这基本上意味着clahe.apply()
的输入矩阵可以是单个通道 8位矩阵或单个通道 16位矩阵。 8UC1中的1
表示输入矩阵中预期的通道数,因为您将图像读取为cv.imread('sample.png')
,因此默认情况下它将读取3通道BGR图像。读取图像后,您可以使用cv.imread('sample.png', 0)
或使用img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
。