时间序列识别代码调试版本1

#include <iostream>
//#include <stdio.h>
#include <fstream>
#include <iomanip>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
//#include <opencv2/ml/ml.hpp>
//#include <opencv2/features2d/features2d.hpp>
//#include <opencv2/objdetect.hpp>

//#include <opencv2/gpu/gpu.hpp>

#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/objdetect/objdetect.hpp>
#include <opencv2/xobjdetect/xobjdetect.hpp>

using namespace std;
using namespace cv;

//FeatureEvaluator
int main()
{
    /************************************************************************************
    参数设置
    *************************************************************************************/
    //some parameters:
    int positive_num = 1000;
    int negative_num = 9000;

    vector<String> v_positive_img;
    vector<String> v_negative_img;

    //先考虑训练0
    int test_char = 0;
    //正例、负例
    string all_class_path = "C:\\Users\\cong\\Desktop\\研一实战\\项目\\图像中时间数字识别\\OCR\\result\\";
    string img_txt;

    for (int i = 0; i < 10; i++)
    {
        //数字转字符
        stringstream ss;
        ss << i;
        string test_char_str = ss.str();

        img_txt = all_class_path + "result" + test_char_str + ".txt";
        string path;
        ifstream finPos(img_txt);

        if (test_char == i)
        {
            //vector<Mat> channels;                //用来装一幅图的N个通道;还没初始化

            getline(finPos, path);                 //应该把文件中的图片个数也记录下来,由于该次的数据集,0~9个数一样,因此,可以考虑先不这么做
            int img_num = 0;                     //把path,第一行字符变成数字,还没有完成

            for (int j = 0; j<positive_num && getline(finPos, path); j++)
            {
                v_positive_img.push_back(path);
                //cout << path<<endl;
            }

        }
        else
        {
            //vector<Mat> channels;                //用来装一幅图的N个通道;还没初始化

            getline(finPos, path);                 //应该把文件中的图片个数也记录下来,由于该次的数据集,0~9个数一样,因此,可以考虑先不这么做
            int img_num = 0;                     //把path,第一行字符变成数字,还没有完成

            for (int j = 0; j<negative_num && getline(finPos, path); j++)
            {
                v_negative_img.push_back(path);
                //cout << path << endl;
            }
        }
    }

    //训练:随机森林
    //上述中正负样本的个数是否需要调整?
    cv::xobjdetect::ICFDetectorParams myICFDetctorParams;
    cv::xobjdetect::ICFDetector myICFDetector;
    myICFDetector.train(v_positive_img, v_negative_img, myICFDetctorParams);

    //测试,尺度问题呢?
    //parameters

    //Mat img_test = imread("C:\\Users\\cong\\Desktop\\研一实战\\项目\\图像中时间数字识别\\OCR\\one\\3.jpg");
    //vector<Rect> myRect;
    //float scaleFactor;
    //Size minSize;
    //Size maxSize;
    //float threshold;
    //int slidingStep;
    //vector<float> values;

    //myICFDetector.detect(img_test, myRect, scaleFactor, 10, 50, threshold, slidingStep, values);

    /*
    C++: void ICFDetector::detect(const Mat& image, vector<Rect>& objects, float scaleFactor, Size minSize, Size maxSize, float threshold, int slidingStep, std::vector<float>& values)
    C++: detect(const Mat& img, std::vector<Rect>& objects, float minScaleFactor, float maxScaleFactor, float factorStep, float threshold, int slidingStep, std::vector<float>& values)
    Parameters:
    image – image for detection
    objects – output array of bounding boxes
    scaleFactor – scale between layers in detection pyramid
    minSize – min size of objects in pixels
    maxSize – max size of objects in pixels
    minScaleFactor – min factor by which the image will be resized
    maxScaleFactor – max factor by which the image will be resized
    factorStep – scaling factor is incremented each pyramid layer according to this parameter
    slidingStep – sliding window step
    values – output vector with values of positive samples
    */

    return 0;
}
时间: 2024-12-22 20:59:52

时间序列识别代码调试版本1的相关文章

关于Python代码调试的问题

关于Python代码调试的问题使用 pdb 进行调试pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点.单步调试.进入函数调试.查看当前代码.查看栈片段.动态改变变量的值等.pdb 提供了一些常用的调试命令,下面结合具体的实例讲述如何使用 pdb 进行调试.import pdb   a = "aaa" pdb.set_trace()   b = "bbb" c = "ccc" fin

搭建Spark源码研读和代码调试的开发环境

