c++ malloc memcpy 将多张cv::Mat打包传入python遇到的问题

环境、数据

64位win7 vs2015 c++

16位灰度图像

问题

c++调用Python 来跑神经网络,我需要把将多张cv::Mat打包传入python,四维数组(张数,行,列,通道)

我输入了9张图进vector,循环里memcpy完5张到第6张图(即i=5)时程序报错。

只输入5张(编号12345)的时候,没有报错,但是输入python的5元数组的图显示出来是:
【图1】【全灰】【图2】【全灰】【图3】,有点奇怪,寻思着是不是代码哪里少乘了个2什么的,检查了半天没检查出来

代码

在这里插入图片描述

解决

在这里插入图片描述
这地方ushort改成uchar就解决了,但是不是很懂。。。难受

有大神解答一下么。。。