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摄像头程序使用教程相关推荐

  1. 树莓派摄像头c语言,树莓派图像处理之摄像头安装+配置教程

    树莓派图像处理之摄像头安装+配置教程 本文简单讲讲树莓派如何安装摄像头,以及一些配置和简单使用 树莓派的主板上有一个专门为摄像头模块预留的接口:CSI(Camera Serial Interface) ...

  2. 微信小程序开发分销制度济南_花店微信小程序开发教程

    如何将自己的鲜花商品快速配送出去,避免鲜花过期浪费,是很多传统花店商家的难题.不过随着微信小程序的出现,这一难题也渐渐得到了解决.花店商家可以通过自己的小程序商城,打通线上渠道,可以加大推广.扩大销量 ...

  3. ST单片机使用ST Visual Programmer软件烧录程序简易教程

    文章原始地址: http://feotech.com/?p=100 ST单片机使用ST Visual Programmer软件烧录程序简易教程 ST Visual Programmer 是ST公司为自 ...

  4. 只能输入字母的c语言程序设计教程课后答案,c语言程序设计基础教程_习题答案20120319...

    <c语言程序设计基础教程_习题答案20120319>由会员分享,可在线阅读,更多相关<c语言程序设计基础教程_习题答案20120319(54页珍藏版)>请在技术文库上搜索. 1 ...

  5. 详解Xcode 4发布程序图文并茂教程

    详解Xcode 4发布程序图文并茂教程 2011-08-09 16:47 佚名  本文介绍的是详解Xcode 4发布程序图文并茂教程,通过图文的方式来介绍本文的内容,直接来看详细内容. AD: Xco ...

  6. 微信小程序开发教程第七章:微信小程序编辑名片页面开发

    前面我们更新了六篇的微信小程序开发教程,现在更新第七章:微信小程序编辑名片页面开发,(第一二章:微信小程序开发教程,第三四章:微信小程序项目结构以及配置&微信小程序首页面开发,第五章:微信小程 ...

  7. java界面编辑教程_java程序设计基础教程第六章图形用户界面编辑.docx

    java程序设计基础教程第六章图形用户界面编辑.docx 还剩 27页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要 ...

  8. 程序简单教程:飞秋官方下载

    程序简单教程:我有一个习惯,每隔一段时间就喜欢单独呆上一段时间,静静的飞秋官方下载 想自己的心事,那时候常去的是香港路上的美日咖啡和八大关里面的朗园酒吧,经常一坐就是一天.也曾经毫无目的的跳上一辆公交 ...

  9. idea 父文件_万事开头难!最新MyBatis程序配置教程(IDEA版)

    文章来源:万事开头难!最新MyBatis程序配置教程(IDEA版) 原文作者:Baret~H 来源平台:CSDN 实验环境:IDEA2020.1+MySQL8.0.21+Mybatis3.5.5+Ju ...

  10. 好程序员教程分析Vue学习笔记五

    好程序员教程分析Vue学习笔记五,上次我们学习了Vue的组件,这次我们来学习一下路由的使用.在Vue中,所谓的路由其实跟其他的框架中的路由的概念差不多,即指跳转的路径. 注意:在Vue中,要使用路由, ...

最新文章

  1. 端午郑州行·世纪欢乐园
  2. Mysql入门实战中
  3. verilog for循环_HDLBits:在线学习 Verilog (二十四 · Problem 115-119)
  4. Ubuntu服务器安装lamp
  5. 一篇文章搞定面试中的二叉树
  6. Go语言-基本的http请求操作
  7. 给未来的自己一封信计算机,给未来的自己的一封信范文(精选5篇)
  8. LeetCode-Maximal Rectangle-最大矩形
  9. Linux进程实践(3) --进程终止与exec函数族
  10. 深度学习——用神经网络解决非线性问题
  11. ural 1353. Milliard Vasya's Function
  12. dxf转nc代码软件_Window绝赞的6款软件,效率加班党必备,快到惊人!
  13. 暴露的全局方法_Dubbo源码解析实战 - 服务暴露原理
  14. python操作mysql,增,删,改,查
  15. java的io中replace咋么使用_Java.io.ObjectOutputStream.replaceObject()方法实例
  16. JavaScript计时
  17. Java应用开发的一条重要经验:先建立基础设施
  18. 机器学习精讲(向量逼近+函数逼近)学习笔记——第五章
  19. linux访问db2数据库操作命令行,DB2数据库基本操作指令30条
  20. mtk现在不支持语言的字库和输入法,支持的字库和输入法

热门文章

  1. LIS3DH运动检测调试过程
  2. python远程访问服务器获取文件
  3. CF1076C Meme Problem(韦达定理)
  4. 安科瑞电力监控系统在教学演示中的应用
  5. 《西部世界》在线观看与观后感
  6. 随手写的一些好用的功能(不定时更新)
  7. 各移动云测试平台对比
  8. CenterNet: Keypoint Triplets for Object Detection论文详解
  9. 计算机参数怎么写,format命令的怎样写 format命令的格式和参数【详解】
  10. 计算机电脑上可以做作业吗,一起作业电脑版