增强后的图像需要通过图像处理获得定量的值.在实际程序设计过程中,轮廓很多时候都是重要的分析变量.参考Halcon的相关函数,我增强了Opencv在这块的相关功能.      //寻找最大的轮廓     VP FindBigestContour(Mat src){             int imax = 0; //代表最大轮廓的序号         int imaxcontour = -1; //代表最大轮廓的大小         std::vector<std::vector<cv::P…
//根据轮廓的圆的特性进行选择     vector<VP> selectShapeCircularity(Mat src,Mat& draw,vector<VP> contours,float minvalue,float maxvalue){         vector<VP> result_contours;         draw = Mat::zeros(src.rows,src.cols,CV_8UC3);         for (int i=…
//根据轮廓的面积大小进行选择     vector<VP>  selectShapeArea(Mat src,Mat& draw,vector<VP> contours,int minvalue,int maxvalue){         vector<VP> result_contours;         draw = Mat::zeros(src.rows,src.cols,CV_8UC3);         for (int i=0;i<con…
GOCVHelper(GreenOpen Computer Version Helper )是我在这几年编写图像处理程序的过程中积累下来的函数库.主要是对Opencv的适当扩展和在实现Mfc程序时候的功能增强.     这里将算法库开放源代码,并且编写一系列blog对函数实现进行说明.目的是在于“取之于互联网,用之于互联网”.并且也希望该库能够继续发展下去.     由于算法库基于Opencv和Mfc进行编写,所以要求阅读使用者具备一定基础.     最终提交的是GOCVHelper.h 和GO…
GOCVHelper(GreenOpen Computer Version Helper )是我在这几年编写图像处理程序的过程中积累下来的函数库.主要是对Opencv的适当扩展和在实现Mfc程序时候的功能增强.     这里将算法库开放源代码,并且编写一系列blog对函数实现进行说明.目的是在于“取之于互联网,用之于互联网”.并且也希望该库能够继续发展下去.     由于算法库基于Opencv和Mfc进行编写,所以要求阅读使用者具备一定基础.     最终提交的是GOCVHelper.h 和GO…
//顶帽去光差,radius为模板半径     Mat moveLightDiff(Mat src,int radius){         Mat dst;         Mat srcclone = src.clone();         Mat mask = Mat::zeros(radius*2,radius*2,CV_8U);         circle(mask,Point(radius,radius),radius,Scalar(255),-1);         //顶帽…
CString ExportListToExcel(CString  sExcelFile,CListCtrl* pList, CString strTitle)     {         CString warningStr;         if (pList->GetItemCount ()>0) {                 CDatabase database;                                       CString sSql;      …
图像增强是图像处理的第一步.这里集成了一些实际使用过程中有用的函数.   //读取灰度或彩色图片到灰度     Mat imread2gray(string path){         Mat src = imread(path);         Mat srcClone = src.clone();         if (CV_8UC3 == srcClone.type() )             cvtColor(srcClone,srcClone,CV_BGR2GRAY);   …
//string替换     void string_replace(string & strBig, const string & strsrc, const string &strdst)     {         string::size_type pos=0;         string::size_type srclen=strsrc.size();         string::size_type dstlen=strdst.size();         whi…
// Multiply 正片叠底 void Multiply(Mat& src1, Mat& src2, Mat& dst) {     for(int index_row=0; index_row<src1.rows; index_row++)     {         for(int index_col=0; index_col<src1.cols; index_col++)         {             for(int index_c=0; ind…