流行科技 发表于 2022-11-21 20:44

【行空板 Python编程学习主控板】四。行空板opencv测试

<div class='showpostmsg'><p>行空板在图形化上编程上做了很多的东西,包括可以直接使用的opencv这个是基于python的,QT想要调用还是要自己编译。不过有python的我们一样使用。</p>

<p > &nbsp;</p>

<p >可以看到我们的官方库还是有很多的东西的。</p>

<p > &nbsp;</p>

<p >然后我们切换到代码模式,在行空板连接上之后创建一个.Py文件。</p>

<pre>
<code>import cv2

print(cv2.__version__)</code></pre>

<p >最简单的代码,测试下我们的opencv的版本</p>

<p > &nbsp;</p>

<p >可以看到在下面打印出版本了。这个终端是我们行空板的。</p>

<pre>
<code>import cv2 as cv



# 导入内置的模型文件,此文件在opencv库文件夹下,使用cv.data.haarcascades +的方式即可引用

face_cascade = cv.CascadeClassifier(cv.data.haarcascades +'haarcascade_frontalface_default.xml')

cap = cv.VideoCapture(0) #打开编号0的摄像头



while(True):

    # 获取摄像头帧数据

    ret, frame = cap.read()



    # 处理为灰度帧

    gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)



    # 使用人脸识别模型识别

    faces = face_cascade.detectMultiScale(gray,1.3,5)



    # 将识别到的结果坐标在画面上画一个矩形框

    for (x,y,w,h) in faces:

        frame = cv.rectangle(frame,(x,y),(x+w,y+h),(255,0,0),2)



    # 显示有框的画面

    cv.imshow('frame',frame)



    #间隔一段时间显示,如果按下Q键则退出

    if cv.waitKey(20) &amp; 0xFF == ord('q'):

        break

# 退出

cap.release()

cv.destroyAllWindows()</code></pre>

<p >然后我们使用其教程介绍的一个人脸识别案例,调用我们的摄像头进行测试。</p>

<p > &nbsp;</p>

<p >把我们的USB免驱摄像头连接上来即可。正好板载有一个usb口。</p>

<p > &nbsp;</p>

<p >然后底层运行起来就能看到摄像头采集的数据。</p>

<p > &nbsp;</p>

<p >效果如上可以识别人脸并且框起来。</p>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

wangerxian 发表于 2022-11-23 16:25

<p>帧率怎么样?OpenCV很费CPU的。</p>

freebsder 发表于 2022-11-24 11:46

wangerxian 发表于 2022-11-23 16:25
帧率怎么样?OpenCV很费CPU的。

<p>python的慢的很。我们做一个A*循迹,python的2,3秒画结果,c++的瞬间就画好了。</p>

wangerxian 发表于 2022-11-24 14:53

freebsder 发表于 2022-11-24 11:46
python的慢的很。我们做一个A*循迹,python的2,3秒画结果,c++的瞬间就画好了。

<p>确实,要做效率的应用,还是少用Python。虽然上手很快。</p>

freebsder 发表于 2022-11-24 15:05

wangerxian 发表于 2022-11-24 14:53
确实,要做效率的应用,还是少用Python。虽然上手很快。

<p>py做验证还是可以,做效率很拉跨。</p>
页: [1]
查看完整版本: 【行空板 Python编程学习主控板】四。行空板opencv测试