How do I get the lowest value of all the non zero value pixels?
 
 
问题就是题目:如何从图像中获得非零的最小值。
优质解答:
You can use mask :
 
  
You can use mask :
 
   
 
   
          Mat im 
      = imread(
      "f:/lib/opencv/samples/data/lena.jpg", IMREAD_GRAYSCALE);
      
    Mat mask 
      = im
      >
      0;
      
    
      double minc[
      1], maxc[
      1];
      
    minMaxLoc(im, minc, maxc,NULL,NULL,mask);
      
    cout
      <<minc[
      0];
     
  
  
要点:
  
  
 
1、Mat mask = im>0;
 
 
这段代码的含义是所有im中大于0的地方在mask中为255,其他地方为0,很精炼;
 
 
2、 minMaxLoc(im, minc, maxc,NULL,NULL,mask);
 
 
最后一个参数的意思是过滤掉那些不需要的地方(mask中为255的地方)
 
 
 
 
所以合起来以后,代码就很好理解:
 
 
1、首先获得所有>0地方;
 
 
2、然后除去这些地方进行过滤。
 
 
HICEWORK!
 
 
                
 
 









