1. 确认环境是否支持


我用的实践环境:
一台Windows7_x64,和一台Windows10_x64
Python 3.8.5
pip 21.0.1
我是安装的CPU版,对CUDA没有特别要求。

2. 在PyCharm中创建一个新的工程

其中pip升级了一次,注意升级时要先把原来虚拟环境中的pip包删除,否则更新不了。

3. 安装PaddleOCR包

在虚拟环境中用pip安装

pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

4. 验证安装
import paddleif __name__ == '__main__':paddle.utils.run_check()

5. 下载PaddleOCR repo代码

可以用git clone(推荐)

git clone https://github.com/PaddlePaddle/PaddleOCR

也可以通svn checkout

svn co https://github.com/PaddlePaddle/PaddleOCR/trunk

在PyCharm中将PaddleOCR文件夹设置成源码目录

6. 安装相关第三方库
cd PaddleOCR
pip install -r requirements.txt

安装前可能需要修改一下仓库地址:https://mirror.baidu.com/pypi/simple/

并且这一步骤依赖vc14编译工具,否则会报错:

可以按照提示从官方链接下载:https://visualstudio.microsoft.com/visual-cpp-build-tools/
然后双击安装

相关第三方库安装完成后的效果如下图:

(venv) D:\000\PaddleStudy\PaddleOCR>pip install -r requirements.txt
Requirement already satisfied: shapely in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 1)) (1.7.1)
Requirement already satisfied: scikit-image==0.17.2 in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 2)) (0.17.2)
Requirement already satisfied: imgaug==0.4.0 in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 3)) (0.4.0)
Requirement already satisfied: pyclipper in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 4)) (1.2.1)
Requirement already satisfied: lmdb in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 5)) (1.1.1)
Requirement already satisfied: opencv-python==4.2.0.32 in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 6)) (4.2.0.32)
Requirement already satisfied: tqdm in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 7)) (4.59.0)
Requirement already satisfied: numpy in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 8)) (1.19.3)
Requirement already satisfied: visualdl in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 9)) (2.1.1)
Requirement already satisfied: python-Levenshtein in d:\000\paddlestudy\venv\lib\site-packages (from -r requirements.txt (line 10)) (0.12.2)
Requirement already satisfied: matplotlib in d:\000\paddlestudy\venv\lib\site-packages (from imgaug==0.4.0->-r requirements.txt (line 3)) (3.3.4)
Requirement already satisfied: Pillow in d:\000\paddlestudy\venv\lib\site-packages (from imgaug==0.4.0->-r requirements.txt (line 3)) (8.1.2)
Requirement already satisfied: imageio in d:\000\paddlestudy\venv\lib\site-packages (from imgaug==0.4.0->-r requirements.txt (line 3)) (2.9.0)
Requirement already satisfied: scipy in d:\000\paddlestudy\venv\lib\site-packages (from imgaug==0.4.0->-r requirements.txt (line 3)) (1.6.1)
Requirement already satisfied: six in d:\000\paddlestudy\venv\lib\site-packages (from imgaug==0.4.0->-r requirements.txt (line 3)) (1.15.0)
Requirement already satisfied: tifffile>=2019.7.26 in d:\000\paddlestudy\venv\lib\site-packages (from scikit-image==0.17.2->-r requirements.txt (line 2)) (2021.3.5)
Requirement already satisfied: networkx>=2.0 in d:\000\paddlestudy\venv\lib\site-packages (from scikit-image==0.17.2->-r requirements.txt (line 2)) (2.5)
Requirement already satisfied: PyWavelets>=1.1.1 in d:\000\paddlestudy\venv\lib\site-packages (from scikit-image==0.17.2->-r requirements.txt (line 2)) (1.1.1)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 in d:\000\paddlestudy\venv\lib\site-packages (from matplotlib->imgaug==0.4.0->-r requirements.txt (line 3)) (2.4.7)
Requirement already satisfied: kiwisolver>=1.0.1 in d:\000\paddlestudy\venv\lib\site-packages (from matplotlib->imgaug==0.4.0->-r requirements.txt (line 3)) (1.3.1)
Requirement already satisfied: python-dateutil>=2.1 in d:\000\paddlestudy\venv\lib\site-packages (from matplotlib->imgaug==0.4.0->-r requirements.txt (line 3)) (2.8.1)
Requirement already satisfied: cycler>=0.10 in d:\000\paddlestudy\venv\lib\site-packages (from matplotlib->imgaug==0.4.0->-r requirements.txt (line 3)) (0.10.0)
Requirement already satisfied: decorator>=4.3.0 in d:\000\paddlestudy\venv\lib\site-packages (from networkx>=2.0->scikit-image==0.17.2->-r requirements.txt (line 2)) (4.4.2)
Requirement already satisfied: setuptools in d:\000\paddlestudy\venv\lib\site-packages (from python-Levenshtein->-r requirements.txt (line 10)) (54.1.0)
Requirement already satisfied: pre-commit in d:\000\paddlestudy\venv\lib\site-packages (from visualdl->-r requirements.txt (line 9)) (2.10.1)
Requirement already satisfied: flake8>=3.7.9 in d:\000\paddlestudy\venv\lib\site-packages (from visualdl->-r requirements.txt (line 9)) (3.8.4)
Requirement already satisfied: requests in d:\000\paddlestudy\venv\lib\site-packages (from visualdl->-r requirements.txt (line 9)) (2.25.1)
Requirement already satisfied: Flask-Babel>=1.0.0 in d:\000\paddlestudy\venv\lib\site-packages (from visualdl->-r requirements.txt (line 9)) (2.0.0)
Requirement already satisfied: bce-python-sdk in d:\000\paddlestudy\venv\lib\site-packages (from visualdl->-r requirements.txt (line 9)) (0.8.53)
Requirement already satisfied: protobuf>=3.11.0 in d:\000\paddlestudy\venv\lib\site-packages (from visualdl->-r requirements.txt (line 9)) (3.15.5)
Requirement already satisfied: shellcheck-py in d:\000\paddlestudy\venv\lib\site-packages (from visualdl->-r requirements.txt (line 9)) (0.7.1.1)
Requirement already satisfied: flask>=1.1.1 in d:\000\paddlestudy\venv\lib\site-packages (from visualdl->-r requirements.txt (line 9)) (1.1.2)
Requirement already satisfied: pyflakes<2.3.0,>=2.2.0 in d:\000\paddlestudy\venv\lib\site-packages (from flake8>=3.7.9->visualdl->-r requirements.txt (line 9)) (2.2.0)
Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in d:\000\paddlestudy\venv\lib\site-packages (from flake8>=3.7.9->visualdl->-r requirements.txt (line 9)) (0.6.1)
Requirement already satisfied: pycodestyle<2.7.0,>=2.6.0a1 in d:\000\paddlestudy\venv\lib\site-packages (from flake8>=3.7.9->visualdl->-r requirements.txt (line 9)) (2.6.0)
Requirement already satisfied: Jinja2>=2.10.1 in d:\000\paddlestudy\venv\lib\site-packages (from flask>=1.1.1->visualdl->-r requirements.txt (line 9)) (2.11.3)
Requirement already satisfied: click>=5.1 in d:\000\paddlestudy\venv\lib\site-packages (from flask>=1.1.1->visualdl->-r requirements.txt (line 9)) (7.1.2)
Requirement already satisfied: itsdangerous>=0.24 in d:\000\paddlestudy\venv\lib\site-packages (from flask>=1.1.1->visualdl->-r requirements.txt (line 9)) (1.1.0)
Requirement already satisfied: Werkzeug>=0.15 in d:\000\paddlestudy\venv\lib\site-packages (from flask>=1.1.1->visualdl->-r requirements.txt (line 9)) (1.0.1)
Requirement already satisfied: pytz in d:\000\paddlestudy\venv\lib\site-packages (from Flask-Babel>=1.0.0->visualdl->-r requirements.txt (line 9)) (2021.1)
Requirement already satisfied: Babel>=2.3 in d:\000\paddlestudy\venv\lib\site-packages (from Flask-Babel>=1.0.0->visualdl->-r requirements.txt (line 9)) (2.9.0)
Requirement already satisfied: MarkupSafe>=0.23 in d:\000\paddlestudy\venv\lib\site-packages (from Jinja2>=2.10.1->flask>=1.1.1->visualdl->-r requirements.txt (line 9)) (1.1.1)
Requirement already satisfied: pycryptodome>=3.8.0 in d:\000\paddlestudy\venv\lib\site-packages (from bce-python-sdk->visualdl->-r requirements.txt (line 9)) (3.10.1)
Requirement already satisfied: future>=0.6.0 in d:\000\paddlestudy\venv\lib\site-packages (from bce-python-sdk->visualdl->-r requirements.txt (line 9)) (0.18.2)
Requirement already satisfied: toml in d:\000\paddlestudy\venv\lib\site-packages (from pre-commit->visualdl->-r requirements.txt (line 9)) (0.10.2)
Requirement already satisfied: virtualenv>=20.0.8 in d:\000\paddlestudy\venv\lib\site-packages (from pre-commit->visualdl->-r requirements.txt (line 9)) (20.4.2)
Requirement already satisfied: identify>=1.0.0 in d:\000\paddlestudy\venv\lib\site-packages (from pre-commit->visualdl->-r requirements.txt (line 9)) (2.1.0)
Requirement already satisfied: cfgv>=2.0.0 in d:\000\paddlestudy\venv\lib\site-packages (from pre-commit->visualdl->-r requirements.txt (line 9)) (3.2.0)
Requirement already satisfied: pyyaml>=5.1 in d:\000\paddlestudy\venv\lib\site-packages (from pre-commit->visualdl->-r requirements.txt (line 9)) (5.4.1)
Requirement already satisfied: nodeenv>=0.11.1 in d:\000\paddlestudy\venv\lib\site-packages (from pre-commit->visualdl->-r requirements.txt (line 9)) (1.5.0)
Requirement already satisfied: distlib<1,>=0.3.1 in d:\000\paddlestudy\venv\lib\site-packages (from virtualenv>=20.0.8->pre-commit->visualdl->-r requirements.txt (line 9)) (0.3.1)
Requirement already satisfied: appdirs<2,>=1.4.3 in d:\000\paddlestudy\venv\lib\site-packages (from virtualenv>=20.0.8->pre-commit->visualdl->-r requirements.txt (line 9)) (1.4.4)
Requirement already satisfied: filelock<4,>=3.0.0 in d:\000\paddlestudy\venv\lib\site-packages (from virtualenv>=20.0.8->pre-commit->visualdl->-r requirements.txt (line 9)) (3.0.12)
Requirement already satisfied: certifi>=2017.4.17 in d:\000\paddlestudy\venv\lib\site-packages (from requests->visualdl->-r requirements.txt (line 9)) (2020.12.5)
Requirement already satisfied: idna<3,>=2.5 in d:\000\paddlestudy\venv\lib\site-packages (from requests->visualdl->-r requirements.txt (line 9)) (2.10)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in d:\000\paddlestudy\venv\lib\site-packages (from requests->visualdl->-r requirements.txt (line 9)) (1.26.3)
Requirement already satisfied: chardet<5,>=3.0.2 in d:\000\paddlestudy\venv\lib\site-packages (from requests->visualdl->-r requirements.txt (line 9)) (4.0.0)
7. 创建目录

