图像处理中Stride的理解

一行有 11 个像素(Width = 11), 对一个 32 位(每个像素 4 字节)的图像, Stride = 11 * 4 = 44.

但还有个字节对齐的问题, 譬如:

一行有 11 个像素(Width = 11), 对一个 24 位(每个像素 3 字节)的图像, Stride = 11 * 3 + 3 = 36.

为什么不是 Stride = 33? 因为它是按 4 字节对齐的.

根据上面道理, 我们可以手动计算 Stride 的值:

1、Stride = 每像素占用的字节数(也就是像素位数/8) * Width;

2、如果 Stride 不是 4 的倍数, 那么 Stride = Stride + (4 - Stride mod 4);

原文地址:https://www.cnblogs.com/zhengAloha/p/8412658.html

时间: 2024-10-10 23:16:19

图像处理中Stride的理解的相关文章

图像处理中Stride和Width的关系

一行有 11 个像素(Width = 11), 对一个 32 位(每个像素 4 字节)的图像, Stride = 11 * 4 = 44. 但还有个字节对齐的问题, 譬如: 一行有 11 个像素(Width = 11), 对一个 24 位(每个像素 3 字节)的图像, Stride = 11 * 3 + 3 = 36. 为什么不是 Stride = 33? 因为它是按 4 字节对齐的. 根据上面道理, 我们可以手动计算 Stride 的值: 1.Stride = 每像素占用的字节数(也就是像素位

图像处理中mask

转自 http://blog.csdn.net/meng4411yu/article/details/10033325 1.掩膜的定义 掩模是由0和1组成的一个二进制图像.当在某一功能中应用掩模时,1值区域被处理,被屏蔽的0值区域不被包括在计算中.通过指定的数据值.数据范围.有限或无限值.感兴趣区和注释文件来定义图像掩模,也可以应用上述选项的任意组合作为输入来建立掩模.(来自百度百科http://baike.baidu.com/view/2062299.htm#2) 2.图像掩膜例子 图1 掩膜

批处理中set截取字符详解

set截取字符详解  在批处理中,set的功能有点繁杂:设置变量.显示环境变量的名及值.做算术运算.等待用户的输入.字符串截取.替换字符串,是我们常用的命令之一. 在字符串截取方面,新手因为没能注意到偏移量的问题,很容易提取到错误的字符串,因此,特开此帖,详细解释 set 截取字符的用法. 我们先来看一个例子: set str=123456789 现在,我需要提取变量 str 中的第一个字符,那么,该怎么写命令呢? set var=%str:~1,1%?我想,这很可能是很多粗懂set用法的新手们

PO状态为“处理中”的处理方法

EBS中经常会出现PO提交审批后状态为"处理中"的情况,此时PO创建人无法打开,审批人也无法打开,工作流等查看也无异常,可以使用一下SQL处理再进行审批: --set serveroutput on size 100000DECLARE CURSOR POTORESET IS SELECT WF_ITEM_TYPE, WF_ITEM_KEY, PO_HEADER_ID, SEGMENT1, REVISION_NUM, TYPE_LOOKUP_CODE FROM PO_HEADERS_A

批处理中Copy与Xcopy命令的区别(转自:www.jbxue.com)

有关批处理脚本中,copy命令与xcopy命令在用法上的一些区别.原文地址:http://www.jbxue.com/article/14536.html Copy与Xcopy的区别一,copy不能在有子目录存在的文件中拷贝文件的同时重命名此文件名说明,这里C:为根目录,bat为子目录),而xcopy能,不过会出现提示,当然可以加参数而不使它提示. C:\>copy c:\bat\hai.bat d:\bat\hello.bat提示:系统找不到指定的路径. 已复制 0 个文件.可以这样: C:\

关于cobol batch处理中的restart

批量文件处理中,如果因为某条数据错误导致了job abend,重新启动job再处理,几十分钟甚至几个小时的作业丢失对于分秒必争的batch cycle就是个噩梦! 尤其是对DB2和file同时处理的关键程序,job abend,DB2 roll back,但是VSAM file却是已写的已经写进去,已更新的已经更新,无法保持同步,再re-run,数据一片狼藉. 有一个很好的practice能够解决上述问题.注意,一下三部分是协同运作,从而保证DB2, VSAM, Sequential file保

批处理中set截取字符具体解释

set截取字符具体解释  在批处理中,set的功能有点繁杂:设置变量.显示环境变量的名及值.做算术运算.等待用户的输入.字符串截取.替换字符串,是我们经常使用的命令之中的一个. 在字符串截取方面,新手由于没能注意到偏移量的问题,非常easy提取到错误的字符串,因此,特开此帖,详解 set 截取字符的使用方法. 我们先来看一个样例: set str=123456789 如今,我须要提取变量 str 中的第一个字符,那么,该怎么写命令呢? set var=%str:~1,1%?我想,这非常可能是非常

异常处理中throws和throw的区别?

异常处理中throws和throw的区别: 1.作用不同:throw用于程序员自行产出并抛出异常:throws用于声明在该方法内抛出了异常 2.使用的位置不同:throw位于方法体内部,可以作为单独语句使用:throws必须跟在方法参数列表的后面,不能单独使用. 3.内容不同:throw抛出一个异常对象,且只能是一个:throws后面跟异常类,而且可以有多个 原文地址:https://www.cnblogs.com/suger-4/p/12192418.html

图像处理和OpenCV初步

图像从数学和计算机的角度理解就是一个矩阵,矩阵中的每一个元素叫做像素,又由于图像有灰度图像和彩色图像之分,所以图像在矩阵的基础上引入通道(channel),其中色彩用数字来表示的时候,规定数字0表示黑色,数字255表示白色. OpenCV角度来看图像 OpenCV中的cv::Mat类就是用来表示图像的矩阵而存在的,其中cv::Mat类由头部和数据块组成. 头部包含了矩阵的所有相关信息(大小.通道数量.数据类型等),cv::Mat 头部文件的某些属性(例如cols.rows 或 channels)