资源简介
对图像数字的简单识别,希望能够给你们参考参考,主要是将数字的特征匹配,在一定的范围内视为相识,再确定数字是否是1 2 3 4.。。。。。。。。。。。
代码片段和文件信息
#include
#include
#include
#include
using namespace cv;
using namespace std;
struct con
{
double xy; //轮廓位置
int order; //轮廓向量contours中的第几个
bool operator<(con &m)
{
if(y > m.y) return false;
else if( y == m.y)
{
if(x < m.x) return true;
else return false;
}
else return true;
}
}con[15];
struct result
{
double bi;
int num;
bool operator<(result &m)
{
if(bi < m.bi)return true;
else return false;
}
}result[15];
Mat num[15];
Mat sample;
void deal(Mat &srcint order);
double compare(Mat &src Mat &sample);
void Threshold(Mat &srcMat &sampleint m);
int main( )
{
Mat srcImage = imread(“originalSize.png“);
if(!srcImage.data)
{
cout << “读取图片出错!!“ << endl;
return false;
}
imshow(“【原图】“srcImage);
Mat dstImage grayImage Image;
srcImage.copyTo(dstImage);
cvtColor(srcImage grayImage COLOR_BGR2GRAY); //将原图像转化成灰度图
// imshow(“【灰度图】“grayImage); //显示灰度图
threshold(grayImage Image 48 255 CV_THRESH_BINARY_INV); //二值化
imshow(“【二值化图】“grayImage); //二值图
//定义轮廓和层次结构
vector> contours; //检测并勾画轮廓
vector hierarchy;
findContours(Imagecontours hierarchy CV_RETR_EXTERNAL CV_CHAIN_APPROX_NONE); //指定findContours()函数仅搜索最外层的轮廓,而不关注内部可能出现的任何轮廓。
Mat lunkuo = Mat::zeros(srcImage.rowssrcImage.colsCV_8UC3); //创建一个与原图相同的三通道轮廓图
for(int i = 0;i >= 0;i = hierarchy[i][0]) //依次画出检测到的轮廓
{
drawContours(lunkuocontoursiScalar(00255)CV_FILLED8hierarchy);
}
imshow(“【轮廓检测图】“lunkuo); //轮廓图
int i = 0;
Point2f pp[5][4];
vector>::iterator It;
Rect rect[10];
for(It = contours.begin();It < contours.end();It++)
{ //画出可包围数字的最小矩形
Point2f vertex[4];
rect[i] = boundingRect(*It); //计算一个轮廓的矩形边界
vertex[0] = rect[i].tl(); //矩阵左上角的点
vertex[1].x = (float)rect[i].tl().x vertex[1].y = (float)rect[i].br().y; //矩阵左下方的点
vertex[2] = rect[i].br(); //矩阵右下角的点
vertex[3].x = (float)rect[i].br().x vertex[3].y = (float)rect[i].tl().y; //矩阵右上方的点
for( int j = 0; j < 4; j++)
line(dstImagevertex[j] vertex[ (j+1)%4 ]Scalar(00255)1); //画出矩形轮廓区域
con[i].x = (vertex[0].x+vertex[1].x+vertex[2].x+vertex[3].x) / 4.0; //根据中心点判断图像的位置
con[i].y = (vertex[0].y+vertex[1].y+vertex[2].y+vertex[3].y) / 4.0;
//cout << con[i].x << ““ << con[i].y << con[i].order << endl;
con[i].order
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-05-26 15:36 数字匹配\
目录 0 2018-05-25 21:37 数字匹配\1_HelloOpenCV\
文件 35344384 2018-05-26 15:36 数字匹配\1_HelloOpenCV.sdf
文件 906 2014-11-24 10:35 数字匹配\1_HelloOpenCV.sln
文件 25088 2018-05-26 15:36 数字匹配\1_HelloOpenCV.suo
文件 1633 2017-12-04 19:17 数字匹配\1_HelloOpenCV\0.png
文件 272244 2014-07-24 17:19 数字匹配\1_HelloOpenCV\1.jpg
文件 666 2017-12-04 19:18 数字匹配\1_HelloOpenCV\1.png
文件 7402 2017-12-27 18:50 数字匹配\1_HelloOpenCV\1_HelloOpenCV.cpp
文件 3982 2017-02-24 20:22 数字匹配\1_HelloOpenCV\1_HelloOpenCV.vcxproj
文件 951 2014-11-26 09:37 数字匹配\1_HelloOpenCV\1_HelloOpenCV.vcxproj.filters
文件 143 2014-11-24 10:35 数字匹配\1_HelloOpenCV\1_HelloOpenCV.vcxproj.user
文件 1576 2017-12-04 19:19 数字匹配\1_HelloOpenCV\2.png
文件 65291 2017-03-01 21:24 数字匹配\1_HelloOpenCV\3.jpg
文件 1746 2017-12-04 19:20 数字匹配\1_HelloOpenCV\3.png
文件 1535 2017-12-04 19:21 数字匹配\1_HelloOpenCV\4.png
文件 1506 2017-12-04 19:22 数字匹配\1_HelloOpenCV\5.png
文件 1907 2017-12-04 19:23 数字匹配\1_HelloOpenCV\6.png
文件 1359 2017-12-04 19:24 数字匹配\1_HelloOpenCV\7.png
文件 2020 2017-12-04 19:25 数字匹配\1_HelloOpenCV\8.png
文件 1893 2017-12-04 19:26 数字匹配\1_HelloOpenCV\9.png
目录 0 2018-05-26 15:36 数字匹配\1_HelloOpenCV\Debug\
文件 272244 2014-07-24 17:19 数字匹配\1_HelloOpenCV\Debug\1.jpg
文件 406 2015-11-24 14:32 数字匹配\1_HelloOpenCV\Debug\1_HelloOpenCV.exe.em
文件 472 2017-02-24 20:14 数字匹配\1_HelloOpenCV\Debug\1_HelloOpenCV.exe.em
文件 381 2015-11-24 14:32 数字匹配\1_HelloOpenCV\Debug\1_HelloOpenCV.exe.intermediate.manifest
文件 81 2018-05-26 15:36 数字匹配\1_HelloOpenCV\Debug\1_HelloOpenCV.lastbuildstate
文件 938 2018-05-26 15:36 数字匹配\1_HelloOpenCV\Debug\1_HelloOpenCV.log
文件 404185 2018-05-26 09:23 数字匹配\1_HelloOpenCV\Debug\1_HelloOpenCV.obj
文件 713 2017-02-17 10:53 数字匹配\1_HelloOpenCV\Debug\1_HelloOpenCV.vcxprojResolveAssemblyReference.cache
文件 0 2017-02-17 10:53 数字匹配\1_HelloOpenCV\Debug\1_HelloOpenCV.write.1.tlog
............此处省略100个文件信息
相关资源
- Tensorflow - 实战Google深度学习框架 全本
- 《TensorFlow实战Google深度学习框架(第
- Google Chrome 浏览器
- TensorFlow实战Google深度学习框架(第
- 谷歌浏览器安装包.zip
- Leaflet+heatmap加载本地google瓦片地图和
- Google_kml_tools v1.2
- 荣耀30/s 荣耀v30/pro 华为手机谷歌商店
- GoogleV8最新Lib库
- 电力勘测道亨图 Google Earth
- kubeadm-basic.images.tar.gz
- bvlc_googlenet.prototxt &synset;_words.txt
- google-earth
- 深网-Google搜不到的世界.pdf
- google-chrome-stable_current_i386.deb
- Google ARCore开发手机端安装包
- google v8引擎编译后的dll及头文件
- google plugin for eclipse (eclipse的gwt插件
- google-chrome-stable-27.0.1453.110-202711.x86_
- chrome.r39.crx+ffactivex-setup-r39.exe+google4
- 谷歌浏览器(Google Chrome)48.0.2535官方
- Google软件测试之道完整版 电子书 文字
- GEPlugin插件
- shp文件 中国省、市、县、河流、路
- Unity接入GoogleAdMob广告最新版的SDK工程
- 现流行的AlexNetVGGNetGoogleNetSENetResNet等
- Google GPS轨迹记录软件 MyTracks源码整理
- GoogleEarth pro 专业破解版
- tensorflow实战+实战Google深度学习框架
- google service 4件套
评论
共有 条评论