1. 程式人生 > >linux學習之 V4L2的攝像頭應用

linux學習之 V4L2的攝像頭應用

看到一篇比較好的關於V4L2的文章

來自:http://blog.csdn.net/eastmoon502136/article/details/8190262

   對於v4l2,上次是在除錯收音機驅動的時候用過,其他也就只是用i2c配置一些暫存器就可以了。那時只是粗粗的瞭解了,把收音機當作v4l2的裝置後會在/dev目錄下生成一個radio的節點。然後就可以操作了。後來就沒怎麼接觸了。這周,需要除錯下usb的攝像頭。因為有問題,所以就要跟進,於是也就要開始學習下linux的v4l2了。看到一篇很不錯的文章,下面參考這篇文章,加上自己的一些見解,做一些總結把。

       Video for Linuxtwo(Video4Linux2)簡稱V4L2,是V4L的改進版。V4L2是linux作業系統下用於採集圖片、視訊和音訊資料的API介面,配合適當的視訊採集裝置和相應的驅動程式,可以實現圖片、視訊、音訊等的採集。在遠端會議、可視電話、視訊監控系統和嵌入式多媒體終端中都有廣泛的應用。

在Linux下,所有外設都被看成一種特殊的檔案,成為“裝置檔案”,可以象訪問普通檔案一樣對其進行讀寫。一般來說,採用V4L2驅動的攝像頭裝置檔案是/dev/video0。V4L2支援兩種方式來採集影象:記憶體對映方式(mmap)和直接讀取方式(read)。V4L2在include/linux/videodev.h檔案中定義了一些重要的資料結構,在採集影象的過程中,就是通過對這些資料的操作來獲得最終的影象資料。Linux系統V4L2的能力可在Linux核心編譯階段配置,預設情況下都有此開發介面。

       而攝像頭所用的主要是capature了,視訊的捕捉,具體linux的呼叫可以參考下圖。

具體的學習方法可以參考上面的文章


相關推薦

linux學習 V4L2攝像頭應用

看到一篇比較好的關於V4L2的文章 來自:http://blog.csdn.net/eastmoon502136/article/details/8190262    對於v4l2,上次是在除錯收音機驅動的時候用過,其他也就只是用i2c配置一些暫存器就可以了。那時只是粗

Linux學習網路相關例項應用

1、100.0.0.16/28對應網段的閘道器地址、廣播地址、可分配IP地址範圍。 28位掩碼,掩碼為255.255.255.240,前28位表示網路地址, 後四位表示可分配的主機,所以可分配的IP地址範圍為100.0.0.17到100.0.0.30 廣播地址為100.0.0.31,閘道

Linux學習例項應用-1

1、定義一個對所有使用者都生效的命令別名 [[email protected] ~]# vim ~/.bashrc ==>開啟.bashrc資料夾 alias ud='useradd' ==>新增別名 2、顯示/etc/passwd中不以/bin/

C語言高階應用---操作linuxV4L2攝像頭應用程式

#include "CameralOpt.h" int video_fd ; int length ; char *yuv[COUNT] ; struct v4l2_buffer enqueue , dequeue ; //定義出入隊的操作結構體成員 int Init_Cameral(int

Linux學習用戶管理

shell 已過期 useradd 系統 user 影子 所屬組 有用 刪除用戶 /etc/passwd Linux系統將用戶信息保存在文件/etc/passwd中 文件中一行代表一個用戶,所以文件有多少行就代表系統有多少用戶。每一行都被用冒號隔開分成7個字段,我們先了解

Linux學習服務器搭建——DNS服務器

