c++ - OpenCV 中的 CV_8UC1 到 CV_32FC1 的转换

标签 c++ c opencv image-processing

我们使用 C++ API 在 OpenCV 中将图像类型从 CV_8UC1 转换为 CV_32FC1 的方法是

        r1.convertTo(r1, CV_32FC1, 1.0/255.0);

其中 r1 是声明为 cv::Mat 的矩阵。 谁能告诉我如何使用 C API 在 OpenCV 中将 CV_8UC1 类型转换为 CV_32FC1 类型?如果 r2 是描述为 CvMat* r2 的矩阵。

最佳答案

cvConvertScale()可以为所欲为。

假设你有一个 8UC1 类型的 cvMat* r1 和一个 32FC1 类型的 cvMat* r2 并且大小相同

cvConvertScale(r1, r2, 1.0 / 255.0, 0.0);

由于目标类型取自 r2,因此它不能与 r1 是相同的 cvMat。

关于c++ - OpenCV 中的 CV_8UC1 到 CV_32FC1 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17745845/

相关文章:

c - 在 32 位机器上,每个内存位置都能够容纳 1 个字节的数据?

python - 如何使用python在open cv中扩展线段

c++ - Visual Studio Profiler 仅显示 msvcr110.dll

c++ - 我有一个由 0's and 1' 组成的字符串。如何将二进制格式的 0's and 1' 存储在文件中?

c++ - NetBeans 集成开发环境 : "Run Success" Output Occurs Before Output Finishes

c - "execv"子进程存在与终止

c++ - const_iterator 的初始值设定项没有匹配的构造函数

c++ - 继承、模板和虚函数(这可能会变得困惑)

python - 属性错误 : 'NoneType' object has no attribute 'ravel'

python - 如何在 python 中找到 open-cv 相机校准常量,OpenCV 错误:断言失败(nimages > 0)在 cv::calibrateCamera