opencv实现类似MATLAB中find功能的方法

在网上找类似find功能的C++实现时,发现一个网站的提供了类似解决方法,网址如下:

http://stackoverflow.com/questions/10597107/opencv-function-similar-to-matlabs-find

尝试了其中的第二种,记录如下,不像MATLAB中能直接找出索引,此处只是用mat数据做整体的计算

int main(int argc)  
{  
    char *in1 = "E:\\1.jpg";
	
	IplImage* src;  
  
    src = cvLoadImage( in1);
	cv::Mat src0 = cv::cvarrToMat(src);
	cv::Mat src1;
    cv::cvtColor(src0, src1, CV_RGB2GRAY);

	cv::Mat src3;
	src1.copyTo(src3);

	cv::Mat src2;
	// src2= (src1 <220 & src3 > 100); // 条件不能是两个变量,即使大小相同
	src2= (src1 <220 & src1 > 100);//可以通过

    cvNamedWindow( "origin", 0 ); 
	cv::imshow( "origin", src1 ); 

    cvNamedWindow( "compare", 0 ); 
	cv::imshow( "compare", src2 ); 

    cvWaitKey(0);  
  
    cvReleaseImage( &src );  
    cvDestroyAllWindows();  
  
    return 0;  
}
输出结果

opencv实现类似MATLAB中find功能的方法_第1张图片



你可能感兴趣的:(opencv3,C++)