c - 如何在 OpenCV 中将 3 x 3 单 channel Mat 转换为 1 x 3 三 channel 阵列?

标签 c opencv

我有一个 3 x 3 旋转矩阵,是使用标题 cvCreateMat(3, 3, CV_32FC1) 创建的。这是我通过调用 cvRodrigues2 得到的矩阵。我想旋转存储在长度为 N、具有 3 个 channel 的数组中的多个点。为了进行这种旋转,我调用了cvMul(rotation,points),但这要求旋转矩阵是一个数组。因此,我需要将其转换为 cvCreateMat(3, 1, CV_32FC3)。有没有办法在 openCV 中做到这一点(在 C 语言中,如果有什么区别的话)。

最佳答案

使用 cvReshape (link to documentation)。第二个示例与您想要的非常相似(您只需调整行数和 channel 数)。

关于c - 如何在 OpenCV 中将 3 x 3 单 channel Mat 转换为 1 x 3 三 channel 阵列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5884256/

相关文章:

c++ - 从位数组中提取任何更聪明的方法?

c++ - OpenCV 的 Python 或 C++ 编码之间的性能是否不同?

python - 如何检测图像是否被部分遮挡?

image-processing - Blob 和连接组件之间有什么区别吗?

opencv - 图像处理中的 anchor

C:使用 scanf 之前计算字符串的长度

c - Valgrind 发现内存泄漏,但我无法理解

c - 简单C随机抽奖号码

c - 无效数组上的qsort *

python - SimpleCV 无法正确导入