s5p4418摄像头程序使用教程
s5p4418摄像头程序使用教程
本次我采用的硬件设备是nanopiM2,摄像头模块是CAM500B,软件上使用的linux3.4.39内核, 这里nanopi2系列也是适用的,并且对于运行环境也是linux3.4.39的其他s5p4418的开发板也是同样适用的,比如迅为的itop4418等等。
一.本次硬件设备图如下:
注: CAM500B其实就是 OV5640模组,分辨率是500万像素。
二.软件程序 nanocams 介绍
nanocams 是三星官方编写的一套摄像头的测试demo程序,用C++程序的方式编写的程序比较简单,有兴趣的老哥可以研究下其源代码。
github链接地址: https://github.com/friendlyarm/nexell_linux_platform.git
克隆方式:git clone https://github.com/friendlyarm/nexell_linux_platform.git
仓库图示:
克隆下来的源码目录是: nexell_linux_platform 具体文件如下图:
注:从Makefile 可以看到这个源码的编译必须要版本为 4.9.3 的交叉编译工具链编译,否则拒绝编译。
三.编译源码
生成库文件的目录有:
libnxv4l2 、libnxmalloc 、prebuilt 、libnxvpu
生成可执行文件的目录:
nanocams
大概用到的库文件如下拷贝到开发板的/lib 目录下面:
拷贝 nanocams/nanocams 的可执行文件到开发板的 /bin 目录下面即可。
四.nanocams运行测试
由上图可知:
-p 预览图片尺寸
-n 预览帧数
-c 拍照的图片尺寸
-o 保存文件名
0 - 640x480
1 - 800x600
2 - 1280x720
3 - 1600x1200
4 - 2592x1944
那么 -p 1 表示预览图片的尺寸是 800 x 600 , -p 2 预览的图片是 1280 x 700 如此类推,毕竟ov5640支持最大的分辨率是2592 x 1944 详情查看ov5640的数据手册。
以800 x 600 的方式预览,预览40帧后,以 2592 x 1944 的格式抓拍一帧保存为 IMG001.jpg 的运行命令如下:
nanocams -p 1 -n 40 -c 4 -o IMG001.jpg
运行的时候可以发现显示屏能看到摄像头预览的图像,但是最后拍照的时候运行出错了这是为何???
答: 因为拍照的时候最后要用到 s5p4418的硬件编码器去生成 jgp图像,因此需要打开设备文件节点 /dev/nv_vpu 。
五.补充s5p4418的硬件vpu驱动模块 nx_vpu.ko 文件。
三星并无把vpu驱动加入到3.4.39的内核里面只提供了源代码,我们以模块方式编译,源码目录如下:
vim Makefile
编译过驱动模块的老哥都知道模块编译依赖内核源码目录,我们下面修改一下Makefile依赖的内核源码目录开始编译!!
编译过程如下:
最后我们拷贝 nx_vpu.ko 到开发板并加载模块并查看是否生成设备文件节点
/dev/nx_vpu !!
可以发现运行没有再报错了,把生成的 IMG001.jpg 文件发到Windows系统下双击打开即可,拍出来的照有点模糊献丑了:
s5p4418摄像头程序使用教程相关推荐
- 树莓派摄像头c语言,树莓派图像处理之摄像头安装+配置教程
树莓派图像处理之摄像头安装+配置教程 本文简单讲讲树莓派如何安装摄像头,以及一些配置和简单使用 树莓派的主板上有一个专门为摄像头模块预留的接口:CSI(Camera Serial Interface) ...
- 微信小程序开发分销制度济南_花店微信小程序开发教程
如何将自己的鲜花商品快速配送出去,避免鲜花过期浪费,是很多传统花店商家的难题.不过随着微信小程序的出现,这一难题也渐渐得到了解决.花店商家可以通过自己的小程序商城,打通线上渠道,可以加大推广.扩大销量 ...
- ST单片机使用ST Visual Programmer软件烧录程序简易教程
文章原始地址: http://feotech.com/?p=100 ST单片机使用ST Visual Programmer软件烧录程序简易教程 ST Visual Programmer 是ST公司为自 ...
- 只能输入字母的c语言程序设计教程课后答案,c语言程序设计基础教程_习题答案20120319...
<c语言程序设计基础教程_习题答案20120319>由会员分享,可在线阅读,更多相关<c语言程序设计基础教程_习题答案20120319(54页珍藏版)>请在技术文库上搜索. 1 ...
- 详解Xcode 4发布程序图文并茂教程
详解Xcode 4发布程序图文并茂教程 2011-08-09 16:47 佚名 本文介绍的是详解Xcode 4发布程序图文并茂教程,通过图文的方式来介绍本文的内容,直接来看详细内容. AD: Xco ...
- 微信小程序开发教程第七章:微信小程序编辑名片页面开发
前面我们更新了六篇的微信小程序开发教程,现在更新第七章:微信小程序编辑名片页面开发,(第一二章:微信小程序开发教程,第三四章:微信小程序项目结构以及配置&微信小程序首页面开发,第五章:微信小程 ...
- java界面编辑教程_java程序设计基础教程第六章图形用户界面编辑.docx
java程序设计基础教程第六章图形用户界面编辑.docx 还剩 27页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要 ...
- 程序简单教程:飞秋官方下载
程序简单教程:我有一个习惯,每隔一段时间就喜欢单独呆上一段时间,静静的飞秋官方下载 想自己的心事,那时候常去的是香港路上的美日咖啡和八大关里面的朗园酒吧,经常一坐就是一天.也曾经毫无目的的跳上一辆公交 ...
- idea 父文件_万事开头难!最新MyBatis程序配置教程(IDEA版)
文章来源:万事开头难!最新MyBatis程序配置教程(IDEA版) 原文作者:Baret~H 来源平台:CSDN 实验环境:IDEA2020.1+MySQL8.0.21+Mybatis3.5.5+Ju ...
- 好程序员教程分析Vue学习笔记五
好程序员教程分析Vue学习笔记五,上次我们学习了Vue的组件,这次我们来学习一下路由的使用.在Vue中,所谓的路由其实跟其他的框架中的路由的概念差不多,即指跳转的路径. 注意:在Vue中,要使用路由, ...
最新文章
- 端午郑州行·世纪欢乐园
- Mysql入门实战中
- verilog for循环_HDLBits:在线学习 Verilog (二十四 · Problem 115-119)
- Ubuntu服务器安装lamp
- 一篇文章搞定面试中的二叉树
- Go语言-基本的http请求操作
- 给未来的自己一封信计算机,给未来的自己的一封信范文(精选5篇)
- LeetCode-Maximal Rectangle-最大矩形
- Linux进程实践(3) --进程终止与exec函数族
- 深度学习——用神经网络解决非线性问题
- ural 1353. Milliard Vasya's Function
- dxf转nc代码软件_Window绝赞的6款软件,效率加班党必备,快到惊人!
- 暴露的全局方法_Dubbo源码解析实战 - 服务暴露原理
- python操作mysql,增,删,改,查
- java的io中replace咋么使用_Java.io.ObjectOutputStream.replaceObject()方法实例
- JavaScript计时
- Java应用开发的一条重要经验:先建立基础设施
- 机器学习精讲(向量逼近+函数逼近)学习笔记——第五章
- linux访问db2数据库操作命令行,DB2数据库基本操作指令30条
- mtk现在不支持语言的字库和输入法,支持的字库和输入法