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