前言:
我們在前面已經做了關于、GPUImage導入方式、濾鏡介紹、性能對比、圖檔處理、捕獲照片處理、實時濾鏡以及一個比較完整地Demo。
今天:
我們來給攝像頭添加一個實時視訊水印,很簡單,大概有60行代碼。
關于如何導入GPUImage,請看這裡:
http://blog.csdn.net/xoxo_x/article/details/60323297
效果圖:
使用一張美女圖檔作為圖檔水印,然後擷取攝像頭資料。将二者組合,可以看到顔色的疊加,但又似乎不是簡單地疊加。

代碼概覽如下:
原理如下:
GPUImagePicture、GPUImageVideoCamera均可作為紋理來源,我們将兩個紋理來源交給混合濾鏡,混合濾鏡将兩種紋理按相乘顔色照矩陣的方式組合成新的紋理。
GPUImageView可作為輸出源,将紋理展現給我們。
首先我們需要了解GPUImage提供的濾鏡:
http://blog.csdn.net/xoxo_x/article/details/57082804
視訊水印用到的是混合濾鏡
、Color adjustments: filters, 顔色處理相關
、Image processing: filters, 圖像處理相關.
、Blending modes: filters, 混合模式相關.
、Visual effects: filters, 視覺效果相關.
原理圖:
那麼,換一種情況:為已經現有視訊A添加圖檔水印
使用的是GPUImageMovie作為輸入源,來代替GPUImageVideoCamera,其餘不變。
那麼,換一種情況:使用現有視訊A作為實時視訊水印
GPUImageVideoCamera不變,通過改變紋理來源,即通過使用GPUImageVideoFile來擷取視訊水印,作為紋理,代替使用GPUImagePicture。這樣,我們就可以制作關于視訊的視訊水印了。
那麼,換一種情況:使用現有視訊A 作為 現有視訊B 的 水印
二者均使用的是GPUImageMovie作為輸入源
那麼,換一種情況:使用現有圖檔A 作為 現有圖檔B 的 水印
二者均使用的是GPUImagePicture作為輸入源
不過,這個似乎有些奇怪,實驗結果,就是兩張照片融合到了一起,有點像換場動畫。
歡迎打賞 – 打賞後可加好友哦 O(∩_∩)O哈哈~