@__Zsy 已簡(jiǎn)信
關(guān)于EXIF格式的分析JPEG格式和標(biāo)志JPEG文件都是以十六進(jìn)制的 0xFFD8 開(kāi)始,以 0xFFD9 結(jié)束。在JPEG數(shù)據(jù)中,0xFF** 這樣的數(shù)據(jù)被用作標(biāo)志,表示JPEG信息數(shù)據(jù)段。0x...
@__Zsy 已簡(jiǎn)信
關(guān)于EXIF格式的分析JPEG格式和標(biāo)志JPEG文件都是以十六進(jìn)制的 0xFFD8 開(kāi)始,以 0xFFD9 結(jié)束。在JPEG數(shù)據(jù)中,0xFF** 這樣的數(shù)據(jù)被用作標(biāo)志,表示JPEG信息數(shù)據(jù)段。0x...
@andev009 我面試的時(shí)候沒(méi)怎么面算法。對(duì)音視頻要求高低跟你面試的職位有關(guān)
OpenGLES濾鏡開(kāi)發(fā)匯總 —— 仿抖音九屏特效分屏特效中的九屏特效。紋理橫向和縱向縮成三分之一再填充,不需要做裁剪處理。shader如下: 效果如下:
@平凡的人tx 如果要添加光照,需要確定光源點(diǎn),需要考慮人臉不同方向的光照。估計(jì)需要模擬場(chǎng)景和方位,SDK給過(guò)來(lái)的參數(shù)并不一定能滿足你的要求。
《Android 美顏類(lèi)相機(jī)開(kāi)發(fā)匯總》目錄第一章 Android OpenGLES 相機(jī)預(yù)覽第二章 Android OpenGLES 錄制視頻第三章 Android OpenGLES 給相機(jī)添加濾鏡第四章 Andro...
@Toby_558c 理論上比商湯的SDK要差一點(diǎn)。主要是在最開(kāi)始的幾幀會(huì)有延遲,30ms內(nèi)是可以保證。算法返回比較慢當(dāng)然會(huì)影響渲染效果,至少卡頓問(wèn)題不可避免。
《Android 美顏類(lèi)相機(jī)開(kāi)發(fā)匯總》第五章 Android OpenGLES 美顏定制實(shí)現(xiàn)在介紹美顏定制之前,我們先來(lái)復(fù)習(xí)一下OpenGL中圖像繪制原理。OpenGL的圖像繪制,是由許許多多三角形構(gòu)成的。OpenGL的繪制離不開(kāi)三角形的繪制。通常對(duì)于不需要對(duì)圖像細(xì)...
@土貝口小土孩 看你的OpenGL處理的復(fù)雜度以及手機(jī)設(shè)備。OpenGL處理的內(nèi)容多的話,幀率自然受影響,另外一個(gè)問(wèn)題是,人臉關(guān)鍵點(diǎn)也會(huì)影響到幀率。如果人臉關(guān)鍵點(diǎn)檢測(cè)時(shí)間過(guò)長(zhǎng),那怎么處理幀率都是個(gè)問(wèn)題,除非你不要人臉檢測(cè)。整體上你跑一下CainCamera的幀率計(jì)算一下就知道了。不同CPU不同設(shè)備的幀率是多少都可以評(píng)估。我這邊已經(jīng)重寫(xiě)過(guò)渲染流程,為了方便支持CameraX框架。
Android Camera 使用OpenGLES 渲染濾鏡以及幀率優(yōu)化問(wèn)題說(shuō)到濾鏡問(wèn)題,市面上所有美顏類(lèi)的相機(jī)都存在各式各樣的濾鏡。那么我們?cè)趺磳?shí)現(xiàn)濾鏡呢?我們首先想到,是否有相關(guān)開(kāi)源項(xiàng)目可以參考的。iOS 下有比較著名的GPUImage是用來(lái)做濾...
@雪融消散 一個(gè)是并行化處理,一個(gè)是減少處理像素。至于怎么做混合,去看看《數(shù)字圖像處理》這本書(shū),基礎(chǔ)知識(shí)你補(bǔ)一下,剩下的都是怎么應(yīng)用到shader中
Android OpenGLES 實(shí)時(shí)美顏(磨皮)的優(yōu)化(二)在前一篇文章Android OpenGLES 實(shí)時(shí)美顏(磨皮)的優(yōu)化,我們已經(jīng)介紹了關(guān)于實(shí)時(shí)美顏(磨皮)的一些優(yōu)化點(diǎn)。但在實(shí)際的優(yōu)化測(cè)試中發(fā)現(xiàn),當(dāng)處理器發(fā)熱之后,就無(wú)法保證預(yù)...
@以夢(mèng)為馬_87fa 你是說(shuō)前后攝像頭切換?還是說(shuō)同時(shí)前后攝像頭開(kāi)啟?如果是同時(shí)開(kāi)啟,那估計(jì)不行,相機(jī)目前APP只能打開(kāi)一個(gè)攝像頭。如果說(shuō)的是切換攝像頭,參考一下官網(wǎng)的demo就好,里面包含了你想要的東西。
關(guān)于Android Camera2 API 的自動(dòng)對(duì)焦的坑一、使用。關(guān)于Camera2的API使用,參考Google官方的例子:Camera2BasicCamera2RawCamera2Video這是一手資料,配合官方的資料理解Ca...
@應(yīng)江嬌 錄像看我其他文章和我的github上的CainCamera項(xiàng)目,里面有你幾乎所有想要的東西
Android Camera SurfaceView 預(yù)覽拍照Android使用Camera API + SurfaceView 方式進(jìn)行預(yù)覽拍照。1、創(chuàng)建一個(gè)SurfaceView,并實(shí)現(xiàn)SurfaceHolder的回調(diào)。由于Came...
@TheKey_ 后臺(tái)保持錄像只能自己實(shí)現(xiàn)EGL渲染線程
OpenGLES + MediaCodec 短視頻分段錄制實(shí)現(xiàn)與無(wú)丟幀錄制優(yōu)化錄制視頻功能在現(xiàn)在的很多應(yīng)用上都存有一席之地,在直播類(lèi)、美顏類(lèi)應(yīng)用上更是不可或缺的的一部分功能。在Android中錄制視頻有軟硬編碼兩種方式。軟編碼就是利用CPU對(duì)視頻幀進(jìn)行...
@獨(dú)自旅行_a205 提前初始化MediaCodec、MediaMuxer,交替錄制就行。
OpenGLES + MediaCodec 短視頻分段錄制實(shí)現(xiàn)與無(wú)丟幀錄制優(yōu)化錄制視頻功能在現(xiàn)在的很多應(yīng)用上都存有一席之地,在直播類(lèi)、美顏類(lèi)應(yīng)用上更是不可或缺的的一部分功能。在Android中錄制視頻有軟硬編碼兩種方式。軟編碼就是利用CPU對(duì)視頻幀進(jìn)行...
@平凡的人tx 唇部邊緣部分處理就是根據(jù)人臉關(guān)鍵點(diǎn)拿到嘴唇的幾個(gè)點(diǎn),利用一定的方式對(duì)其進(jìn)行過(guò)濾,由于嘴唇部分動(dòng)作過(guò)于復(fù)雜,比如歪嘴之類(lèi)的,目前應(yīng)該沒(méi)太好的處理方案,你只能擬合一個(gè)近似的形狀。目前市面上都沒(méi)有多帶動(dòng)作的唇部運(yùn)動(dòng)做出有效的邊緣處理方案,大部分都是通過(guò)mask遮罩?jǐn)M合的
《Android 美顏類(lèi)相機(jī)開(kāi)發(fā)匯總》目錄第一章 Android OpenGLES 相機(jī)預(yù)覽第二章 Android OpenGLES 錄制視頻第三章 Android OpenGLES 給相機(jī)添加濾鏡第四章 Andro...
@平凡的魚(yú)仔 對(duì)焦你去看官方文檔,寫(xiě)得那么明白呢
關(guān)于Android Camera2 API 的自動(dòng)對(duì)焦的坑一、使用。關(guān)于Camera2的API使用,參考Google官方的例子:Camera2BasicCamera2RawCamera2Video這是一手資料,配合官方的資料理解Ca...
@feng_e9fa 你的Vertex Shader跟我的又不一樣,textureCoordinate是我自己設(shè)置的,你設(shè)置成什么樣,要切合你自己的shader才行
OpenGLES濾鏡開(kāi)發(fā)匯總 —— 仿抖音靈魂出竅濾鏡觀察抖音的靈魂出竅濾鏡,可以看到主圖像沒(méi)變化,新增了一張經(jīng)過(guò)縮放后的紋理,跟主圖像進(jìn)行一定alpha處理的線性混合得到。可以參考我寫(xiě)的縮放濾鏡,得到fragment shad...
@oldRR 不行,連拍不是一張照片,而是多張照片連續(xù)存儲(chǔ)
關(guān)于EXIF格式的分析JPEG格式和標(biāo)志JPEG文件都是以十六進(jìn)制的 0xFFD8 開(kāi)始,以 0xFFD9 結(jié)束。在JPEG數(shù)據(jù)中,0xFF** 這樣的數(shù)據(jù)被用作標(biāo)志,表示JPEG信息數(shù)據(jù)段。0x...
@IMSk 有可能是因?yàn)槎嗑€程環(huán)境下操作了同一個(gè)紋理造成的?如果處理比較復(fù)雜的話,建議將要繪制的紋理單獨(dú)繪制到一個(gè)FBO存起來(lái),這樣下一幀來(lái)臨前,我已經(jīng)將該FBO綁定的紋理繪制到了錄制的渲染線程里面。多線程切換上下文環(huán)境切換會(huì)帶來(lái)不少的坑,需要嚴(yán)格控制住渲染的流程時(shí)序。
OpenGLES + MediaCodec 短視頻分段錄制實(shí)現(xiàn)與無(wú)丟幀錄制優(yōu)化錄制視頻功能在現(xiàn)在的很多應(yīng)用上都存有一席之地,在直播類(lèi)、美顏類(lèi)應(yīng)用上更是不可或缺的的一部分功能。在Android中錄制視頻有軟硬編碼兩種方式。軟編碼就是利用CPU對(duì)視頻幀進(jìn)行...
@九科門(mén)人 15年畢業(yè)轉(zhuǎn)行做開(kāi)發(fā)的。
Android Camera onPreviewFrame 回調(diào)造成頻繁GC的問(wèn)題在開(kāi)發(fā)相機(jī)的過(guò)程中,本人遇到一個(gè)奇怪的Bug,在這里記錄完整的調(diào)試過(guò)程。事情是這樣的,公司的相機(jī)項(xiàng)目使用了Camera的onPreviewFrame回調(diào)取出預(yù)覽數(shù)據(jù)用于人臉檢...
@德松_3aaa 看書(shū)自學(xué)
OpenGLES渲染管道,頂點(diǎn)著色器(VertexShader) ,片元著色器(FragmentShader)著色器只能用在OpenGLES 2.X以上等可編程管道里,而在OpenGLES 1.X是不能使用的。 管線,Pipeline,顯卡執(zhí)行的、從幾何體到最終渲染圖像的、數(shù)據(jù)傳輸處...
@odriver 不是,在微視加班填坑
OpenGLES濾鏡開(kāi)發(fā)匯總 —— 仿抖音九屏特效分屏特效中的九屏特效。紋理橫向和縱向縮成三分之一再填充,不需要做裁剪處理。shader如下: 效果如下:
@7cdaccb1777a 最近一直在加班修BUG填坑,真沒(méi)時(shí)間寫(xiě)博客,估計(jì)得等我有空把后續(xù)的合成弄完才有時(shí)間再寫(xiě)博客了。你照著代碼來(lái)看吧,關(guān)鍵的地方我應(yīng)該都有寫(xiě)注釋了的。
OpenGLES濾鏡開(kāi)發(fā)匯總 —— 仿抖音九屏特效分屏特效中的九屏特效。紋理橫向和縱向縮成三分之一再填充,不需要做裁剪處理。shader如下: 效果如下:
@自由自在_0165 不太清楚你說(shuō)的“參數(shù)直接在程序里面用個(gè)結(jié)構(gòu)體或者類(lèi)設(shè)置”是啥意思。如果說(shuō)為何手動(dòng)解析參數(shù)的話,一方面是規(guī)則是動(dòng)態(tài)的,不同類(lèi)型的貼紙有不同的json結(jié)構(gòu),并不是gson之類(lèi)的工具并沒(méi)有體現(xiàn)出更方便的解析過(guò)程。另一方面,做成庫(kù)的形式,盡量不要把過(guò)多的第三方庫(kù)引入,一方面是包體積問(wèn)題,再者第三方庫(kù)不可控。你在自己的業(yè)務(wù)里面自然不用考慮那么多東西,可以怎么方便怎么來(lái)。
《Android 美顏類(lèi)相機(jī)開(kāi)發(fā)匯總》第四章 Android OpenGLES 動(dòng)態(tài)貼紙實(shí)現(xiàn)動(dòng)態(tài)貼紙簡(jiǎn)介 動(dòng)態(tài)貼紙是基于人臉識(shí)別SDK的一種應(yīng)用。動(dòng)態(tài)貼紙最常用的是二維圖像,也有使用3D 圖像的動(dòng)態(tài)貼紙,而隨著AR和三維點(diǎn)云技術(shù)的發(fā)展,目前的AR貼紙也流行了起來(lái)。比...