资源简介
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虚拟打印机及安装包源码
相关资源
- 人脸识别 测试头像 美女图像
- 车牌识别含有十几张可识别车牌图片
- FDC2214手势识别原理图+PCB+中文手册
- dlib-19.7.0-cp36-cp36m-win_amd64.whl
- 天若OCR文字识别开源版V5.0.0
- 模式识别导论
- KNN算法与Tensorflow分别实现的手写识别
- 状态机按键 多个独立按键识别 单击
- 计算机专业本科毕设——人脸识别系
- 微软说话人识别工具包MSR Identity Too
- APDS9960手势识别程序源码
- 人脸识别系统-毕业设计
- Halcon区域特征分析:案例-提取遥控器
- 颜色增强算法Opencv
- 吴恩达LogisticRegression识别猫数据集
- 一个基于 OpenCV 的人脸识别系统
- opencv检测人眼并精准定位瞳孔
- 人脸识别系统开题答辩
- 端元提取和端元识别
- 电赛D题一等奖论文
- 人脸识别三套源码含小程序源码亲测
- 完整版APDS9960手势识别源码
- Opencv实现物体识别和追踪
- 基于OpenCV多目标的模板匹配算法
- 正点原子stm32f407探索者LD3320语音识别
- 国科大模式识别机器学习15-19期末试题
- Opencv中文手册资料
- opencv js单独文件
- opencv车辆检测model
- 基于51单片机指纹识别系统的程序
评论
共有 条评论