下列目录需要手工创建
ch_lite
det_db
inference
inference_results
models

8. 下载文本检测、文本识别、文本方向分类模型的参数文件

【文本检测模型】 下载地址:
https://paddleocr.bj.bcebos.com/20-09-22/mobile/det/ch_ppocr_mobile_v1.1_det_train.tar
解压到ch_lite目录下

【文本识别模型】下载地址:
https://paddleocr.bj.bcebos.com/20-09-22/mobile/rec/ch_ppocr_mobile_v1.1_rec_train.tar
解压到ch_lite目录下

【文本方向分类模型】下载地址:
https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile_v1.1_cls_train.tar
解压到ch_lite目录下

直接下载解压后,可能出现压缩包内的某些“文件夹”会显示成“文件”。
我试验了在Linux下用wget下载tar包,然后用tar -xf解压,可以解决此问题。感觉大概率应该是出在解压上,在windows上也可以尝试用别的解压软件试试看。

wget -P ./ch_lite/ https://paddleocr.bj.bcebos.com/20-09-22/mobile/det/ch_ppocr_mobile_v1.1_det_train.tar && tar xf ./ch_lite/ch_ppocr_mobile_v1.1_det_train.tar -C ./ch_lite/
wget -P ./ch_lite/ https://paddleocr.bj.bcebos.com/20-09-22/mobile/rec/ch_ppocr_mobile_v1.1_rec_train.tar && tar xf ./ch_lite/ch_ppocr_mobile_v1.1_rec_train.tar -C ./ch_lite/
wget -P ./ch_lite/ https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile_v1.1_cls_train.tar && tar xf ./ch_lite/ch_ppocr_mobile_v1.1_cls_train.tar -C ./ch_lite/
[user@localhost tmp]$ wget -P ./ch_lite/ https://paddleocr.bj.bcebos.com/20-09-22/mobile/det/ch_ppocr_mobile_v1.1_det_train.tar && tar xf ./ch_lite/ch_ppocr_mobile_v1.1_det_train.tar -C ./ch_lite/
--2021-03-11 16:05:36--  https://paddleocr.bj.bcebos.com/20-09-22/mobile/det/ch_ppocr_mobile_v1.1_det_train.tar
正在解析主机 paddleocr.bj.bcebos.com (paddleocr.bj.bcebos.com)... 2409:8c00:6c21:10ad:0:ff:b00e:67d, 112.34.111.44, 39.156.69.23
正在连接 paddleocr.bj.bcebos.com (paddleocr.bj.bcebos.com)|2409:8c00:6c21:10ad:0:ff:b00e:67d|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:12400640 (12M) [application/x-tar]
正在保存至: “./ch_lite/ch_ppocr_mobile_v1.1_det_train.tar”100%[====================================================================================================================================================================================================================================>] 12,400,640  3.17MB/s 用时 6.0s   2021-03-11 16:05:43 (1.98 MB/s) - 已保存 “./ch_lite/ch_ppocr_mobile_v1.1_det_train.tar” [12400640/12400640])[user@localhost tmp]$ wget -P ./ch_lite/ https://paddleocr.bj.bcebos.com/20-09-22/mobile/rec/ch_ppocr_mobile_v1.1_rec_train.tar && tar xf ./ch_lite/ch_ppocr_mobile_v1.1_rec_train.tar -C ./ch_lite/
--2021-03-11 16:05:53--  https://paddleocr.bj.bcebos.com/20-09-22/mobile/rec/ch_ppocr_mobile_v1.1_rec_train.tar
正在解析主机 paddleocr.bj.bcebos.com (paddleocr.bj.bcebos.com)... 2409:8c00:6c21:10ad:0:ff:b00e:67d, 39.156.69.23, 112.34.111.44
正在连接 paddleocr.bj.bcebos.com (paddleocr.bj.bcebos.com)|2409:8c00:6c21:10ad:0:ff:b00e:67d|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:13675015 (13M) [application/x-tar]
正在保存至: “./ch_lite/ch_ppocr_mobile_v1.1_rec_train.tar”100%[====================================================================================================================================================================================================================================>] 13,675,015  2.45MB/s 用时 7.6s   2021-03-11 16:06:01 (1.71 MB/s) - 已保存 “./ch_lite/ch_ppocr_mobile_v1.1_rec_train.tar” [13675015/13675015])[user@localhost tmp]$ wget -P ./ch_lite/ https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile_v1.1_cls_train.tar && tar xf ./ch_lite/ch_ppocr_mobile_v1.1_cls_train.tar -C ./ch_lite/
--2021-03-11 16:06:10--  https://paddleocr.bj.bcebos.com/20-09-22/cls/ch_ppocr_mobile_v1.1_cls_train.tar
正在解析主机 paddleocr.bj.bcebos.com (paddleocr.bj.bcebos.com)... 2409:8c00:6c21:10ad:0:ff:b00e:67d, 112.34.111.44, 39.156.69.23
正在连接 paddleocr.bj.bcebos.com (paddleocr.bj.bcebos.com)|2409:8c00:6c21:10ad:0:ff:b00e:67d|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:3957248 (3.8M) [application/x-tar]
正在保存至: “./ch_lite/ch_ppocr_mobile_v1.1_cls_train.tar”100%[====================================================================================================================================================================================================================================>] 3,957,248   1.05MB/s 用时 4.0s   2021-03-11 16:06:14 (976 KB/s) - 已保存 “./ch_lite/ch_ppocr_mobile_v1.1_cls_train.tar” [3957248/3957248])[user@localhost tmp]$ ll
总用量 4
drwxrwxr-x. 5 user group 4096 3月  11 16:06 ch_lite
[user@localhost tmp]$ cd ch_lite/
[user@localhost ch_lite]$ ll
总用量 29336
drwxr-xr-x. 2 user group      184 9月  15 16:11 ch_ppocr_mobile_v1.1_cls_train
-rw-rw-r--. 1 user group  3957248 9月  17 14:43 ch_ppocr_mobile_v1.1_cls_train.tar
drwxr-xr-x. 2 user group       92 9月  16 14:56 ch_ppocr_mobile_v1.1_det_train
-rw-rw-r--. 1 user group 12400640 9月  16 15:18 ch_ppocr_mobile_v1.1_det_train.tar
drwxrwxr-x. 2 user group       92 9月  24 09:15 ch_ppocr_mobile_v1.1_rec_train
-rw-rw-r--. 1 user group 13675015 9月  24 10:48 ch_ppocr_mobile_v1.1_rec_train.tar
9. 将模型参数文件转换成inference模型
(venv) E:\test\PycharmProjects\PaddleStudy\PaddleOCR>python tools/export_model.py -c configs/det/det_mv3_db.yml -o Global.checkpoints=./ch_lite/ch_ppocr_mobile_v1.1_det_train/best_accuracy Global.save_inference_dir=./inference/det_db
[2021/03/11 16:21:47] root INFO: resume from ./ch_lite/ch_ppocr_mobile_v1.1_det_train/best_accuracy
[2021/03/11 16:21:52] root INFO: inference model is saved to ./inference/det_db//inference(venv) E:\test\PycharmProjects\PaddleStudy\PaddleOCR>python tools/export_model.py -c configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml -o Global.checkpoints=./ch_lite/ch_ppocr_mobile_v1.1_rec_train/best_accuracy Global.save_i
erence_dir=./inference/rec_crnn/
[2021/03/11 16:22:04] root INFO: resume from ./ch_lite/ch_ppocr_mobile_v1.1_rec_train/best_accuracy
[2021/03/11 16:22:08] root INFO: inference model is saved to ./inference/rec_crnn//inference(venv) E:\test\PycharmProjects\PaddleStudy\PaddleOCR>python tools/export_model.py -c configs/cls/cls_mv3.yml -o Global.checkpoints=./ch_lite/ch_ppocr_mobile_v1.1_cls_train/best_accuracy Global.save_inference_dir=./inference/cls/
[2021/03/11 16:22:15] root INFO: resume from ./ch_lite/ch_ppocr_mobile_v1.1_cls_train/best_accuracy
[2021/03/11 16:22:19] root INFO: inference model is saved to ./inference/cls//inference(venv) E:\test\PycharmProjects\PaddleStudy\PaddleOCR>

