看“他”怎么折腾(二)

7 篇文章 0 订阅
6 篇文章 0 订阅



上一节,我们介绍了Mat遍历连续空间的方式,当然存数数据的空间也有可能是不连续的,本节就来简单介绍一下不连续空间的遍历方式。



再写代码 二维数组



同样,先来一段代码:


int es = mat.elemSize();

for (int row = 0; row < mat.rows; row++)

{

    for (int col = 0; col < mat.cols; col++)

    {

     (&mat.data[row * mat.step])[col * es] = 0;  //b

     (&mat.data[row * mat.step])[col * es + 1] = 0;  //g

     (&mat.data[row * mat.step])[col * es + 2] = 255;  //r

     }

}




代码说明


一、es代表的是每个像素所占的字节大小;

二、mat.step表示遍历按行遍历的步长,即每一行数据所占的字节大小;

三、具体遍历时按照二维数组来处理;

四、颜色的存储依然是按照B,G, R的顺序进行存储。

要不要去试一下,体会一下这种遍历方式呢?由你决定喽。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值