c++ - 访问 cv::Mat_16UC1 的单个元素

标签 c++ eclipse opencv

我有一个 16UC1 类型的 cv::Mat 对象,它基本上包含来自 kinect 设备的深度值,我尝试了几种方法,比如使用

    cout << depthMat.at<uchar>(0,0) << endl;
    cout << depthMat.at<char>(0,0) << endl;
    cout << depthMat.at<double>(0,0) << endl;

等但所有这些都给出了模棱两可的结果。知道如何在 linux 环境中的 eclipse c++/opencv 中访问这些 16 位值。

最佳答案

只需将代码更改为

cout << depthMat.at<unsigned short>(0,0) << endl;

关于c++ - 访问 cv::Mat_16UC1 的单个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21473005/

相关文章:

c++ - 如何重载运算符=

eclipse - 将 android 应用程序版本 2.3 更改为 4.2 android

opencv - 将模板图像(缩放)匹配到主图像/大图像

c++ - 如何找到样本信号在主信号中的位置?

c++ - 与 C++ 程序中的脚本通信

java - 数据库切换后 Eclipse Hibernate 工具不再工作

android - 如何像在 Eclipse 中一样在 Android Studio 中显示 "Link to alternative location (Linked Folder)"?

opencv - EMGU 中 vector<Point> 和 Mat 的等效类型是什么?

python - 用名字python进行人脸识别

java - 安装定制的共享库文件/或其任何替代方案