【发布时间】:2017-02-07 11:02:01
【问题描述】:
我正在尝试像这样均衡 1 个单通道图像:
img = cv2.equalizeHist(img)
但由于它是 float64 img,我收到以下错误:
错误:(-215) _src.type() == CV_8UC1 在函数 equalizeHist
我该怎么做?
【问题讨论】:
-
是否可以选择将其转换为 8UC1?
-
是 8UC1 的二进制图像,它只会给我黑白像素吗?如果是这样,那么不幸的是,没有。
-
不,它是 0 到 255 之间的整数,这是 RGB 图像中每个通道的标准范围。取决于您的问题,损失 og 精度是否正常。为什么你有 float64 类型?
-
在这种情况下如何将其转换为 8UC1?
-
img.convertTo(dst, CV_8UC1) 是 c++ 语法。不确定python,对不起。确保您的值范围在转换前在 0..255 以内,而不是在 0..1 以内