C++ matlab查找函数在opencv中的实现?
我有这个matlab代码,我试图在矩阵颜色中找到“j”。我在opencv中找不到一个有用的函数,它可以做与matlab find do相同的工作。我尝试了一些迭代方法,使用了3个for循环,但这太麻烦了,你们能帮我吗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;
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的初学者。因此无法很好地理解所有函数。请详细说明一下小检查。这并没有回答我的问题。