zoukankan      html  css  js  c++  java
  • 银行卡的数字检測

    业余瞎搞。废话少说。上代码:

    #pragma comment(lib, "libtesseract302.lib")
    #pragma comment(lib, "liblept.lib")
    
    #include <iostream>
    #include <string>
    #include <opencv.hpp>
    #include <opencv2highguihighgui.hpp>
    #include <tesseractaseapi.h>  
    #include <tesseractstrngs.h>  
    
    using namespace std;
    cv::Mat image;
    string windowsname = "image";
    void OnTracker(int thres, void *user)
    {
    	cv::threshold(image, image, thres, 2.5*thres,CV_THRESH_BINARY);
    	cv::imshow(windowsname, image);
    
    
    	tesseract::TessBaseAPI  api;  
    	api.Init(NULL, "eng", tesseract::OEM_DEFAULT);   //识别英文
    	api.SetVariable( "tessedit_char_whitelist", "0123456789");//限制识别字符范围  
    	api.SetImage(image.data,image.cols, image.rows, image.channels(), image.step);
    	if (0==api.Recognize(NULL))
    	{	
    		STRING str = api.GetUTF8Text();
    		printf(str.string());
    
    		string strtemp = str.string();
    
    		while (1)
    		{
    			int k = strtemp.find_first_of(' ');
    			if (k<0||k>=strtemp.length())
    			{
    				break;
    			}
    			strtemp.erase(k,1);
    
    		}
    
    		cout << strtemp << endl;
    		while(1)
    		{
    			int k = strtemp.find_first_of('
    ');
    			if (k<0||k>=strtemp.length())
    			{
    				break;
    			}
    			string temp = strtemp.substr(0,k);
    			cout << temp << endl;
    			if (temp.length() > 14)
    			{
    				cout << "the card numbers is :" << temp << endl;;
    				break;
    			}
    			strtemp.erase(0,k+1);
    		}
    
    	}
    }
    
    int main()
    {
    	cv::namedWindow("image", 1);
    	image = cv::imread("test.jpg");
    	cv::cvtColor(image, image, CV_RGB2GRAY);
    	int thres = 100;
    	cv::createTrackbar("thres:", "image", &thres, 255, OnTracker);
    	cv::imshow(windowsname, image);
    
    	cv::waitKey(0);
    
    	return 0;
    }


    检測结果例如以下:





    对数字3和8偶尔会出现检測不准确的现象


  • 相关阅读:
    有限元方法的核心思想
    由拉格朗日函数推导守恒定律
    codeforces 1181D
    gym 102222 J
    COJ#10C
    已然逝去の夏日泳装
    NC50 E
    codeforces 1147 C
    agc 037 C
    19牛客多校第十场G
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6822270.html
Copyright © 2011-2022 走看看