999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FFmpeg的手繪視頻系統(tǒng)的研究綜述

2020-03-03 06:12:08
福建質(zhì)量管理 2020年3期
關(guān)鍵詞:檢測

(長江大學(xué) 湖北 荊州 434023)

一、相關(guān)技術(shù)

Ffmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計(jì)算機(jī)程序。它提供了一套完整的音視頻解決方案,可以實(shí)現(xiàn)音視頻的轉(zhuǎn)碼、裁剪、拼接、縮放、旋轉(zhuǎn)、圖層的疊加等功能,唯一的缺點(diǎn)是其libavcodec編解碼庫在移植到Android平臺后,只支持軟編碼,兼容性很好,但不支持Android的MediaCodec硬編碼,所以編碼效率比較低。

交叉編譯是在一個平臺(windows)生成另一個平臺(Android)的可執(zhí)行代碼。由于ffmpeg是用c語言開發(fā)的,不能直接運(yùn)行在Android系統(tǒng)中,所以需要編譯成Android可以執(zhí)行的代碼庫。通常是在windows下安裝Linux虛擬機(jī),編寫shell腳本,修改ffmpeg配置文件,最后編譯生成so庫。編譯成功后會生成幾個so文件。libavcodec.so提供了一系列編碼器的實(shí)現(xiàn)。

libavformat.so實(shí)現(xiàn)了流協(xié)議,容器格式及其IO訪問。

libavutil.so包含了各種工具函數(shù),命令入口也從這里開始。

libavfilter.so提供了各種音視頻過濾器。

libavdevice.so提供了訪問捕獲設(shè)備和回放設(shè)備的接口。

libswresample.so實(shí)現(xiàn)了混音和重采樣。

libswscale.so實(shí)現(xiàn)了色彩轉(zhuǎn)換和縮放功能。

OpenGL ES(OpenGL for Embedded Systems)是OpenGL(Open Graphics Library)三維圖形API的一個子集。OpenGL ES是為移動設(shè)備而設(shè)計(jì)出來的,通過它可以直接調(diào)用GPU來進(jìn)行繪圖,效率很高性能很好。并且Android系統(tǒng)中是自帶OpenGL的,不需要像ffmpeg那樣必須要通過交叉編譯引入進(jìn)來,我們可以直接通過Android提供的api來調(diào)用OpenGL。

MediaCodec是Android自帶一個庫,可用于對視頻進(jìn)行編解碼。MediaCodec可以通過createInputSurface創(chuàng)建一個Surface,然后OpenGL將數(shù)據(jù)渲染到這個Surface上,這樣MediaCodec就可以對得到的視頻數(shù)據(jù)進(jìn)行編碼了,編碼后在通過MediaMuxer對其封裝成Mp4。在Android音視頻開發(fā)中,通常使用OpenGL ES來繪制視頻,然后配合MediaCodec來對OpenGL進(jìn)行硬編碼生成視頻。

二、Canny邊緣檢測提取輪廓

何為Canny邊緣檢測?

Canny邊緣檢測算法是一個多級邊緣檢測算法。Canny算法經(jīng)過多年的發(fā)展,已經(jīng)成為邊緣檢測的一種標(biāo)準(zhǔn)算法,性能和效果都比較優(yōu)化,在實(shí)際中被廣泛應(yīng)用。

Canny邊緣檢測主要的思想如下:1.應(yīng)用高斯濾波來平滑圖像,目的是去除噪聲;2.找尋圖像的強(qiáng)度梯度(intensity gradients);3.利于非最大抑制技術(shù)來消除邊緣誤檢;4.通過兩個閾值low和high來確定出邊緣;5.利用滯后技術(shù)來跟蹤邊界。

FFmpeg中已經(jīng)封裝好了Canny邊緣檢測算法,所以通過ffmpeg來調(diào)用邊緣檢測就方便很多了。

例如:ffmpeg-i input.png-vf edgedetect=low=0.1:high=0.4:mode=wires-frames:v 1-y edge.png

其中有幾個參數(shù)”-i input.png”代表輸入文件,”-vf edgedetect=low=0.1:high=0.4:mode=wires”代表使用邊緣檢測濾鏡,”-frames:v 1”代表從視頻中提取一幀,可以適用于一些動態(tài)圖的情況,”-y edge.png代表”生成文件并強(qiáng)制覆蓋。其中關(guān)于edgedetect的參數(shù)有3個分別是low、high、mode。其中l(wèi)ow和high代表設(shè)置Canny閾值算法中的低閾值和高閾值。必須在[0,1]范圍內(nèi)選擇低閾值和高閾值,低閾值應(yīng)小于或等于高閾值。高閾值代表強(qiáng)邊緣像素,低閾值代表弱邊緣像素,然后通過八連通性將這些點(diǎn)相連。四連通區(qū)域是11011其中0代表中心點(diǎn),4個1代表上下左右四個方向。八連通區(qū)域是111101111也就是除了上下左右四個方向外,還有左上、右上、左下、右下。關(guān)于mode繪圖模式,例如wires代表生成黑白圖,colormix代表生成油畫卡通效果圖。

三、深度優(yōu)先算法提取點(diǎn)陣

關(guān)于深度優(yōu)先遍歷算法的思想如下:

