• 大小: 1015KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-14
  • 语言: 其他
  • 标签: CvSVM  SVM  分类器  opencv  

资源简介

压缩包含一个完整的Qt控制台工程,注释详细,调试和运行成功,也可以直接移植到win32中运行。

资源截图

代码片段和文件信息

/*****************************
//湖南长沙·2015-11-8
*************************/
#include 
#include “opencv2\opencv.hpp“

using namespace cv;

//训练样本:红点、蓝点。待识别数据:绿点
int main(int argc char *argv[])
{
    QCoreApplication a(argc argv);

    // 用于保存可视化数据的矩阵
    Mat image = Mat::zeros(512 512 CV_8UC3);
    for(int i=0;i        for(int j=0;j            if(i                image.ptr(i)[j]=Vec3b(25500);
            else if(i<2*image.rows/3)
                image.ptr(i)[j]=Vec3b(02550);
            else
                image.ptr(i)[j]=Vec3b(00255);
        }
    }

    float labels[3] = {1.0 2.0 3.0};
    Mat labelsMat(3 1 CV_32FC1 labels);
    float trainingData[3][3] = {{25500} {02550} {00255}};
    Mat trainingDataMat(3 3 CV_32FC1 trainingData);
    // 设置SVM参数
    CvSVMParams params;
    params.svm_type    = CvSVM::C_SVC;//C支持向量分类机允许用异常值惩罚因子C进行不完全分类
    params.kernel_type = CvSVM::LINEAR;//使用线性内核
    params.term_crit   = cvTermCriteria(CV_TERMCRIT_ITER 100 1e-6);//迭代训练过程的中止条件
    // 对SVM进行训练
    CvSVM SVM;
    SVM.train(trainingDataMat labelsMat Mat() Mat() params);

    string str1=“blue“str2=“green“str3=“red“;
    for (int i = 100; i < image.rows; i+=image.rows/3){
        int j=10;
        int c0=image.ptr(i)[j][0];
        int c1=image.ptr(i)[j][1];
        int c2=image.ptr(i)[j][2];
        Mat sampleMat = (Mat_(13) << c0c1c2);
        float result = SVM.predict(sampleMat);//进行分类
        //结果处理
        if (result == 1.0)
            putText(imagestr1Point(ji)FONT_HERSHEY_SIMPLEX2Scalar(255255255)28);
        else if(result == 2.0)
            putText(imagestr2Point(ji)FONT_HERSHEY_SIMPLEX2Scalar(255255255)28);
        else if(result == 3.0)
            putText(imagestr3Point(ji)FONT_HERSHEY_SIMPLEX2Scalar(255255255)28);
    }

    imshow(“SVM分类“ image);
    waitKey(0);
    return a.exec();
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2167  2015-11-08 22:53  CvSVMTest\SVM\main.cpp

     文件       1256  2015-11-08 22:36  CvSVMTest\SVM\SVM.pro

     文件      12461  2015-11-08 22:42  CvSVMTest\SVM\SVM.pro.user

     文件     247507  2015-11-08 22:53  CvSVMTest\SVM-build-desktop\debug\main.o

     文件    3989151  2015-11-08 22:53  CvSVMTest\SVM-build-desktop\debug\SVM.exe

     文件       5954  2015-11-08 22:37  CvSVMTest\SVM-build-desktop\Makefile

     文件       5564  2015-11-08 22:37  CvSVMTest\SVM-build-desktop\Makefile.Debug

     文件       5610  2015-11-08 22:37  CvSVMTest\SVM-build-desktop\Makefile.Release

     目录          0  2015-11-08 22:55  CvSVMTest\SVM-build-desktop\debug

     目录          0  2015-11-08 22:55  CvSVMTest\SVM-build-desktop\release

     目录          0  2015-11-08 22:55  CvSVMTest\SVM

     目录          0  2015-11-08 22:55  CvSVMTest\SVM-build-desktop

     目录          0  2015-11-08 22:55  CvSVMTest

----------- ---------  ---------- -----  ----

              4269670                    13


评论

共有 条评论