day01.txt 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. 任务:
  2. 1. 安装所有依赖的环境
  3. 2. 创建GUI桌面程序
  4. 技术:
  5. 1. 了解python虚拟机工作机理
  6. 2. 掌握项目工程构建的模式
  7. 3. Qt5的应用模式
  8. 4. 初步体验OpenCV的应用
  9. 1. 环境安装
  10. python 3.6 - 3.8
  11. 尽量保持一个虚拟机工作
  12. where
  13. 查找虚拟机的机制:
  14. |- 当前目录
  15. |- ${window_home}/system32
  16. |- 用户目录
  17. |- PATH环境变量指定路径
  18. --------------管理员权限
  19. PyQt5
  20. GUI
  21. pip install PyQt5
  22. pyqt5-tools
  23. pip install pyqt5-tools
  24. |- 两个版本:
  25. |- Scripts/pyqt5designer.exe
  26. |- Lib/site-pakcage/qt5-application/Qt/bin/designer.exe
  27. 设计UI
  28. opencv
  29. pip install opencv-python -i 镜像代理网站地址
  30. pip install opencv-contrib-python
  31. numpy
  32. pip install numpy : 向量运算库(线性运算)
  33. pytorch
  34. pip install torch==1.7.1+cpu torchvision==0.8.2+cpu torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
  35. 注意:
  36. 建议安装Visual Studio 2019
  37. opencv的GPU
  38. |- 安装必须使用源代码安装。
  39. |- cmake生成sln的工程
  40. |- 使用visual studio 安装
  41. 2. 工程项目
  42. 2.1. 理解python执行python文件怎么执行。
  43. 管理python代码:
  44. C:\p1\p2\ p3\a.python
  45. 虚拟机搜索路径 项目中代码管理
  46. PYTHONPATH |- 包路径
  47. 规则:
  48. 当前路路径
  49. LIB\site-packages\
  50. PYTHONPATH
  51. 2.2. python的执行方式
  52. |- python xxx.py : 使用的系统封的路径系统
  53. |- python -m XXX:利用python的本身的搜索机制
  54. 2.3. 参考
  55. C:\03LECTURE\02CV_ADVANCE\WORKS\DAY01
  56. │ run_qt.bat
  57. └───app
  58. │ main.py
  59. ├───biz
  60. | ├─── ...
  61. | ├─── ...
  62. ├───devs
  63. ├───uis
  64. 3. Qt的编程模式
  65. 1. 类的关系
  66. QApplication
  67. |- QDialog
  68. |- UIS
  69. |- 组件s
  70. *|- 视频采集模块
  71. * |- AI模块
  72. QtWidgets :GUI编程
  73. QtCore :多线程
  74. QtGUI :图像处理
  75. 2. UI设计
  76. 3. 翻译成python
  77. pyuics
  78. 4. 使用ui
  79. 创建对象
  80. 调用setupUi建立组件与窗体的绑定关系
  81. 4. 视频采集与处理
  82. 4.1. 多线程实现:
  83. 代码
  84. 对象
  85. 时间片
  86. 4.2. 使用cv2.VideoCapture抓取图像
  87. 4.3. 把图像显示在对话框
  88. 模块之间的数据传递
  89. |- 函数调用(构造器):强耦合
  90. |- 信号与槽(模块之间低耦合)
  91. 定义信号
  92. 发送信号(signal)
  93. 定义处理函数(槽函数slot函数)
  94. 绑定信号与处理函数
  95. 图像显示Qt
  96. 字节数组 -> QImage
  97. QImage -> Qpixmap
  98. QPixmap -> QLable
  99. 练习:
  100. 1. 运行课堂程序;
  101. 2. 独立实现一遍:
  102. a. vscode按照项目工程实现
  103. b. jupyter lab/noptebook分布实现