我有这个matlab代码,我试图在矩阵颜色中找到'j'。我在opencv中找不到有用的函数,可以像matlab一样找到do.i.太麻烦了,你们能帮我吗?
if (find(Colorr==j))
tt=tt+1;
test=[test;ColorValues(:,j,1),ColorValues(:,j,2),ColorValues(:,j,3)];
end
这是我写给opencv secret 的代码
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++){
}
}
}
最佳答案
假设Color
是正确初始化的单通道cv::Mat
,则可以结合使用重载的operator==
和 cv::countNonZero()
来完成您想要的操作。 operator==
返回一个掩码,如果Color
中的值与j
相匹配,则每个元素为1,否则为0。
if(cv::countNonZero(Color == j))
{
// Do something...
}
关于c++ - matlab在opencv中查找函数实现?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17652180/