cv2.rectangle报错

最近在使用cv2.rectangle遇到了很离谱的问题
TypeError: Layout of the output array img is incompatible with cv::Mat (step[ndims-1] != elemsize or step[1] != elemsize*nchannels)
第一个参数img我是先由numpy转为tensor做了一些后处理后,再转到numpy就出问题了。当时debug了一下发现是输入参数img出现问题,它的维度是H W 3。但是只取其中一维的时候没问题,三维就有问题了。

解决方法是在两次转换时都加入.copy()
原因看到一位遇到相同问题的朋友猜测是因为这个版本的numpy和opencv在做各种转换的时候遗留下了MAT内部数据结构的一些坑,导致了在操作rectangle时候刚好用到了MAT中的某个属性,不兼容后报错。
https://www.cnblogs.com/ocean1100/p/9496775.html

你可能感兴趣的:(opencv,计算机视觉,python)