C++ matlab查找函数在opencv中的实现?

C++ matlab查找函数在opencv中的实现?,c++,matlab,opencv,image-processing,mat,C++,Matlab,Opencv,Image Processing,Mat,我有这个matlab代码,我试图在矩阵颜色中找到“j”。我在opencv中找不到一个有用的函数,它可以做与matlab find do相同的工作。我尝试了一些迭代方法,使用了3个for循环,但这太麻烦了,你们能帮我吗 if (find(Colorr==j)) tt=tt+1; test=[test;ColorValues(:,j,1),ColorValues(:,j,2),ColorValues(:,j,3)]; end 这是我为转换到opencv而编写的代码 for(j=0;

我有这个matlab代码,我试图在矩阵颜色中找到“j”。我在opencv中找不到一个有用的函数,它可以做与matlab find do相同的工作。我尝试了一些迭代方法,使用了3个for循环,但这太麻烦了,你们能帮我吗

if (find(Colorr==j))
    tt=tt+1;
    test=[test;ColorValues(:,j,1),ColorValues(:,j,2),ColorValues(:,j,3)];
end
这是我为转换到opencv而编写的代码

for(j=0;j<ColorValues.cols/2;j++)
    for(i=0;i<Color.cols;i++){
        if(j=input[Color.step*i+1]){
            tt++;
            for(k=0;k<ColorValues.rows;k++){

            }
        }

    }

for(j=0;j假设
Color
是一个正确初始化的单通道
cv::Mat
,您可以使用重载的
操作符==
的组合并执行您希望的操作。
操作符==
返回一个掩码,其中如果
Color
中的值与
j
匹配,则每个元素为一,否则返回零

if(cv::countNonZero(Color == j))
{
   // Do something...
}

如果我们能在opencv中实现,这个find命令将非常有用。也许一个可以适合你。也许,你最好的选择是使用这种繁琐的方式。一个想法是修改minMaxIdx()并返回一个包含所需索引的容器。我是opencv的初学者。因此无法很好地理解所有函数。请详细说明一下小检查。这并没有回答我的问题。