在 opencv 中使用 Mat 类型时出错

Posted

技术标签:

【中文标题】在 opencv 中使用 Mat 类型时出错【英文标题】:error in using Mat type in opencv 【发布时间】:2013-10-25 08:11:04 【问题描述】:

如何在 opencv 中搜索 Mat 类型以找到一些特定的值?

这是我到目前为止所做的:

Mat L;

for(int i=0; i<height; i++)
for(int j=0; j<width; j++)
    if( L[i][j]> 0)
       Index.push_back(std::make_pair(i,j));
    
   

【问题讨论】:

这是整个代码,根本没有#include 指令吗?还有什么错误。 【参考方案1】:

L[i][j] 是无效的,你可能已经发现了 ;)

你必须知道 Mat 的 type 才能访问它的元素:

Mat L(8,8,CV_8U);
uchar elm = L.at<uchar>(i,j);

另外,还有

Mat_<uchar> L(8,8);
uchar elm = L(i,j);

【讨论】:

我应该和你一样使用它吗?因为它的类型和你的不同

以上是关于在 opencv 中使用 Mat 类型时出错的主要内容,如果未能解决你的问题,请参考以下文章

OPENCV学习笔记2-8_Mat_类

使用 c++ 和 opencv 计算 Mat 的大小和方向时出错

opencv编程中错误提示:不存在从mat到cvmat适当的转换函数。

在opencv中创建4x4 mat矩阵时出错

将 IplImage 转换为 Mat 时出错

openCV Mat 基础