1.訪問頂點(diǎn)v;

2.依次從v的未被訪問的鄰接點(diǎn)出發(fā),對圖進(jìn)行深度優(yōu)先遍歷;直至圖中和v有路徑相通的頂點(diǎn)都被訪問;

3.若此時圖中尚有頂點(diǎn)未被訪問,則從一個未被訪問的頂點(diǎn)出發(fā),重新進(jìn)行深度優(yōu)先遍歷,直到圖中所有頂點(diǎn)均被訪問過為止。

通過Canny邊緣檢測可以得到一個二值化的圖像,背景是黑色,輪廓是白色的圖片。這時需要使用深度優(yōu)先遍歷得到這個圖片上所有白色的點(diǎn)。

定義圖片的左上角為(1,1)右下角為(width,height)。首先對這個圖片進(jìn)行從左到右,從上到下遍歷,直到找到一個白色點(diǎn),然后從這個白色的點(diǎn)開始,采用八連通規(guī)則依次判斷周圍的點(diǎn),同一個點(diǎn)只需要添加一次即可。最終得到深度優(yōu)先遍歷的點(diǎn)陣序列。

在Android中棧的最大內(nèi)存大小為1024KB,這里需要存儲大量的點(diǎn)陣數(shù)據(jù),如果棧空間不足會報錯StackOverflowError,所以這里存儲坐標(biāo)的點(diǎn)陣時使用short類型即可。另外還需要控制點(diǎn)陣存儲的最大數(shù)量限制以防止棧溢出。

四、生成Mp4視頻

方案一:使用FFmpeg軟編碼,速度慢但是兼容性好。實(shí)現(xiàn)思路是,在得到點(diǎn)陣序列后,依次將每一幀的序列生成Bitmap并保存成實(shí)際圖片在磁盤上。接下來調(diào)用FFmpeg命令對這每一幀圖片進(jìn)行處理生成視頻。例如:ffmpeg-framerate 30-i image-%03d.png-c:v libx264-y out.mp4 即可將一個圖片序列生成視頻。其中,-framerate 30控制輸入幀率為每秒30幀,-i image-%03d.png輸入一個圖片序列可以匹配image-001到image-999之間的所有圖片,-c:v libx264指定使用libx264庫進(jìn)行編碼。

方案二:直接將幀序列繪制到OpenGL的GlSurfaceView上,同時使用MediaCodec對GlSurfaceView進(jìn)行錄制,這種方案既滿足的實(shí)時預(yù)覽的需要,又可以快速的合成視頻。

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數(shù)的乘除法”檢測題
“有理數(shù)”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 国产精品露脸视频| 欧美精品1区2区| 欧美另类图片视频无弹跳第一页| 高清色本在线www| 四虎影视库国产精品一区| 自拍亚洲欧美精品| 亚洲无线观看| 久久99国产综合精品女同| 在线va视频| 超碰aⅴ人人做人人爽欧美 | 麻豆精选在线| 国产精品亚洲日韩AⅤ在线观看| julia中文字幕久久亚洲| 久久精品午夜视频| 国产网友愉拍精品| 精品一区二区三区视频免费观看| 国产精品女主播| 久久久久亚洲精品成人网| 免费看av在线网站网址| 国产爽歪歪免费视频在线观看 | 一本无码在线观看| 乱人伦中文视频在线观看免费| 秋霞国产在线| 亚洲成在线观看 | 国产精品深爱在线| 夜夜拍夜夜爽| 婷婷伊人久久| 国产a网站| 国产毛片基地| a天堂视频| 亚洲国产精品一区二区第一页免 | 亚洲天堂网在线播放| 欧美日韩第三页| 亚洲天堂精品视频| 婷婷综合色| 欧美激情,国产精品| 成人中文字幕在线| 久久综合丝袜长腿丝袜| 精品乱码久久久久久久| 亚洲国产av无码综合原创国产| 欧美a√在线| 亚洲中文无码h在线观看| 免费看久久精品99| 91小视频版在线观看www| 天天视频在线91频| 在线观看国产精品日本不卡网| 日韩人妻少妇一区二区| 国产理论一区| 91麻豆精品国产高清在线| 午夜影院a级片| 成人91在线| 国产亚洲欧美在线中文bt天堂| 日韩免费中文字幕| 国产成人精品午夜视频'| 一区二区午夜| 国产综合色在线视频播放线视| 亚洲男人的天堂久久香蕉| 无码专区国产精品第一页| 亚洲天堂区| 国产精品一线天| 国产无码高清视频不卡| 亚洲一区无码在线| 国产无码高清视频不卡| 亚洲区视频在线观看| 亚洲精品日产精品乱码不卡| 8090午夜无码专区| 国产v精品成人免费视频71pao| 国产成人喷潮在线观看| 国产日本欧美亚洲精品视| 欧美日在线观看| 欧美在线视频a| 成人噜噜噜视频在线观看| 不卡视频国产| 国产精品午夜电影| 狠狠躁天天躁夜夜躁婷婷| 欧美特级AAAAAA视频免费观看| 亚洲综合色在线| 亚洲精品国偷自产在线91正片| 全部免费毛片免费播放| 中国精品久久| 综合久久五月天| 亚洲欧美天堂网|