资源简介
自己写的毕业设计,基于openCV车牌识别的小区门禁系统,软件已经全部完成,所有功能都已完善,直接载入图片就可以识别车牌,字符的识别准确率98%以上,可以识别中文
代码片段和文件信息
#include “base.h“
void Run_pthread::customEvent(QEvent *pEvent)
{
}
CWinEvent::CWinEvent(int msgtype const char *path) : QEvent(QEvent::Type(QEvent::User+1))
{
m_Type = msgtype;
strcpy(m_Path path);
}
CWinEvent::CWinEvent(int msgtype QString plate QString time) : QEvent(QEvent::Type(QEvent::User+1))
{
m_Type = msgtype;
m_Plate = plate;
m_Time = time;
}
CWinEvent::~CWinEvent()
{
}
int CWinEvent::GetType()
{
return m_Type;
}
char *CWinEvent::GetPath()
{
return m_Path;
}
QString CWinEvent::GetPlate()
{
return m_Plate;
}
QString CWinEvent::GetTime()
{
return m_Time;
}
void update_log(char *msg)
{
int ret;
char log[512] = {0};
FILE *file = NULL;
file = fopen(“log.txt“ “a+“);
if(file == NULL)
qDebug() << “open error“;
QDateTime curtime = QDateTime::currentDateTime();
sprintf(log “[%s] %s“ curtime.toString(QString::fromUtf8( “yyyy年MM月dd日 hh:mm:ss:zzz ddd“)).toUtf8().data()
msg);
ret = fprintf(file “%s\n“ log);
if(ret == -1)
qDebug() << QString::fromUtf8(“日志写入失败“);
fclose(file);
}
int charge_type(QString plate)
{
sqlite3 *db;
sqlite3_stmt *stmt;
int ret;
ret = sqlite3_open(“mysqlite.DB3“ &db);
if(ret != SQLITE_OK)
{
qDebug() << QString::fromUtf8(“打开数据库失败“);
qDebug() << sqlite3_errmsg(db);
return 0;
}
char sql[64] = “select * from OwnersInfo;“;
sqlite3_prepare_v2(db sql -1 &stmt NULL);
ret = sqlite3_step(stmt);
const unsigned char * pplate;
while( ret != SQLITE_DONE )
{
pplate = sqlite3_column_text( stmt1 );
QString qplate = QString::fromUtf8((char *)pplate);
if(qplate == plate)
{
sqlite3_finalize(stmt);
sqlite3_close(db);
return LOCAL;
}
ret = sqlite3_step(stmt);
}
sqlite3_finalize(stmt);
//关闭数据库
sqlite3_close(db);
return FOREIGN;
}
void insert_InAndOut(QString plate QString time char *type)
{
sqlite3 *db;
sqlite3_stmt *stmt;
int ret;
ret = sqlite3_open(“mysqlite.DB3“ &db);
if(ret != SQLITE_OK)
{
qDebug() << QString::fromUtf8(“打开数据库失败“);
qDebug() << sqlite3_errmsg(db);
return;
}
char sql[256] = {0};
sprintf(sql “insert into InAndOutInfo (plate time type) values(‘%s‘ ‘%s‘ ‘%s‘);“
plate.toUtf8().data() time.toUtf8().data() type);
sqlite3_prepare(db sql -1 &stmt NULL);
ret = sqlite3_step(stmt);
if(ret != SQLITE_DONE)
{
qDebug() << QString::fromUtf8(“插入失败“) << sqlite3_errmsg(db);
}
sqlite3_finalize(stmt);
sqlite3_close(db);
}
相关资源
- Linux下的Socket聊天系统,QT完整界面
- 基于QT的方块消除游戏
- QT视频教程高清,用于QT的自学
- qtcreator-4.10.2的designer汉化包.zip
- qt自定义日历
- QML界面小
- qt编写的GPS界面
- ov9650摄像头在qt中的实现代码
- 基于Live555的从多个摄像头实时获取
- QT地图的高德地图插件(Map Plugin)
- 基于qt的视频播放器104396
- QT录音
- 997783QTableWidget表头添加复选框.zip
- qt_multicast.tar.gz
- QT5 雷达扫描效果代码
- QQLogin.ui
- Qt使用QGraphicsView实现滑动窗体效果
- opencv与qt结合使用的(亲测可用)
- QT实现的五子棋
- Qt 之 实现简单截图功能二
- Qt 之 实现简单截图功能一
- Qt 之 HTTP 请求支持断点续传
- PyQt5 tutorial PyQt5教程英文版
- qtsoap-2.7_1
- linux Qt局域网聊天
- Qt 多线程及简单 demo
- Qt实现的FlatUI样式
- Qt编写视频监控画面分割界面
- QT5线程QThread使用
- 基于Qt的声波图形界面动态绘制
评论
共有 条评论