资源简介
opencv识别单行数字
代码片段和文件信息
#include “cv.h“
#include “highgui.h“
#include “cxcore.h“
#include
using namespace std;
using namespace cv;
//写本地日志,在原来的基础上追加内容!
void savefile(CString filename char * info)
{
//将内容写至本地保存起来。。。
int j = 0;
char ch[1000] = { 0 };
SYSTEMTIME sys;
GetLocalTime(&sys);
j = sprintf(ch “%s“ info);
j += sprintf(ch + j “\r\ntime:%02d/%02d %02d:%02d:%02d.%03d \r\n“ sys.wMonth sys.wDay sys.wHour sys.wMinute sys.wSecond sys.wMilliseconds);
CFile file;
file.Open(filename CFile::modeCreate | CFile::modeWrite | CFile::modeNoTruncate NULL);
file.SeekToEnd();
//file.Write(info strlen(info));
file.Write(ch j);
file.Close();
}
int top = 0 bottom = 0;
int itemp = 0 ytemp = 0;
int secColValue = 0;
void cutTop(Mat& src Mat& dstImg)//上下切割
{
bottom = src.rows;
int i;
for (i = 0; i < src.rows; i++)
{
for (size_t j = 0; j < src.cols; j++)
{
secColValue += src.at(i j);
}
if (secColValue > 0)
{
itemp = i;
break;
}
}
secColValue = 0;
for (int k = itemp; k < src.rows; k++)
{
for (size_t y = 0; y < src.cols; y++)
{
secColValue += src.at(k y);
}
if (secColValue <= 0)
{
ytemp = k;
break;
}
else
{
secColValue = 0;
}
}
Rect rect(0 itemp src.cols ytemp - itemp);
dstImg = src(rect).clone();
//imshow(“dstImg“ dstImg);
}
int temp = 0;
int colValue = 0;
int colindex = 0;
int secindex = 0;
int srccols = 0;
int width = 0;
int iright = 0;
//leftImg为左边的图片,rightImg为切割完之后剩下的右边的图片
int cutLeft(Mat& src Mat& leftImg Mat& rightImg)//左右切割
{
int left = 0;
int right = 0;
right = src.cols;
srccols = src.cols;
int i;
for (i = 0; i < src.cols; i++)
{
colindex = i;
for (size_t j = 0; j < src.rows; j++)
{
colValue += src.at(j i);
}
if (colValue > 0)
{
left = colindex;
temp = colindex;
break;
}
}
if (left == 0)
{
return 1;
}
colValue = 0;
for (int j = temp; j < srccols; j++)
{
//int colValue = getColSum(src j);
secindex = j;
for (size_t z = 0; z < src.rows; z++)
{
colValue += src.at(z j);
}
if (colValue <= 0)
{
iright = secindex;
break;
}
else
{
colValue = 0;
}
}
width = iright - temp;
Rect rect(temp 0 width src.rows);
leftImg = src(rect).clone();
//imshow(“leftImg“ leftImg);
//waitKey(0);
Rect rectRight(iright 0 src.cols - iright src.rows);
rightImg = src(rectRight).clone();
cutTop(leftImg leftImg);
//imshow(“dstImg“ leftImg);
return 0;
}
void getPXSum(Mat &src int &a)//获取所有像素点和
{
threshold(src src 100 255 CV_THRESH_BINARY);
a = 0;
for (int i = 0; i < src.rows;i++)
{
for (int j = 0; j < src.cols; j++)
{
a += src.at (i j);
}
}
}
int getSubtract(Mat &src int TemplateNum) //两张图片相减
{
Mat img_result;
int min = 1000000;
int serieNum = 0;
for (int i = 0; i < TemplateNum; i++)
- 上一篇:三维OBJ模型
- 下一篇:ImagePrinter_2.1虚拟打印机及安装包源码
相关资源
- [免费]图像识别c 源码
- 一个人脸识别程序源码
- 基于bp神经网络的表情识别
- 支持向量机的船舶目标识别
- 基于OpenCV的数字识别468815
- 使用opencv去掉二值化图像中黑色面积
- LDA 人脸识别
- 血液图像处理—细胞识别
- 编译词法分析器识别关键字常数和符
- DSP 语音识别程序 DTW MFCC
- opencv环境配置
- halcon简单实现人脸识别.hdev
- win10 64位下编译的opencv4.5.5库,opencv
- scratch -教学案例 识别物品颜色.sb3
- OCR识别字符
- halcon-ocr训练及识别
- Halcon车牌识别
- 基于HALCON识别指示灯亮灭和OCR识别.
- 滑块验证码无原图纯计算识别坐标.
- 解决Y470/Y570更新2.12BIOS后无法识别8G内
- 百度API车牌识别DEMO.rar
- 百度图片识别源码.rar
- 物联网中无线传感器节点和RFID数据融
- 常用电子元器件图片识别
- 电子元器件识别
- 基于进化算法的岩体参数智能识别
- INBarcodeOCR条码识别组件,识别率及速
- 文软快递单扫描识别软件 v8.1 简易版
- 4×4矩阵式键盘识别技术源码
- 基于模型识别的小电流接地选线方法
评论
共有 条评论