欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

OpenCV計(jì)算圖像的水平和垂直積分投影

 更新時(shí)間:2018年12月26日 11:06:47   作者:長(zhǎng)相憶兮長(zhǎng)相憶  
這篇文章主要為大家詳細(xì)介紹了OpenCV計(jì)算圖像的水平和垂直積分投影,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了OpenCV計(jì)算圖像的水平和垂直積分投影的具體代碼,供大家參考,具體內(nèi)容如下

#include <cv.h> 
#include <highgui.h> 
#pragma comment( lib, "cv.lib" ) 
#pragma comment( lib, "cxcore.lib" ) 
#pragma comment( lib, "highgui.lib" )  
int main() 
{   
  IplImage * src=cvLoadImage("lena.jpg",0); 
  //cvSmooth(src,src,CV_BLUR,3,3,0,0);  
  cvThreshold(src,src,50,255,CV_THRESH_BINARY_INV); 
  IplImage* paintx=cvCreateImage( cvGetSize(src),IPL_DEPTH_8U, 1 ); 
  IplImage* painty=cvCreateImage( cvGetSize(src),IPL_DEPTH_8U, 1 ); 
  cvZero(paintx); 
  cvZero(painty); 
  int* v=new int[src->width]; 
  int* h=new int[src->height]; 
  memset(v,0,src->width*4); 
  memset(h,0,src->height*4); 
   
  int x,y; 
  CvScalar s,t; 
  for(x=0;x<src->width;x++) 
  { 
    for(y=0;y<src->height;y++) 
    { 
      s=cvGet2D(src,y,x);      
      if(s.val[0]==0) 
        v[x]++;          
    }     
  } 
   
  for(x=0;x<src->width;x++) 
  { 
    for(y=0;y<v[x];y++) 
    {     
      t.val[0]=255; 
      cvSet2D(paintx,y,x,t);    
    }     
  } 
   
  for(y=0;y<src->height;y++) 
  { 
    for(x=0;x<src->width;x++) 
    { 
      s=cvGet2D(src,y,x);      
      if(s.val[0]==0) 
        h[y]++;    
    }   
  } 
  for(y=0;y<src->height;y++) 
  { 
    for(x=0;x<h[y];x++) 
    {       
      t.val[0]=255; 
      cvSet2D(painty,y,x,t);      
    }     
  } 
  cvNamedWindow("二值圖像",1); 
  cvNamedWindow("垂直積分投影",1); 
  cvNamedWindow("水平積分投影",1); 
  cvShowImage("二值圖像",src); 
  cvShowImage("垂直積分投影",paintx); 
  cvShowImage("水平積分投影",painty); 
  cvWaitKey(0); 
  cvDestroyAllWindows(); 
  cvReleaseImage(&src); 
  cvReleaseImage(&paintx); 
  cvReleaseImage(&painty); 
  return 0; 
} 


結(jié)果:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論