其中:

# -c后面设置训练算法的yml配置文件
# -o配置可选参数
# Global.checkpoints 参数指向训练中保存的模型参数文件,不用添加文件后缀.pdmodel,.pdopt或.pdparams。
# Global.save_inference_dir 参数设置转换的模型将保存的地址。

转换完成后
在inference/det_db下生成了以下文件(文本检测模型):

在inferencerec_crnn下生成了以下文件(文本识别模型):

在inference/cls下生成了以下文件(文本方向分类模型):

我留意到,不同环境下生成的.pdmodel模型文件大小会不同(.pdiparams和.info对应文件大小相同),我在另一台windows10上的文件大小为:

inference/det_db/inference.pdmodel - 1149KB
inference/rec_crnn/inference.pdmodel - 848KB
inference/cls/inference.pdmodel - 835KB

【参考文献】
飞桨安装文档:
https://www.paddlepaddle.org.cn/install/quick
基于Python预测引擎推理:
https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_ch/inference.md
PaddleOCR简单文字识别使用
https://blog.csdn.net/weixin_43134049/article/details/110670762

飞桨PaddleOCR环境搭建相关推荐

  1. 我做的百度飞桨PaddleOCR .NET调用库

    .NET Conf 2021中国我做了一次<.NET玩转计算机视觉OpenCV>的分享,其中提到了一个效果特别好的OCR识别引擎--百度飞桨PaddleOCR,后来我逐步把它封装了一下,代 ...

  2. 飞桨PaddleOCR C++预测库布署

    学更好的别人, 做更好的自己. --<微卡智享> 本文长度为2669字,预计阅读7分钟 前言 关于OCR这块以前<Android通过OpenCV和TesserartOCR实时进行识别 ...

  3. 基于百度飞桨PaddleOCR的图片文字识别

    PaddleOCR项目源码:https://github.com/PaddlePaddle/PaddleOCR 飞桨开源文字识别模型套件PaddleOCR,目标是打造丰富.领先.实用的文本识别模型/工 ...

  4. OCR识别——百度飞桨PaddleOCR测试及环境搭建详解

    文章目录 PaddleOCR 概述 一.Python 环境设置 三.代码测试 PaddleOCR 概述 PaddleOCR 包含富文本检测.文本识别和端到端算法.结合现实场景和行业经验,PaddleO ...

  5. 百度飞桨PaddleOCR的简单使用

    PaddleOCR旨在打造一套丰富.领先.且实用的OCR工具库,助力开发者训练出更好的模型,并应用落地. PaddleOCR是一个图像识别库,我只是用到了它的OCR功能,就是识别图片中的文字.其他的功 ...

  6. 双服务器架构实战飞桨部署-自动上色和老相片修复

    双服务器架构实战飞桨部署-自动上色和老相片修复 宋 朱熹 <即事有怀寄彦辅仲宗二兄>诗之二:"闻说双飞桨,翩然下广津. 飞桨功能强大,部署非常简单方便(对我这个不熟练的人,并不是 ...

  7. 【飞桨】win10-paddle-GPU环境配置

    飞桨-paddle-GPU环境配置 1.新建环境 为了排除环境问题,咱们先新建一个环境: 打开anaconda Prompt (不知道jie个si啥的安装一下anaconda),输入 conda cr ...

  8. 关于 百度飞浆paddleOCR编译32位版本 的解决方案

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113890812 长期持续带来更多项目与技术分 ...

  9. 用深度学习识别海洋生物?飞桨轻松完成挑战!

    [飞桨开发者说]文瑞洁,中科院信工所工程师,主要研究计算机视觉.深度学习 海洋中的鱼类资源不仅有一定的食用价值,而且有很高的药用价值,近年来,世界各国对于海洋鱼类资源的重视程度与日俱增.在鱼类资源的开 ...

