千家信息网

如何进行TX1使用OpenCV3.1实时采集视频图像的分析

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,本篇文章为大家展示了如何进行TX1使用OpenCV3.1实时采集视频图像的分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。嵌入式平台(Target): Je
千家信息网最后更新 2024年11月19日如何进行TX1使用OpenCV3.1实时采集视频图像的分析

本篇文章为大家展示了如何进行TX1使用OpenCV3.1实时采集视频图像的分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

嵌入式平台(Target): Jeston TX1
OpenCV: OpenCV3.1
摄像头: USB 800W摄像头

1 前言

Jetpack3.0安装的OpenCV是OpenCV2.4.13,OpenCV2.4.13对于USB摄像头支持不好。NVIDIA以后更新的Jetpack会解决对USB摄像头支持不好的问题,在官方解决之前,一个临时的解决方案就是自己编译OpenCV3.1。

2 下载OpenCV3

URL : http://www.opencv.org/releases.html

点击Sources下载源码:

3 安装依赖库

# Some general development librariessudo apt-get install -y build-essential make cmake cmake-curses-gui g++# libav video input/output development librariessudo apt-get install -y libavformat-dev libavutil-dev libswscale-dev# Video4Linux camera development librariessudo apt-get install -y libv4l-dev# Eigen3 math development librariessudo apt-get install -y libeigen3-dev# OpenGL development libraries (to allow creating graphical windows)sudo apt-get install -y libglew1.6-dev# GTK development libraries (to allow creating graphical windows)sudo apt-get install -y libgtk2.0-dev

4 编译并安装OpenCV3

cd ~mkdir srccd srcunzip ~/Downloads/opencv-3.1.0.zipcd opencv-3.1.0mkdir buildcd buildcmake -DWITH_CUDA=ON -DCUDA_ARCH_BIN="5.3" -DCUDA_ARCH_PTX="" -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DCUDA_FAST_MATH=ON -DCMAKE_INSTALL_PREFIX=/home/ubuntu/opencv-3.1.0 ..make -j4 install

5 运行hog例程

5.1 编译并运行例程

cd ~/src/opencv-3.1.0/samples/gpug++ -o hog -I /home/ubuntu/opencv-3.1.0/include -O2 -g -Wall hog.cpp -L /home/ubuntu/opencv-3.1.0/lib -lopencv_core -lopencv_imgproc -l opencv_flann -l opencv_imgcodecs -lopencv_videoio -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_objdetect -lopencv_photo -lopencv_features2d -lopencv_calib3d -lopencv_stitching -lopencv_videostab -lopencv_shape -lopencv_cudaobjdetect -lopencv_cudawarping -lopencv_cudaimgprocexport LD_LIBRARY_PATH=/home/ubuntu/opencv-3.1.0/lib:$LD_LIBRARY_PATH./hog --camera 0
  • export LD_LIBRARY_PATH=/home/ubuntu/opencv-3.1.0/lib:$LD_LIBRARY_PATH:添加LIBARARY,这个只是临时添加,永久添加可以放到~/.bashrc中,并使用source ~/.bashrc"激活"设置的环境变量;

  • ./hog -camera 0:最后一个参数0,代表使用/dev/video0设备,如果TX1插上板载的CSI摄像头,又插上USB摄像头,这个0,应该改为1。可以通过ls /dev/ | grep video*,查看有那些video设备。

5.2 运行结果

6 编写简单的摄像头采集程序

6.1 代码如下

#include   #include   using namespace cv;  using namespace std;  int main(int argc, char** argv)  {      VideoCapture cap("nvcamerasrc ! video/x-raw(memory:NVMM), width=(int)1280, height=(int)720,format=(string)I420, framerate=(fraction)24/1 ! nvvidconv flip-method=2 ! video/x-raw, format=(string)BGRx ! videoconvert ! video/x-raw, format=(string)BGR ! appsink");  if (!cap.isOpened())      {  cout << "Failed to open camera." << endl;  return -1;      }  for(;;)      {          Mat frame;          cap >> frame;          imshow("original", frame);  //waitKey(1);  if(waitKey(30) >= 0)  break;      }  return 0;  }

6.2 运行结果

PS : 阳光原因,图像有些泛白,见谅

7 可能遇到的问题

在make的时候,我们可能遇到如下error:

解决办法:需要修改一处源码,在graphcuts.cpp中将

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)

改为:

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)

如下图所示:

上述内容就是如何进行TX1使用OpenCV3.1实时采集视频图像的分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

摄像头 摄像 运行 图像 编译 实时 视频 分析 不好 内容 就是 技能 源码 知识 结果 设备 问题 支持 简明 简明扼要 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器补丁系统需要打吗 网络安全责任制谁主管谁负责 信息网络安全的第一个时代图片 计算机软件开发的基金有哪些 学校网络安全责任制落实情况 网络安全法的描述不正确的是 江苏机械网络技术厂家直销 语音识别需要什么软件开发 网络安全服务资料 北京联电国际网络技术有限公司 计算机网络技术具体是做什么的 怎么用公式匹配重复数据库 关于签订网络安全承诺书 怎么获取云服务器存储的数据 服务器cpu多核是什么 数据库怎样进行选择存储 东莞市盛淇网络技术有限公 安装麒麟v4服务器版本 软件开发的付款进度 通信网络技术基本知识 武汉大学网络安全研究生复试 林玉香网络安全宣传周 医务人员网络安全意识 公安网络安全保证书 合肥包河区西普数据库 我的世界服务器10人要多少钱 软件开发最高法指导案例 计算机网络技术安全的应用 地下城与勇士服务器有什么区别 做移动端的软件开发
0