如何在openCV中使用c++接口初始化和访问Mat标量矩阵中的条目
How to inialize and access the entries in Mat scalars matrix in openCV using C++ interface?
我正在尝试对矩阵做一些基本的代数运算。我想使用类Mat从openCV。我使用了下面这段简单的代码,但它不起作用:
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);
起作用了。有人能帮我解释一下标量矩阵吗?例如,我如何打印条目?谢谢你!
你的代码的主要问题是数据[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);
相关文章:
- Difference in displaying cv2 Mat
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 为什么Mat类的两个对象可以在不重载运算符+的情况下添加
- 为什么 std::optional::operator=(U&&) 要求你是非标量类型?
- 将CHW格式的浮点向量转换为cv::Mat
- C++中的openCV Mat访问冲突
- OpenCV 和从 OutputArrays 或 (Mat) 读取数据
- 使用 mat.at<uchar>(i,j) 的 opencv C++中的矩阵赋值错误
- C++:从GPU内存(cudaMemcpy2D)获取BGR图像(cv::Mat)
- 选择基于另一个垫子的非零像素的cv::Mat的一部分?
- 错误:请求从"常量字符 [5]"转换为非标量类型"字符串"
- 将 cv::mat 转换为 QImage
- 两个垫子的 OpenCV 数据是相同的,但使用 Mat::at 检索时的值已损坏
- 特征中的自定义标量类型
- OpenCV中的矩阵乘法 - 组合CV :: MAT和CV ::标量对象
- 从未知类型的 cv::Mat 获取 cv::标量
- 比较OpenCV Mat与标量元素
- 如何简洁地将cv::Mat中的每个元素设置为一些标量,如cvSet
- 如何在openCV中使用c++接口初始化和访问Mat标量矩阵中的条目
- OpenCV:用标量除Mat最简单的方法是什么?