我试着关注 this OpenCV tutorial关于加载和修改图像。我像这样加载图像:
I = imread( filename, IMREAD_COLOR );
代码后面有一个CV_Assert
:
CV_Assert(I.depth() != sizeof(uchar));
这不是真的,因为 I.depth()
是零而 sizeof(uchar)
是一。
我做错了什么?如果我调用 imshow
,则图像会正确显示
最佳答案
I.depth()
不返回元素的大小。它返回 depth defines 之一:
#define CV_8U 0
#define CV_8S 1
#define CV_16U 2
#define CV_16S 3
#define CV_32S 4
#define CV_32F 5
#define CV_64F 6
如果你想获取元素的大小,你可以使用I.elemSize1()
关于c++ - OpenCV3 image.depth() 为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46818143/