YOLOv8小程序部署
下载地址:下载地址
-
环境配置
YOLOv8环境配置的教程比较多,此处不在赘述,贴出我的环境:
(yolov8) C:\Users\CDG>pip list
Package Version
----------------------- --------------------
absl-py 1.4.0
addict 2.4.0
aiohttp 3.8.4
aiosignal 1.3.1
albumentations 1.3.1
aliyun-python-sdk-core 2.14.0
aliyun-python-sdk-kms 2.16.2
antlr4-python3-runtime 4.9.3
asttokens 2.2.1
async-timeout 4.0.2
attrs 23.1.0
backcall 0.2.0
beautifulsoup4 4.12.2
blinker 1.7.0
brotlipy 0.7.0
cachetools 5.2.1
certifi 2022.12.7
cffi 1.15.1
charset-normalizer 2.0.4
click 8.1.7
cloudpickle 3.0.0
colorama 0.4.6
coloredlogs 15.0.1
config 0.5.1
contourpy 1.0.7
crcmod 1.7
cryptography 38.0.4
cycler 0.11.0
Cython 3.0.5
datasets 2.13.0
decorator 5.1.1
dill 0.3.6
efficientnet-pytorch 0.7.1
einops 0.6.0
et-xmlfile 1.1.0
executing 1.2.0
fairscale 0.4.13
filelock 3.10.7
Flask 3.0.2
flatbuffers 23.1.4
flit_core 3.6.0
fonttools 4.38.0
frozenlist 1.3.3
fsspec 2023.6.0
gast 0.5.4
gdown 4.7.1
gitdb 4.0.10
GitPython 3.1.30
google-auth 2.16.0
google-auth-oauthlib 0.4.6
grad-cam 1.4.8
grpcio 1.51.1
huggingface-hub 0.13.3
humanfriendly 10.0
hydra-core 1.3.1
idna 3.4
imageio 2.32.0
imgviz 1.7.4
importlib-metadata 7.0.0
importlib-resources 5.10.2
ipython 8.8.0
itsdangerous 2.1.2
jedi 0.18.2
Jinja2 3.1.3
jmespath 0.10.0
joblib 1.3.2
kiwisolver 1.4.4
labelme 5.3.1
lazy_loader 0.3
lightly 1.4.7
lightly-utils 0.0.2
lightning-utilities 0.8.0
Markdown 3.4.1
MarkupSafe 2.1.2
matplotlib 3.6.3
matplotlib-inline 0.1.6
mkl-fft 1.3.1
mkl-random 1.2.2
mkl-service 2.4.0
mmdet 3.1.0
mmyolo 0.6.0
modelscope 1.9.5
mpmath 1.2.1
multidict 6.0.4
multiprocess 0.70.14
natsort 8.4.0
networkx 3.1
numpy 1.23.5
oauthlib 3.2.2
omegaconf 2.3.0
onnxruntime 1.16.3
opencv-python 4.7.0.68
opencv-python-headless 4.9.0.80
openpyxl 3.1.2
oss2 2.18.3
packaging 23.0
pandas 1.5.2
parso 0.8.3
pickleshare 0.7.5
Pillow 9.3.0
pip 22.3.1
platformdirs 4.1.0
prefetch-generator 1.0.3
prettytable 3.8.0
prompt-toolkit 3.0.36
protobuf 3.20.3
psutil 5.9.4
ptflops 0.7
pure-eval 0.2.2
pyarrow 14.0.1
pyasn1 0.4.8
pyasn1-modules 0.2.8
pycocotools 2.0.7
pycparser 2.21
pycryptodome 3.19.0
Pygments 2.14.0
pyOpenSSL 22.0.0
pyparsing 3.0.9
PyQt5 5.15.10
PyQt5-Qt5 5.15.2
PyQt5-sip 12.13.0
pyreadline3 3.4.1
PySocks 1.7.1
python-dateutil 2.8.2
pytorch-lightning 2.0.3
pytorch-wavelets 1.3.0
pytz 2022.7.1
PyWavelets 1.4.1
PyYAML 6.0
QtPy 2.4.1
qudida 0.0.4
requests 2.28.1
requests-oauthlib 1.3.1
rsa 4.9
safetensors 0.4.2
scikit-image 0.21.0
scikit-learn 1.3.2
scipy 1.10.0
seaborn 0.12.2
setuptools 65.6.3
shapely 2.0.1
simplejson 3.19.2
six 1.16.0
smmap 5.0.0
sortedcontainers 2.4.0
soupsieve 2.5
stack-data 0.6.2
submitit 1.5.1
sympy 1.11.1
tensorboard 2.11.2
tensorboard-data-server 0.6.1
tensorboard-plugin-wit 1.8.1
termcolor 2.4.0
terminaltables 3.1.10
thop 0.1.1.post2209072238
threadpoolctl 3.3.0
tifffile 2023.7.10
timm 0.9.8
tomli 2.0.1
torch 1.12.0
torchaudio 0.12.0
torchmetrics 0.11.4
torchvision 0.13.0
tqdm 4.64.1
traitlets 5.8.1
ttach 0.0.3
typing_extensions 4.4.0
ultralytics 8.0.117
urllib3 1.26.14
wcwidth 0.2.6
Werkzeug 3.0.1
wheel 0.37.1
win-inet-pton 1.1.0
wincertstore 0.2
xxhash 3.4.1
yapf 0.40.2
yarl 1.9.2
zipp 3.11.0
- 使用方法
YOLOv8环境配置好之后,就可以开始运行。
(1)前端代码在APP文件夹中,后端代码在YOLOv8文件夹中。
(2)运行代码时,首先要在后端代码中设置权重路径等信息,代码中有注释,后端代码在houduan.py中。
- 在houduan.py中设置权重文件路径,需要修改的地方是第12行和53行,我的代码中下载了官方的目标检测权重yolov8n.pt,测试图片是官方的COCO数据集里的图片。
权重填好之后要修改文件路径,将22行,27行,39行和47行的路径修改为自己的路径。
测试有两种方式,一种是在本机上运行,另一种是在手机端测试。
在本机上运行需要将#app.run(host='192.168.1.227',debug=True)#局域网实现这行代码注释掉,然后运行houduan.py文件,后端就开启了。
接下来下载微信开发者工具,其图表如下:
打开微信开发者工具,进入到以下界面,点击加号,选择小程序所在目录miniprogram-2,不要选成wechat-main。点击确定进入到小程序界面。
在小程序界面中,需要修改端口的url,在主机上测试时,需要将upload.js中的87行和102行的url: 'http://192.168.1.227:5000/request'注释掉。点击编译之后可以开始上传图片以及得到结果。
选择图片,点击主界面上传图片按钮,进入到图片上传界面,点击加号选择图片,点击上传就会得到结果图。
手机端测试方法如下:
修改houduan.py文件中的局域网代码,host的后面填写自己局域网的ipv4地址。注意,电脑和手机都要连接同一个WiFi,电脑插网线是有问题的。
将小程序upload.js中的88和103行注释掉,重新编译,点击左上角工具栏下的真机调试,出现二维码,用微信扫码即可调试。
扫完码之后微信会进入小程序,界面如下,点击图片上传,进入以下界面。
在手机端可以选择拍摄或者从相册选择,电脑端不可以。选择完图片上传,可以得到识别的结果。
3.如何修改界面
打开小程序中index.wxss,可以根据自己的需要修改按钮的颜色,大小等。