资源简介
答题卡识别小程序,适合新手练习,内容较价清晰,答题卡识别小程序,适合新手练习,内容较价清晰

代码片段和文件信息
#include “stdafx.h“
#include “ASLib.h“
using namespace std;
using namespace cv;
//获得锚点
// LT(0) RT(1)
//
// LD(2) RD(3);
void FetchAnchorPoints(Mat matSrcMat matTemplatePoint2f pointAnchors[])
{
int rows = matSrc.rows;
int cols = matSrc.cols;
double minVal;
double maxVal2;
Point minlocLTminlocLDminlocRTminlocRD;
Point maxlocLTmaxlocLDmaxlocRTmaxlocRD;
Point2f anchorLTanchorRTanchorLDanchorRD;
Mat matTemp;
int iHalfX = cols/2;
int iHalfY = rows/2;
Mat matLT = matSrc(Rect(00iHalfXiHalfY));
Mat matRT = matSrc(Rect(iHalfX0iHalfXiHalfY));
Mat matLD = matSrc(Rect(0iHalfYiHalfXiHalfY));
Mat matRD = matSrc(Rect(iHalfXiHalfYiHalfXiHalfY));
matchTemplate(matLTmatTemplatematTemp5);
normalize( matTemp matTemp 0 1 NORM_MINMAX -1 Mat() );
minMaxLoc( matTemp &minVal &maxVal2 &minlocLT &maxlocLT Mat() );
anchorLT = maxlocLT;
matchTemplate(matRTmatTemplatematTemp5);
normalize( matTemp matTemp 0 1 NORM_MINMAX -1 Mat() );
minMaxLoc( matTemp &minVal &maxVal2 &minlocRT &maxlocRT Mat() );
anchorRT = Point(maxlocRT.x + iHalfXmaxlocRT.y );
matchTemplate(matLDmatTemplatematTemp5);
normalize( matTemp matTemp 0 1 NORM_MINMAX -1 Mat() );
minMaxLoc( matTemp &minVal &maxVal2 &minlocLD &maxlocLD Mat() );
anchorLD = Point(maxlocLD.x maxlocLD.y + iHalfY);
matchTemplate(matRDmatTemplatematTemp5);
normalize( matTemp matTemp 0 1 NORM_MINMAX -1 Mat() );
minMaxLoc( matTemp &minVal &maxVal2 &minlocRD &maxlocRD Mat() );
anchorRD = Point(maxlocRD.x + iHalfXmaxlocRD.y + iHalfY);
pointAnchors[0] = anchorLT;
pointAnchors[1] = anchorRT;
pointAnchors[2] = anchorLD;
pointAnchors[3] = anchorRD;
}
//投影到x或Y轴上上波形为vup下波形为vdowngap为误差间隔
void projection2(Mat srcvector& vupvector& vdownint directionint gap)
{
Mat tmp = src.clone();
vector vdate;
if (DIRECTION_X == direction){
for (int i=0;i Mat data = tmp.col(i);
int itmp = countNonZero(data);
vdate.push_back(itmp);
}
}else{
for (int i=0;i Mat data = tmp.row(i);
int itmp = countNonZero(data);
vdate.push_back(itmp);
}
}
//整形去除长度小于gap的零的空洞
if (vdate.size()<=gap)
return;
for (int i=0;i if (vdate[i]>0 && vdate[i+gap]>0){
for (int j=i;j vdate[j] = 1;
}
i = i+gap-1;
}
}
//记录上下沿
for (int i=1;i if (vdate[i-1] == 0 && vdate[i]>0)
vup.push_back(i);
if (vdate[i-1]>0 && vdate[i] == 0)
vdown.push_back(i);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2703 2017-02-16 16:16 L13 系统融合2\MFCApplication1\MFCApplication1\ASLib.cpp
文件 343 2017-02-16 16:12 L13 系统融合2\MFCApplication1\MFCApplication1\ASLib.h
文件 12175 2016-10-07 22:08 L13 系统融合2\MFCApplication1\MFCApplication1\CameraDS.cpp
文件 3421 2017-02-27 14:38 L13 系统融合2\MFCApplication1\MFCApplication1\CameraDS.h
文件 6741 2011-11-12 06:18 L13 系统融合2\MFCApplication1\MFCApplication1\CvvImage.cpp
文件 2024 2011-11-12 06:17 L13 系统融合2\MFCApplication1\MFCApplication1\CvvImage.h
文件 631 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\activecf.h
文件 1826 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\amaudio.h
文件 1065 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\amparse.h
文件 73261 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\amstream.h
文件 3974 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\amva.h
文件 19851 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\Amvideo.h
文件 1097 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\atsmedia.h
文件 1532 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\audevcod.h
文件 20543 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\austream.h
文件 13805 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\aviriff.h
文件 6820 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\ba
文件 125594 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\bdaiface.h
文件 54539 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\bdamedia.h
文件 53527 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\Bdatif.h
文件 15486 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\bdatypes.h
文件 944 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\comlite.h
文件 178266 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\control.h
文件 88071 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\d3d.h
文件 72232 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\d3d8.h
文件 16088 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\d3d8caps.h
文件 63735 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\d3d8types.h
文件 96132 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\d3d9.h
文件 22164 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\d3d9caps.h
文件 69800 2008-02-27 14:52 L13 系统融合2\MFCApplication1\MFCApplication1\DirectShow\Include\d3d9types.h
............此处省略176个文件信息
- 上一篇:STM32温湿度传感器DHT11代码,通过串口上传
- 下一篇:大量icon图标
相关资源
- 基于OpenCV的数字识别468815
- 使用opencv去掉二值化图像中黑色面积
- opencv环境配置
- win10 64位下编译的opencv4.5.5库,opencv
- NVIDIAOpticalFlowSDK-79c6cee80a2df9a196f20afd6
- opencv_contrib-3.4.0.zip
- opencv2.4.9源码分析——SIFT
- 用两个摄像头实现,双目标定,双目
- opencv_traincascade训练分类器,手势识别
- opencv3.0交叉编译用parallel.cpp
- 基于opencv的图像识别识别图像中的色
- 基于openCV的识别特定颜色区域
- 基于OpenCV的分水岭算法实现
- QT+opencv+OCR 身份证号码,银行卡号识别
- opencv视频特定颜色区域识别
- 把RGB转换为HSV和HSI然后根据黄色和蓝
- opencv视觉测距
- 基于Qt和opencv的身份证号码识别系统
- opencv_ffmpeg249.dll
- SfM稀疏三维点云重建--完整工程文件
- 基于opencv的数人头程序源代码
- 利用OpenCV中的Stitcher类实现全景图像拼
- opencv实现的sift算法源码,包含了图像
- openCV 上的小波变换
- 基于OPENCV的车牌识别系统设计
- 617张国内车牌60-17bmp图片用于OpenCV正样
- hog特征提取,c版本代码
- 基于Qt5.8+OpenCV3.2的Basler多相机触发开
- 基于Opencv实现的图像纠偏
- ImageWatch2019.vsix
评论
共有 条评论