LCD

2021-03-065354
AI 快速预览详细 收起
本文介绍了如何使用摄像头捕捉图像并进行处理,最终在LCD屏幕上显示。首先初始化摄像头,设置像素格式为RGB565,帧尺寸为QVGA。然后通过阈值调试方法进行图像识别,并在LCD屏幕上显示结果。

  1. <pre><span style=" color:#cd8b00;">#</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">Untitled</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">-</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">By:</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">LX</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">-</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">周五</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">3月</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">5</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">2021</span></pre>
  2. <pre>
  3. </pre>
  4. <pre><span style=" color:#409090;">import</span><span style=" color:#646482;"> </span><span style=" color:#808bed;">sensor</span>,<span style=" color:#808bed;">image</span>,<span style=" color:#808bed;">lcd</span>,<span style=" color:#808bed;">time</span></pre>
  5. <pre>
  6. </pre>
  7. <pre><span style=" color:#cd8b00;">#------常用初始化</span><span style=" color:#646482;">   </span><span style=" color:#cd8b00;">↓-------</span></pre>
  8. <pre><span style=" color:#808bed;">lcd</span>.<span style=" color:#ff8bff;">init</span>()</pre>
  9. <pre><span style=" color:#808bed;">sensor</span>.<span style=" color:#ff8bff;">reset</span>()<span style=" color:#646482;">                      </span><span style=" color:#cd8b00;">#复位摄像头</span></pre>
  10. <pre><span style=" color:#808bed;">sensor</span>.<span style=" color:#ff8bff;">set_pixformat</span>(<span style=" color:#808bed;">sensor</span>.<span style=" color:#ff8bff;">RGB565</span>)<span style=" color:#646482;"> </span><span style=" color:#cd8b00;">#</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">设置像素格式</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">RGB565</span></pre>
  11. <pre><span style=" color:#808bed;">sensor</span>.<span style=" color:#ff8bff;">set_framesize</span>(<span style=" color:#808bed;">sensor</span>.<span style=" color:#ff8bff;">QVGA</span>)<span style=" color:#646482;">   </span><span style=" color:#cd8b00;">#</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">设置帧尺寸</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">QVGA</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">(320x240)</span></pre>
  12. <pre><span style=" color:#cd8b00;">#------常用初始化</span><span style=" color:#646482;">   </span><span style=" color:#cd8b00;">↑-------</span></pre>
  13. <pre><span style=" color:#cd8b00;">'''对于</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">RGB565</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">图像,每个元组需要有六个值(l_lo,l_hi,a_lo,a_hi,b_lo,b_hi)</span></pre>
  14. <pre><span style=" color:#cd8b00;">分别是</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">LAB中</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">L,A</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">和</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">B</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">通道的最小值和最大值。</span></pre>
  15. <pre><span style=" color:#cd8b00;">L的取值范围为0-100,a/b</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">的取值范围为-128到127。'''</span></pre>
  16. <pre>
  17. </pre>
  18. <pre><span style=" color:#cd8b00;">#红色阈值[0],绿色阈值[1],蓝色阈值[2]</span></pre>
  19. <pre>rgb_thresholds<span style=" color:#646482;">   </span><span style=" color:#cfbfad;">=</span>[(<span style=" color:#f0ad6d;">3</span>,<span style=" color:#646482;"> </span><span style=" color:#f0ad6d;">66</span>,<span style=" color:#646482;"> </span><span style=" color:#f0ad6d;">10</span>,<span style=" color:#646482;"> </span><span style=" color:#f0ad6d;">58</span>,<span style=" color:#646482;"> </span><span style=" color:#cfbfad;">-</span><span style=" color:#f0ad6d;">14</span>,<span style=" color:#646482;"> </span><span style=" color:#f0ad6d;">18</span>),</pre>
  20. <pre>(<span style=" color:#f0ad6d;">0</span>,<span style=" color:#646482;"> </span><span style=" color:#f0ad6d;">93</span>,<span style=" color:#646482;"> </span><span style=" color:#cfbfad;">-</span><span style=" color:#f0ad6d;">32</span>,<span style=" color:#646482;"> </span><span style=" color:#f0ad6d;">27</span>,<span style=" color:#646482;"> </span><span style=" color:#cfbfad;">-</span><span style=" color:#f0ad6d;">16</span>,<span style=" color:#646482;"> </span><span style=" color:#cfbfad;">-</span><span style=" color:#f0ad6d;">60</span>),</pre>
  21. <pre>(<span style=" color:#f0ad6d;">17</span>,<span style=" color:#646482;"> </span><span style=" color:#f0ad6d;">91</span>,<span style=" color:#646482;"> </span><span style=" color:#cfbfad;">-</span><span style=" color:#f0ad6d;">10</span>,<span style=" color:#646482;"> </span><span style=" color:#cfbfad;">-</span><span style=" color:#f0ad6d;">27</span>,<span style=" color:#646482;"> </span><span style=" color:#cfbfad;">-</span><span style=" color:#f0ad6d;">10</span>,<span style=" color:#646482;"> </span><span style=" color:#f0ad6d;">21</span>)]<span style=" color:#646482;">   </span><span style=" color:#cd8b00;">#阈值调试可以在IDE上看哦</span></pre>
  22. <pre>
  23. </pre>
  24. <pre><span style=" color:#808bed;">while</span><span style=" color:#646482;"> </span><span style=" color:#ff8bff;">True</span>:</pre>
  25. <pre><span style=" color:#646482;">    </span>img<span style=" color:#cfbfad;">=</span><span style=" color:#808bed;">sensor</span>.<span style=" color:#ff8bff;">snapshot</span>()</pre>
  26. <pre><span style=" color:#646482;">    </span>blobs<span style=" color:#646482;"> </span><span style=" color:#cfbfad;">=</span><span style=" color:#646482;"> </span>img.<span style=" color:#ff8bff;">find_blobs</span>([rgb_thresholds[<span style=" color:#f0ad6d;">0</span>],rgb_thresholds[<span style=" color:#f0ad6d;">1</span>],rgb_thresholds[<span style=" color:#f0ad6d;">2</span>]],<span style=" color:#e76000;">area_threshold</span><span style=" color:#646482;"> </span>=<span style=" color:#646482;"> </span><span style=" color:#f0ad6d;">3000</span>)</pre>
  27. <pre><span style=" color:#646482;">    </span><span style=" color:#808bed;">if</span><span style=" color:#646482;"> </span>blobs:</pre>
  28. <pre><span style=" color:#646482;">        </span><span style=" color:#808bed;">for</span><span style=" color:#646482;"> </span>b<span style=" color:#646482;"> </span><span style=" color:#808bed;">in</span><span style=" color:#646482;"> </span>blobs:</pre>
  29. <pre><span style=" color:#646482;">            </span>tmp<span style=" color:#cfbfad;">=</span>img.<span style=" color:#ff8bff;">draw_rectangle</span>(b[<span style=" color:#f0ad6d;">0</span>:<span style=" color:#f0ad6d;">4</span>])<span style=" color:#646482;">  </span><span style=" color:#cd8b00;">#在图像上绘制一个矩形。</span></pre>
  30. <pre><span style=" color:#646482;">            </span>tmp<span style=" color:#cfbfad;">=</span>img.<span style=" color:#ff8bff;">draw_cross</span>(b[<span style=" color:#f0ad6d;">5</span>],<span style=" color:#646482;"> </span>b[<span style=" color:#f0ad6d;">6</span>])<span style=" color:#646482;">  </span><span style=" color:#cd8b00;">#画十字交叉</span></pre>
  31. <pre><span style=" color:#646482;">            </span>c<span style=" color:#cfbfad;">=</span>img.<span style=" color:#ff8bff;">get_pixel</span>(b[<span style=" color:#f0ad6d;">5</span>],<span style=" color:#646482;"> </span>b[<span style=" color:#f0ad6d;">6</span>])<span style=" color:#cd8b00;">#</span><span style=" color:#646482;">    </span><span style=" color:#cd8b00;">返回(x,</span><span style=" color:#646482;"> </span><span style=" color:#cd8b00;">y)位置的RGB888像素元组</span></pre>
  32. <pre>
  33. </pre>
  34. <pre><span style=" color:#646482;">    </span><span style=" color:#808bed;">lcd</span>.<span style=" color:#ff8bff;">display</span>(img)</pre>
复制代码

0648B9F92358231B8801FA2B34572722.jpg (198.79 KB, 下载次数: 2722)

图像处理与LCD显示 | DF创客社区_image_3.webp

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -