c++ - 如何使用 C++ 接口(interface)初始化和访问 openCV 中 Mat 标量矩阵中的条目?

标签 c++ opencv mat

我正在尝试对矩阵进行一些基本的代数运算。 我想使用 OpenCV 中的 Mat 类。 我使用了以下不起作用的简单代码:

void main()
{
  float data[2][5] = {{1,2,3,4,5},{7,8,9,10,11}}; 
  Mat H = Mat(2, 5, CV_8UC1, data); 
  cout << H.at<float>(0,0);
  //OR:
  cout << H;
}

现在我在用imread函数加载图片时已经遇到了类似的问题。 我已经通过从 C 开始然后传递到 C++ 来克服它:

IplImage* Csrc = cvLoadImage("D:/picture.jpg");
Mat src(Csrc);

确实有效。 任何人都可以帮助标量矩阵吗?例如,我如何打印条目? 谢谢。

最佳答案

您的代码的主要问题是 data[2][5] 是一个浮点矩阵,而 H 是一个非正弦字符矩阵。

将矩阵 H 声明为 -

Mat H=Mat(2,5,CV_32FC1,data);

你的第二个问题很简单

要将图像作为 cvMat 对象读取并显示它,只需执行 -

Mat M = imread("/home/Pictures/image.png",1);
imshow("IMAGE",M);
waitKey(0);

关于c++ - 如何使用 C++ 接口(interface)初始化和访问 openCV 中 Mat 标量矩阵中的条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16382445/

相关文章:

c++ - 所有关键字是否都分配给逗号分隔的变量定义?

c++ - 如何使用 boost 预处理器生成访问器?

c++ - OpenCV 中是否有类似 MATLAB 的 'impixelinfo()' 的功能?

angular - mat-cell Angular 8 中的 if else

c++ - 如何使函数可以在 OpenCV 中处理不同类型的图像

c++ - cvtColor 太慢

c++ - 运算符 [] 重载 C++

C++ 链接错误,找不到 global.h 结构

c++ - 读取 H.265 和 VP9 帧?

python-3.x - 由于 libGl 错误,无法运行 docker 镜像