利用OpenCV实现局部动态阈值分割

利用OpenCV实现局部动态阈值分割,参考Halcon dyn_threshold算子的思路实现。

为复兴等地区用户提供了全套网页设计制作服务,及复兴网站建设行业解决方案。主营业务为成都网站制作、成都做网站、复兴网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

#include "dialog.h"
#include 
#include "cv.h"
#include "highgui.h"
#include 


int main(int argc, char *argv[])
{
  IplImage *img = cvLoadImage("D:/cs/1227/f9.bmp",0);
  IplImage *out = cvCreateImage(cvGetSize(img),img->depth,1);
  cvSmooth(img,out,CV_BLUR,50);
  IplImage *res = cvCreateImage(cvGetSize(img),img->depth,1);
  qDebug()<nChannels;
  double a = 0;
  double b = 0;
  for(int i=0;iheight;i++){
    for(int j=0;jwidth;j++){
      CvScalar color = cvGet2D(img,i,j);
      CvScalar color1 = cvGet2D(out,i,j);
      a = color.val[0];
      b = color1.val[0];
      //a = exp(a);
      CvScalar c = cvScalar(b-a+128);
      cvSet2D(res,i,j,c);
    }
  }
  cvThreshold(res,res,150,255,CV_THRESH_BINARY_INV);
  cvNamedWindow("Image",0);
  cvShowImage("Image",res);
  cvSaveImage("D:/cs/cs.bmp",out);
  cvWaitKey(0);
  cvReleaseImage(&img);
  cvDestroyWindow("Image");
  return 0;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。


文章题目:利用OpenCV实现局部动态阈值分割
本文地址:http://azwzsj.com/article/ghegge.html