今天希望获得16bit图像的直方图,想用 OpenCV 的 Histograms 。总是不成功,但也不报错。
看了 calcHist 源码才知道 OpenCV 中的 Histograms 只能处理 CV_8U 和 CV_32F 的直方图,
但对于其它类型的数据,直接忽略,所以不报错。
因此欲处理 16bit 图像,需先读到 CV_16UC1 的 Mat 中,然后转换为 CV_32FC1, 再运行
calHist
注: 该结论得自 OpenCV 2.1。 对于更高版本尚不确定。
今天希望获得16bit图像的直方图,想用 OpenCV 的 Histograms 。总是不成功,但也不报错。
看了 calcHist 源码才知道 OpenCV 中的 Histograms 只能处理 CV_8U 和 CV_32F 的直方图,
但对于其它类型的数据,直接忽略,所以不报错。
因此欲处理 16bit 图像,需先读到 CV_16UC1 的 Mat 中,然后转换为 CV_32FC1, 再运行
calHist
注: 该结论得自 OpenCV 2.1。 对于更高版本尚不确定。