转载自https://github.com/linbojin/spark-notes/blob/master/ide-setup.md Table of Contents 源码获取与编译 从Github上获取Spark源码 编译Spark项目 源码导入与代码运行 导入源码到Intellij IDEA 16 运行实例代码 1. 配置运行参数 2. 添加缺失的flume sink源代码 3. 添加运行依赖的jars 4. 成功运行实例代码 单步调试源代码 工欲善其事,必先利其器,第一篇笔记介绍如何搭

python代码调试

http://blog.csdn.net/pipisorry/article/details/45190851 trace模块可以监控Python执行程序的方式,同时生成一个报表来显示程序的每一行执行的次数.这些信息可以用来发现未被自动化测试集所覆盖的程序执行路径,也可以用来研究程序调用图,进而发现模块之间的依赖关系.编写并执行测试可以发现绝大多数程序中的问题,Python使得debug工作变得更加简单,这是因为在大部分情况下,Python都能够将未被处理的错误打印到控制台中,我们称这些错误信息

目标跟踪学习系列十:Struck:Structured Output Tracking with Kernels 代码调试

本来想看完代码再详细的写的.但是有人问了就先贴出来吧!代码调试中会遇到的一些的问题. 首先,你没有代码的话可以在这里下载:http://download.csdn.net/detail/u012192662/8042147 然后需要安装opencv(我想如果你是做这个应该有的):Eigen;http://download.csdn.net/detail/u012192662/8042155 作者的代码使用的是 OpenCV v2.1 and Eigen v2.0.15.opencv还没有问题,高

关于代码调试de那些事

原文出处:http://www.wklken.me/posts/2014/11/23/how-to-debug.html 关于代码调试de那些事 1.你得明白你在做什么, 保持清醒 2.想清楚了再写代码 3.关于脚手架代码 4.写完一段代码第一时间自己review一下 5.review中注意, 代码是抠过来的么? 6.搞明白问题的表现是什么(症状) 7.调试过程中, 需要时刻注意 8.环境/数据一致性 9.先不要动代码, 假设代码是正确的 10.首先要怀疑自己 11.对于莫名其妙的问题, 多试几

代码调试包Infragistics Windows Forms Test Automation发布v16.1|附下载

WinForms代码调试包使您能够用完整的.功能全面的开发工具集再任何地点重启您的WinForms应用程序.它能帮助您轻松的提高您企业的桌面应用程序的易操作性,于此给您的客户带来极好的用户体验.我们对于Windows Forms已有相当扎实的开发经验,并且将会继续加大对所有Windows Forms控件的研发力度,以此来保障您会一直享有最快的,最稳定的工具. 下载最新版Infragistics Windows Forms Test Automation>>> 近日, Infragisti

用VScode代码调试Python

Python扩展支持许多类型的Python应用程序的调试,包括以下一般功能: 观看窗口 评估表达式 当地人 参数 扩大孩子 断点 条件断点 暂停(进入)正在运行的程序 自定义启动目录 要熟悉这些常规功能,请查看VS Code调试文章.本文仅讨论那些特定于Python的注意事项. 选择一个配置 要选择调试配置,请选择边栏中的调试视图,然后从下拉列表中选择一个选项: 在调试时,状态栏显示左下角的当前配置,当前的调试解释器位于右侧.选择配置会显示列表,您可以从中选择不同的配置: 默认情况下,调试器使用

十一、pycharm 远程代码调试

---恢复内容开始--- 十一.pycharm 远程代码调试 第三方登录和支付,都需要有服务器才行(回调url),我们可以用pycharm去远程调试服务器代码 服务器环境搭建 以全新阿里云centos7系统为例: 11.1.阿里云安全组配置 快速创建规则,选好常用端口,授权对象,确定就可以了 还要添加一个安全组规则,设置端口范围,授权对象,点确定 ssh连接 yum install openssh-server -y service sshd restart #xshell连不上,SSH服务端不

有选择性的启用SAP UI5调试版本的源代码

在低版本的SAP UI5应用中,我们一旦切换成调试模式,那么应用程序源代码和UI5框架程序的源代码的调试版本都会重新加载,耗时很长. 我最近发现UI5新版本1.66.1提供了选择性加载调试版本的源代码的选项,即下图中的Select Specific modules: 如果确认问题出在我们应用程序,只想调试自己编写的应用代码,那么我们可以只切换应用程序成为调试版本,这样速度大大提高. 此时浏览器地址栏里看到的参数为sap-ui-debug=dis/#, 意思是仅仅disnamespace下的所有资