最新文章

  1. winrunner事务概念的代码应用(毫秒级)
  2. 欧几里德算法求最大公约数
  3. Python 内置函数之 open (文件操作)
  4. Express简单路由使用
  5. centos 解决“不在 sudoers 文件中。此事将被报告“的问题
  6. 浅入深出Vue:事件处理
  7. 鸿蒙系统nova3i,华为nova3i无惧大型手游:打造丝般顺滑娱乐体验
  8. 代码片段:基于 JDK 8 time包的时间工具类 TimeUtil
  9. linux之 sed命令
  10. a.使用new关键字产生对象会调用构造方法_七夕面向对象编程,你知道Java有哪些创建对象的方式吗?...
  11. window.print()后针式打印机打印出的内容成虚线问题
  12. JEECG框架的dictSelect下拉
  13. 电子电路基础——知识点(下篇)
  14. 盛诺基和信达生物达成临床研究合作
  15. android tf卡及u盘_一体化储存芯片(U 盘、SD卡、TF卡) NAND定义开发-U盘篇
  16. OpenHarmony恢复启动子系统init进程之服务启动
  17. 有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)
  18. usb_cam相机标定实践 ROS
  19. 小楼昨夜又春风,你知ysoserial-Gadget-URLDNS多少?
  20. 什么是宏任务与微任务?

热门文章

  1. Apache Options Indexes FollowSymLinks详解
  2. flex与java实现增删改查
  3. Go语言介绍 安装 基础命令(一)
  4. 陕西省计算机等级考试试题库,2015陕西省计算机等级考试二级最新考试试题库...
  5. C#中File的使用
  6. 解决ajax获取不到按钮的id
  7. 实现CheckboxGroup的全部选中
  8. Storm-源码分析-Stats (backtype.storm.stats)
  9. 【转】 LINQ TO SQL中的selectMany
  10. Nginx+lua 实现调用.so文件方法