OPENCV新建一个CV::MAT对象

本文介绍了如何使用OPENCV中的CV::MAT对象创建图像,并重点讨论了当数据连续时如何使用memcpy进行数据拷贝。同时,详细解释了CV::MAT的type参数,包括比特深度、数据类型和通道数,提供了几个创建不同类型图像的示例。
摘要由CSDN通过智能技术生成

 

2018.10.8更新

不过最新的学习发现,如果CV::MAT中的数据是连续的,也可以把数据用memcpy拷贝到对应的data指针指向的内存中。不过需要注意的是如果不连续,这样做是不可以的。


我之前项目中需要做的是把CV::MAT中的数据按字节取出,通过tcp发送出去,对方收到后重新根据接收到的字节流组装起来显示就需要用到以下构造函数:

inline Mat::Mat(int _rows, int _cols, int _type)

需要输入的是创建的图像大小的行列和type,行列自然不必说,那么就说一下type吧,这边参考了https://blog.csdn.net/u013270326/article/details/72954232,由于这篇博文排版有点问题,所以我就把最核心的内容摘录下来,以备以后查阅

举个例子:

cv::Mat testImg(1080,1920,CV_8UC4);

可以看到这里的type都是 CV_<bit_depth>(S|U|F)C<number_of_channels>这种格式的。其解释为:

1--bit_depth---比特数---代表8bite,16bites,32bites,64bites
2--S|U|F--
        S--代表---signed int---有符号整形
        U--代表--unsigned int--无符号整形
        F--代

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值