Jetson Nano 使用 opencv库
发布日期:2021-05-06 19:08:37 浏览次数:60 分类:精选文章

本文共 3652 字,大约阅读时间需要 12 分钟。

安装opencv

参看:

 

 

学习github上的库:

 

编译的时候出了问题:

gs@nano:~/02_github/CSI-Camera$ python simple_camera.pynvarguscamerasrc ! video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, format=(string)NV12, framerate=(fraction)60/1 ! nvvidconv flip-method=0 ! video/x-raw, width=(int)1280, height=(int)720, format=(string)BGRx ! videoconvert ! video/x-raw, format=(string)BGR ! appsinkGST_ARGUS: Creating output streamCONSUMER: Waiting until producer is connected...GST_ARGUS: Available Sensor modes :GST_ARGUS: 3264 x 2464 FR = 21.000000 fps Duration = 47619048 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;GST_ARGUS: 3264 x 1848 FR = 28.000001 fps Duration = 35714284 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;GST_ARGUS: 1920 x 1080 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;GST_ARGUS: 1280 x 720 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;GST_ARGUS: 1280 x 720 FR = 120.000005 fps Duration = 8333333 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;GST_ARGUS: Running with following settings:   Camera index = 0    Camera mode  = 4    Output Stream W = 1280 H = 720    seconds to Run    = 0    Frame Rate = 120.000005 GST_ARGUS: PowerService: requested_clock_Hz=12096000GST_ARGUS: Setup Complete, Starting captures for 0 secondsGST_ARGUS: Starting repeat capture requests.CONSUMER: Producer has connected; continuing.Gtk-Message: 18:11:44.084: Failed to load module "canberra-gtk-module"Traceback (most recent call last):  File "simple_camera.py", line 66, in 
show_camera() File "simple_camera.py", line 51, in show_camera while cv2.getWindowProperty("CSI Camera", 0) >= 0:cv2.error: OpenCV(4.1.0) /home/gs/02_github/nano_build_opencv/opencv/modules/highgui/src/window_gtk.cpp:755: error: (-27:Null pointer) NULL window in function 'cvGetModeWindow_GTK'GST_ARGUS: Cleaning up(python:11318): GStreamer-CRITICAL **: 18:14:16.624: gst_mini_object_set_qdata: assertion 'object != NULL' failedCONSUMER: Done SuccessGST_ARGUS: Done SuccessGST_ARGUS: PowerServiceHwVic::cleanupResourcesgs@nano:~/02_github/CSI-Camera$

查看源码:simple_camera.py,源码中的目录是“/usr/share/Opencv/..”,而我本地不是这个目录,因此修改如下:

face_cascade = cv2.CascadeClassifier(        "/usr/share/opencv4/haarcascades/haarcascade_frontalface_default.xml"    )    eye_cascade = cv2.CascadeClassifier(        "/usr/share/opencv4/haarcascades/haarcascade_eye.xml"    )    cap = cv2.VideoCapture(gstreamer_pipeline(), cv2.CAP_GSTREAMER)

再次运行命令:python face_detect.py        则,成功!

but...,有出现错误了:

Gtk-Message: 18:28:10.809: Failed to load module "canberra-gtk-module"

运行下面的命令:

sudo apt install libcanberra-gtk-modulesudo apt-get install libcanberra-gtk-module

 在运行下面的这个命令时,又出错了:

gs@nano:~/02_github/CSI-Camera$ g++ -std=c++11 -Wall -I/usr/lib/opencv simple_camera.cpp -L/usr/lib -lopencv_core -lopencv_highgui -lopencv_videoio -o simple_camerasimple_camera.cpp:10:10: fatal error: opencv2/opencv.hpp: No such file or directory #include 
^~~~~~~~~~~~~~~~~~~~compilation terminated.

使用查找命令:

gs@nano:/usr$ find -name opencv.hpp./include/opencv4/opencv2/opencv.hpp./local/include/opencv4/opencv2/opencv.hppgs@nano:/usr$

得知,我们的库文件目录与命令行中的不一样,于是修改命令中的库文件路经“-I/usr/include/opencv4”,如下:

gs@nano:~/02_github/CSI-Camera$ g++ -std=c++11 -Wall -I/usr/include/opencv4 simple_camera.cpp -L/usr/lib -lopencv_core -lopencv_highgui -lopencv_videoio -o simple_camerags@nano:~/02_github/CSI-Camera$

(这一次没有出现问题了......)

 

 

 

 

 

 

上一篇:Jetson Nano 使用dlib库
下一篇:Jetson Nano 踩坑记

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月08日 09时49分59秒