aihot  2017-04-27 08:03:28  OpenCV |   查看评论   
  •      cout<<max<<'\t'<<min<<endl;  
  •   
  •      max_amplitude = max_amplitude > 480 ? 480 : max_amplitude;  
  •   
  •      // 规范化
  •      for (int i = 0; i < wavData.size(); i++)  
  •      {  
  •          wavData[i] = (wavData[i] - min) * max_amplitude / (max - min);  
  •      }  
  •   
  •      int j = 0;  
  •      Point prePoint, curPoint;  
  •      if (width >= 400)  
  •      {  
  •          img.create(max_amplitude, width, CV_8UC3);  
  •          img.setTo(Scalar(0, 0, 0));  
  •          for (int i = wav_start; i < wav_start + width; i++)  
  •          {  
  •               prePoint = Point(j, img.rows - (int)wavData[i]);  
  •               if (j)  
  •                     line(img, prePoint, curPoint, Scalar(0, 255, 0), 2);  
  •               curPoint = prePoint;  
  •               j++;  
  •          }   
  •   
  •          if (width > MAXLENGTH)  
  •          {  
  •              cout<<"The wav is too long to show, and it will be resized to 1200"<<endl;  
  •              resize(img, img, Size(MAXLENGTH, img.rows));  
  •          }  
  •      }  
  •      else  
  •      {  
  •          img.create(max_amplitude, 400, CV_8UC3);  
  •          img.setTo(Scalar(0, 0, 0));  
  •          for (int i = wav_start; i < wav_start + width; i++)  
  •          {  
  •              prePoint = Point(j*400/width, img.rows - (int)wavData[i]);  
  •              circle(img, prePoint, 3, Scalar(0, 0, 255), CV_FILLED);  
  •              j++;  
  •          }  
  •          cout<<"The wav is too small to show, and it will be resized to 400"<<endl;  
  •      }  
  • }  
  •   
  •  

    除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自语音信号处理之(二)基音周期估计(Pitch Detection)

    留言与评论(共有 0 条评论)
       
    验证码:
    [lianlun]1[/lianlun]