如何将 Argb32 加载到特征矩阵中以获得最佳性能
How to load Argb32 into Eigen Matrix for best performance?
给定一个 Int 数组,一个 Argb32 图像,我怎样才能以最佳方式将其加载到特征矩阵中?
目标是创建一个小型图像处理库。作为第一部分,我想从RGB转换为灰度。
有没有办法将 int[] 加载到 3 个特征矩阵中,而无需任何内存复制?
(当提到特征时,它是线性代数库)。
是的,使用 Map<> 类进行适当的内步幅,例如:
unsigned char* data = ...;
int w, h; // the width and height
typedef Map<Matrix<unsigned char,Dynamic,Dynamic>, 0, InnerStride<4> > Slide;
Slice red(data, w, h), green(data+1, w, h), blue(data+2, w, h);
然后你可以开始使用它们,例如,构造一个灰度浮点版本:
MatrixXf gray = (red.cast<float>() * 11 + green.cast<float>() * 16 + blue.cast<float>() * 5)/(32.*255.);
相关文章:
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 在C#中处理C++指针而不使用unsafe的最佳方法
- OpenMP阵列性能较差
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 实现无开销push_back的最佳方法是什么
- 递归列出所有目录中的C++与Python与Ruby的性能
- 在c代码之间共享数据的最佳方式
- C++ 将函数指针与最佳性能相结合
- 从 {fmt} 获得最佳性能
- 只在模板中专门化构造函数,保持最佳性能和整洁的界面
- C 初始化列表std ::数组最佳性能
- 具有任意基数的基本任意精度算术的最佳性能
- C# 与 C/C++:我是否需要手动对结构字段进行排序以获得最佳性能
- 为什么缓冲区应该在 64 字节边界上对齐以获得最佳性能
- Getter & Setter 的最佳性能
- 排序列表的最佳数据结构(性能)
- 查找仅在性能测试下发生的堆损坏的最佳方法是什么?
- 在保持良好的面向对象设计的同时重用代码以提高性能的最佳方法是什么?
- 如何将 Argb32 加载到特征矩阵中以获得最佳性能
- 测试值是否在阈值范围内的最佳方法(性能方面)是什么