環境 back 文件 -a etc http 區域 輸入 正向 DNS服務器其實是域名解析系統,需要的前提條件只是,兩臺虛擬機可以ping同即可,因此可以在基礎網絡配置下單獨聯系,也可以跟著DHCP服務器一起練習,只是我們以前ping的是IP地址,現在變成ping域名(例:

linux學習二:日常的基礎命令收集

幫助文檔 gedit 查看 日期 取整 style 位置 某月 linux 1、 ls 2、pwd  顯示當前目錄所在位置 3、date  日期時間 4、cal  日歷   默認顯示當前該月   cal 2012 :查看2012年的日歷   cal 月 年 : 查看某年某月

Linux學習三:文件夾系統的結構和相對(絕對)路徑

sharp 二進制 沒有 數據 csharp pan 用戶 ont 臨時 理解每個目錄的作用 bin   二進制文件 boot   系統的啟動文件、內核 dev   設備文件 etc   配置文件 home  用戶的家目錄 lib    鏈接庫文件  l

linux學習網絡

internet 可擴展性 網絡組建 linux 路由器 網絡 Internet: 1.網絡基礎知識 網絡的概念 網絡的功能、特性、組成、結構; 兩個網絡模型(ISO/OSI,TCP/IP) 2.網絡組建知識: 交換機基礎

Linux學習路(四)幫助命令

查看系統 lin 查看 inux 舉例 config pro nbsp 雜項 幫助命令man .man  命令  #獲取指定命令的幫助 .man  ls    #查看ls的幫助 man的級別 1 查看命令的幫助 2 查看可被內核調用的函數的幫助 3 查看函數的

Linux學習了解計算機硬件知識

linux 學習 說實話很多人都在學習Linux運維的知識,就目前行業來說Linux是很流行的東西,當下培訓機構也很多,接下來了解下計算機硬件的知識!下面開始了:1U服務器:U是一個單位,1U = 4.45cm。電腦主機的組成:常見的做運維關註的只有:CPU ,DISK,內存一、電源:服務器用的都是提

Linux學習路 -- 簡單日常使用命令

簡單 日誌 reboot logs netstat oca yum a.out mysql tail -f catalina.out #在 logs 下面查看日誌( -f 實時查看) rm -rf /var/log/httpd/access

Linux學習Vim使用

下一步 linux 編輯器 程序 而且 一 為何要學Vim所有的Unix Like系統都有自帶vi編輯器一些軟件的編輯接口會自動調起vi作為vi的升級版,vim具有程序編輯功能,而且具有代碼顏色高亮顯示、辨別代碼的正確性等功能  以上優勢奠定了vim在Linux系統的絕對地位二 Vi的使用

我的Linux學習路的感悟

content data 更新 選擇 ati 關系 icp gtk 能夠 首先要跟大家說聲抱歉,這麽久一直沒有更新,有負大家對我的期望。 半年的Linux運維的學習到目前已工作一個月零9天,這一路走來的艱辛和掙紮只有自己最清楚。 首先要感謝

Linux學習在搭建java開發環境

inux 添加 linux java開發環境 搭建 包名 開發 alt 環境 首先,在官網上下載你需要的JDK 然後 解壓包   tar -zxvf 包名 配置環境變量    vim /etc/profile 如果權限不夠,就使用sudo vim /etc/profil

linux學習緩存機制

page sysctl 同時 進行 一定的 緩沖區 調用次數 pro 使用 linux中的緩存機制 在Linux系統中,為了提高文件系統性能,內核利用一部分物理內存分配出緩沖區,用於緩存系統操作和數據文件,當內核收到讀寫的請求時,內核先去緩存區找是否有請求的數據,有就直接返

小白的linux學習旅(二)

探索linux一、linux系統結構linux是一個倒樹結構linux中所有的東西都是文件這些文件都在系統頂級目錄“/” /就是根目錄/目錄以下為二級目錄這些目錄都是系統裝機時系統自動建立的二級目錄的作用/bin 二進制可執行文件也就是系統命令/sbin

小白的linux學習旅(一)

探索linux一、進入系統*)普通用戶登陸student 普通用戶,密碼student*)超級用戶登陸 —〉not listed 點擊未列出 username 提示輸入用戶名稱 —〉root root 為系統超級用戶 passw

linux學習二:Linux磁盤與文件管理系統

roo 針對 mkf 維護 def 都是 linu mke2fs remount 上次寫了Linux檔案與操作,這次繼續寫Linux磁盤與文件管理系統。 首先,我們要先來認識一下EXT2文件系統,這是Linux最傳統的磁盤系統。 1.EXT2文件系統 在說文件系統以前還是要

Linux學習三:檔案與文件系統的壓縮與打包

常用 etc 存在 filename 目錄 時有 blog 備份工具 restore 將檔案進行壓縮處理是為了使文件更加方便在網絡上傳輸以及降低硬盤使用量。進行壓縮的原理就是檔案在存儲時有很多的空間是無用的,而壓縮就是將這些空間給釋放出來。 Linux下幾種常見的壓縮方式後