0

我正在尝试对矩阵进行一些基本的代数运算。我想使用 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);

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

4

1 回答 1

1

您的代码的主要问题是 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);
于 2013-05-05T08:24:46.613 回答