Android使用USB攝像頭拍照yuy2轉jpeg

說明

因爲項目須要,使用通用的usb攝像頭進行拍照,這樣成本低且比較通用,市面上一大堆支持yuv的usb攝像頭。並且linux內核自帶yuv的usb驅動,不用移植驅動之類的。因爲有些攝像頭不支持抓拍jpg格式圖片,是由於裏面沒有哈夫曼編碼器對yuv數據進行編碼成jpg格式圖片。移植了libjpeg庫,能夠將yuy2格式轉爲jpg格式,還壓縮了一遍。linux

環境

Android 4.4,普通的yuv攝像頭,不自帶哈夫曼編碼。android

查看android系統是否識別了usb攝像頭

adb shll
ls /dev/video*

說明:若是顯示有/dev/video的控制句柄,那說明識別成功。git

使用

說明:建議先查看下託管代碼下面的README文件。github

libjpeg8dlibjpeg庫得源碼,進入該目錄使用ndk-build生成.a靜態庫文件文件。ide

模塊使用說明

只要include encode_jpeg.h文件就能夠了。ui

#define FILE_VIDEO     "/dev/video1"         //攝像頭路徑
#define PHOTO_FOLDER "/sdcard/androidDoor"  // 圖片存放路徑
int get_photo(int size,int filename);        //調用接口 第一個參數爲設置
                                            //圖片大小,第二個參數爲圖片名稱

模塊託管地址

https://github.com/QUSIR/yuy2_to_jpeg.git編碼

因爲沒有空,沒有將該模塊整合爲一個Andoid Studio工程,可是可以使用的的,從整個項目拆下來的子模塊。詳細請看代碼,遇到問題請聯繫我。code

相關文章
相關標籤/搜索