每当我通过 cv::imread 读取具有 3 个通道的彩色图像时; 它的数据对齐有点尴尬(既不是字节也不是整数),当我在 GPU 内存上读取单个像素数据时,它会减慢速度。似乎cv::Mat class对齐背后的逻辑与我最初的想法有点不同。它不会在单行中的两个像素之间添加一个额外的字节,以使一行中的每个像素从每 4 个字节开始;而是在每行的末尾填充一些额外的字节,任何行都可以从每 4 个字节边界开始。
我应该怎么做才能将每个像素数据打包成一个无符号整数?OpenCV 中是否有内置方法,这样我就不必使用逻辑 OR 操作来逐个打包每个像素数据?
亲切问候。
您可以将
像素格式从BGR
转换为BGRA
请参阅此示例。