您现在的位置是:主页 > news > 软件开发培训机构哪家好/企业网站的优化建议
软件开发培训机构哪家好/企业网站的优化建议
admin2025/6/21 21:08:18【news】
简介软件开发培训机构哪家好,企业网站的优化建议,织梦做网站要多长时间,产品设计是冷门专业吗文章目录一、功能要求二、项目笔记(一)网络问题:Ubuntu同时与开发板、WiFi连接(二)图片文字识别(三)文字转语音(四)摄像头拍摄化作尘其它开源项目:单片机项目…
文章目录
- 一、功能要求
- 二、项目笔记
- (一)网络问题:Ubuntu同时与开发板、WiFi连接
- (二)图片文字识别
- (三)文字转语音
- (四)摄像头拍摄
- 化作尘其它开源项目:
- 单片机项目:
- Linux项目:
哔哩哔哩项目演示视频:https://www.bilibili.com/video/BV1vf4y1r7sD
资料链接:https://download.csdn.net/download/mbs520/15085916
一、功能要求
基于ARM53的停车场管理系统
(制作好的作品与功能要求略有区别,增加了一些功能)
项目实现:
1:使用RFID打卡作为入场和出场识别。
(刷第一次查询数据库是否该卡号,没有就是进场,有就是出场)
进场:记录进场的时间,卡号,进场的车辆照片
出场:计费,显示当时进场的车辆照片,从数据库中删除该车辆的信息
2:使用数据库进行车位管理。
(可以人为修改车辆在数据库中的信息)
3:监控出入口视频。 (循环录制1分钟的视频,保存到本地)
4:实现语音播报车辆信息与消费信息。(车场就播报车辆的卡信息,出场就播报消费金额)
5:添加图像识别功能,根据拍照获取车牌号
项目具体需求:
1: 创建一个数据库, 内置你需要的所有信息, 如车牌信息、RFID卡信息、卡类、进场时间、车辆照片名等
2: 在默认状态下,视频监控是处于打开状态的,并循环录制,1分钟视频,保存到本地。
当检测到有RFID卡,关闭视频流,判断当前数据库中是否有该卡的入场信息:
1)如果已有该卡的入场信息,表示现在是出场;则直接计算出当前时间和入场时间差值,在屏幕上显示该车辆照片,显示车辆信息和应收费金额
2)如果没有该卡的入场信息,则在数据库中增加该车辆信息,并记录当前时间且拍照。
3)在检测到RFID卡3秒后, 系统会恢复打开视频流
4:当车辆刷卡进场是,语音提示卡号,并说明卡的类别(临时卡,或包月卡),出场提示:费用与月卡剩余天数
5:管理功能,负责把卡的类别进行修改,与数据库中的数据进行修改。
6: 自行扩展: 添加一些自主功能。
二、项目笔记
一开始遇到的问题
(一)网络问题:Ubuntu同时与开发板、WiFi连接
1、打开Ubuntu ,上面的菜单栏,点击 编辑->虚拟网络设置
首先还原默认设置
2、WMnet0桥接模式
原理:让这个网络桥接到这个网口
3、点击 虚拟机->设置->添加->网络适配器
4、开启终端
ifconfig 记住自己的网卡名字
5、编辑网卡
sudo vi /etc/network/interfaces
编辑一下信息:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopbackauto ens33
iface ens33 inet dhcpauto ens38
iface ens38 inet static
address 192.168.22.128
netmask 255.255.255.0
gateway 192.168.22.1
dns-nameservers 223.5.5.5
6、重启网卡
sudo /etc/init.d/networking restart
7、测试
问题:
有网友反馈说配置后不能重启网络,可以试试下面解决方法:
1、 cd /etc/NetworkManager/system-connections 然后 ls
2、sudo vi ens33
把网卡名字修改过来
把第二网口名字也改过来
sudo mv 有线连接\ 2 ens38
ls
sudo vi ens38
(二)图片文字识别
百度图像识别API 接口的使用
百度的文字识别API 接口 : https://cloud.baidu.com/p
roduct/ocr/general
下载文字识别的SDK ,注意下载的是C++ SDK
点击使用说明: https://ai.baidu.com/ai-doc/OCR/skib
izxzo
官方的使用说明:
安装文字识别 C++ SDK
文字识别 C++ SDK目录结构
最低支持 C++ 11+
直接使用开发包步骤如下:
1.在官方网站下载C++ SDK压缩包。
2.将下载的aip-cpp-sdk-version.zip解压, 其中文件为
包含实现代码的头文件。
3.安装依赖库libcurl(需要支持https) openssl
jsoncpp(>1.6.2版本,0.x版本将不被支持)。├── base │ ├── base.h // 请求客户端基类│ ├── base64.h // base64加密相关类 │ ├── http.h // http请求封装类 │ └── utils.h // 工具类 └── ocr.h // 文 字识别 交互类
4.编译工程时添加 C++11 支持 (gcc/clang 添加编译参数
-std=c++11), 添加第三方库链接参数 lcurl, lcrypto,
ljsoncpp。
g++ main.cpp -o main -std=c++11 -lcurl -lcrypto -ljsoncpp
5.在源码中include ocr.h ,引入压缩包中的头文件以使
用aip命名空间下的类和方法。
环境库的安装方式:
使用步骤
1.新建一个客户端
//安装依赖库
sudo apt-get install libcurl4-openssl-dev -> libcurl
sudo apt-get install libjsoncpp-dev -> jsoncpp
//(需要修改JSON 文件的路径)
/usr/include/json/json.h
//(编译时提示找到不 JSON都是这个问题)
sudo apt-get install libssl-dev -》 openssl
#include "ocr.h" // 设置APPID/AK/SK
std::string app_id = "你的 App ID";
std::string api_key = "你的 Api key";
std::string secret_key = "你的 Secret Key";
aip::Ocr client(app_id, api_key, secret_key);
所有的 APPID/AK/SK 在自己个人中心控制台查看。
例子如下:
#include "ocr.h" // 设置APPID/AK/SK
std::string app_id = "23603269";
std::string api_key = "oi9p6xAUZiKCctGTET0ZXU7n";
std::string secret_key = "0tfYXzYGABWfruRrOG2dp66pNQ79s0SG";
aip::Ocr client(app_id, api_key, secret_key);
编译的时候提示如下错误:
编译的时候添加第三方库文件:
lcurl, lcrypto, ljsoncpp。 -std=c++11
g++ main.cpp -o main -std=c++11 -lcurl -lcrypto -ljsoncpp
2.调用文字识别的API 接口 https://ai.baidu.com/ai-do
c/OCR/rkibizy1d
高精度版
Json::Value result; std::string image;
aip::get_file_content("/assets/sample.jpg", &image); // 调用通用文字识别(含位置高精度版)
result = client.accurate(image, aip::null); // 如果有可选参数
std::map<std::string, std::string> options;
options["recognize_granularity"] = "big";
options["detect_direction"] = "true";
options["vertexes_location"] = "true";
options["probability"] = "true"; // 带参数调用通用文字识别(含位置高精度版)
result = client.accurate(image, options);
在QT 中使用 百度文字识
别API
注意:在windos 的QT 是没有办法用的,因为windos
没有 lcurl, lcrypto, ljsoncpp 这些库。
1.把百度的SDK 放到 QT 工程文件中
2.把 #include “ocr.h” 头文件添加到 QT 工程中
3.添加第三方库文件
4.添加头文件
(三)文字转语音
参考我的博客:https://blog.csdn.net/mbs520/article/details/113179224
(四)摄像头拍摄
FFMPEG 工具的使用
1.把 ffmpeg 工具下载到开发板的 /bin 目录
2.修改 ffmpeg 的权限
chmod 777 /bin/ffmpeg
常用命令:
ffmpeg -f v4l2 -s 640X480 -r 1 -t 1 -i /dev/video7 -f image2 pic-%03d.jpeg
参数说明:
-f 指定视频的格式
-s 指定视频的大小
-r 指定帧率 -t 指定时间 -i 指定输入设备 -f 指定格式
//录制10S 的视频
ffmpeg -f v4l2 -s 640x480 -t 10 -i /dev/video7 out.avi
//覆盖录制
ffmpeg -y -f v4l2 -s 640x480 -t 10 -i /dev/video7 out.avi
化作尘其它开源项目:
单片机项目:
基于stm32c8t6的坡道行驶巡线小车(2020年TI杯大学生电子设计竞赛 C题)https://blog.csdn.net/mbs520/article/details/115438122
基于STM32F4的音乐播放器
https://blog.csdn.net/mbs520/article/details/111313042
基于STM32F4的电子阅读器(首创)
https://blog.csdn.net/mbs520/article/details/110817173
基于51单片机WiFi视频小车(首创)
https://blog.csdn.net/mbs520/article/details/109843972
基于51单片机蓝牙小车
https://blog.csdn.net/mbs520/article/details/109775964
基于MSP430 坡道行驶电动小车(2020年TI杯大学生电子设计竞赛 C题)
https://blog.csdn.net/mbs520/article/details/109090072
基于stm32f4的智能门锁系统
https://blog.csdn.net/mbs520/article/details/106987758
基于51单片机超声波测距小车
https://blog.csdn.net/mbs520/article/details/106599219
基于51单片机定时宠物喂食系统
https://blog.csdn.net/mbs520/article/details/108292187
Linux项目:
基于QT5 Linux平台 停车场管理系统
https://blog.csdn.net/mbs520/article/details/113481824
基于QT5 Linux平台 车载系统
https://blog.csdn.net/mbs520/article/details/112873809
基于Linux系统 媒体播放器
https://blog.csdn.net/mbs520/article/details/107880118
基于Linux系统 语音识别、人机对话
https://blog.csdn.net/mbs520/article/details/113179224
基于Linux系统小钢琴程序(暂无博客)
https://download.csdn.net/download/mbs520/12798287
基于Linux系统 QQ通讯录管理系统(暂无博客)