资源简介
基于opencv的七段数码管识别,采用穿线法,具体原理详看博客
代码片段和文件信息
#include “opencv2/opencv.hpp“
#include “iostream“
#include “math.h“
#include “stdio.h“
using namespace cv;
using namespace std;
void main()
{
int result_shumaguan;
Mat cx_src=imread(“1.jpg“);
cvtColor(cx_srccx_srcCV_BGR2GRAY);
threshold(cx_srccx_src200255THRESH_BINARY);
//Mat element=getStructuringElement(MORPH_RECTSize(33));
//morphologyEx(cx_srccx_srcMORPH_DILATEelement);
//morphologyEx(cx_srccx_srcMORPH_ERODEelement);
//morphologyEx(cx_srccx_srcMORPH_ERODEelement);
imshow(“cx_src“cx_src);
Mat row1row2col1;
row1 = cx_src.rowRange(cx_src.rows/3cx_src.rows/3+1);
row2 = cx_src.rowRange(2*cx_src.rows/32*cx_src.rows/3+1);
col1 = cx_src.colRange(cx_src.cols/2cx_src.cols/2+1);
cout< int flag_row1=0;
int flag_row2=0;
int flag_col1=0;
int point_row1[10]point_row2[10]point_col1[10];
for(int i=0;i {
if(abs(row1.at(0i)-row1.at(0i+1))==255)
{
point_row1[flag_row1]=i;
flag_row1++;
}
if(abs(row2.at(0i)-row2.at(0i+1))==255)
{
point_row2[flag_row2]=i;
flag_row2++;
}
}
for(int j=0;j {
if(abs(col1.at(j0)-col1.at(j+10))==255)
{
point_col1[flag_col1]=j;
flag_col1++;
}
}
cout< cout< cout< if(flag_row1==2&&flag_row2==2&&flag_col1==2)
{
result_shumaguan=1;
}
if(flag_row1==2&&flag_row2==2&&flag_col1==6)
{
if(point_row1[0]>row1.cols/2)
{
if(point_row2[0]>row2.cols/2)
{
result_shumaguan=3;
}
else
result_shumaguan=2;
}
else
result_shumaguan=5;
}
if(flag_row1==4&&flag_row2==4&&flag_col1==6)
{
result_shumaguan=8;
}
if(flag_row1==2&&flag_row2==4&&flag_col1==6)
{
result_shumaguan=6;
}
if(flag_row1==4&&flag_row2==2&&flag_col1==6)
{
result_shumaguan=9;
}
if(flag_row1==2&&flag_row2==2&&point_row2[1]>row2.cols/2&&point_row1[1]>row1.cols/2&&flag_col1<6)
{
result_shumaguan=7;
}
cout< waitKey(0);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 51712 2017-10-06 19:52 数码管穿线法\Debug\数码管穿线法.exe
文件 485648 2017-10-06 19:52 数码管穿线法\Debug\数码管穿线法.ilk
文件 1543168 2017-10-06 19:52 数码管穿线法\Debug\数码管穿线法.pdb
文件 56623104 2017-10-30 03:20 数码管穿线法\ipch\数码管穿线法-f8b9c14c\数码管穿线法-7e583d31.ipch
文件 1095 2017-10-06 15:28 数码管穿线法\数码管穿线法\0.jpg
文件 801 2017-10-06 19:45 数码管穿线法\数码管穿线法\1.jpg
文件 1050 2017-10-06 15:28 数码管穿线法\数码管穿线法\2.jpg
文件 1170 2017-10-06 15:28 数码管穿线法\数码管穿线法\3.jpg
文件 1110 2017-10-06 15:28 数码管穿线法\数码管穿线法\4.jpg
文件 630 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\cl.command.1.tlog
文件 9402 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\CL.read.1.tlog
文件 306 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\CL.write.1.tlog
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
文件 2 2017-10-06 19:52 数码管穿线法\数码管穿线法\Debug\li
............此处省略73个文件信息
评论
共有 条评论