1. 程式人生 > >opencv實現類似MATLAB中find功能的方法

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;  
}
輸出結果