ios實現字串動畫
ios-opencv之蔡徐坤教你玩轉邊框畫
這一系列的文章已經寫了第二篇了,所以這個系列將會轉變為**文章,每當我有什麼新的發現,都會更新。
現在關於opencv的很多有趣的例子,都是python的。
這篇文章的整體思路**於知乎的maker畢的文章:蔡徐坤教你用opencv實現素描效果這篇文章說是素描,其實與廣義素描差距很大,準確的說應該是叫邊框畫。
先上一下效果圖吧。
看起來是不是挺有意思的
這裡我們還是要先講述一下步驟,這裡先展示下原圖
1. 將給定轉灰度圖
將從原來的三維層面,降到一維。
- (uiimage *)grayimage:(uiimage *)image
複製**
處理完畢後,我們能看到原來的蔡老師變灰了。
2. 對灰度進行高斯模糊
首先,先來講一下如何進行簡單的模糊處理
所以上的每乙個畫素,都有乙個畫素數值。
我們可以以當前畫素點為中心,取乙個n * n的矩陣。
這裡假定我們選了乙個中心灰度值為190的畫素點,它的周邊畫素的畫素灰度值為100(255為純白色)的3*3的畫素矩陣
模糊處理的簡單形式就是做平均,也就是將中間點的畫素點和周圍8個畫素點的灰度值取平均值。也就是(100 * 8 + 190) / 9 = 110
簡單的模糊處理就是這麼做的,不過高斯模糊是通過高斯函式去進行相應的計算,這裡我找到了一篇相當好的文章:高斯模糊
- (uiimage *)gaussianblurimage:(uiimage *)image
複製**
有乙個模糊的蔡老師出現了
3. 對影象進行自適應二值化處理
這一步其實要講的就是二值化,其實他的概念很簡單。我們將灰度圖上的某乙個畫素點的灰度值與給定的乙個值進行比較,小於這個給定值的我們將其灰度值設定為0(黑色),大於的設定為255(白色)。我們給定的比較值被稱之為閾值
當然,這種二值化太過固化、死板。因為真實的**有可能有陰影之類的遮擋,會導致我們的全域性二值化,產生很多的誤差,如下圖右上角所示:
因此我們需要採用自適應二值化的方法,這裡我們選擇採用自適應高斯二值化(效果如上圖右下角)
- (uiimage *)adaptivethresholdimage:(uiimage *)image
複製**
蔡老師的線條出現啦
4. 二值化進行再次模糊
現在蔡老師的衣服都已經變成線條了,基礎的描邊效果已經達成。但是我們可以看到,中比如說地面上,還有一些黑色的我們並不想要的點(我們稱這些點為噪點)。以及蔡老師的線條還是有點細,所以我們需要將蔡老師的線條變粗些。
將上面的再次進行高斯模糊。
蔡老師變得模糊了
5. 對模糊再次進行二值化
這裡我們再次進行二值化操作,因為現在已經相對乾淨,且並無陰影等干擾項。我們可以直接使用全域性二值化來加深邊框了(計算速度快)。
- (uiimage *)thresholdimage:(uiimage *)image
複製**
6. 對進行噪點去除
現在需要去除中的小的噪點,我們就需要進行一系列的操作了
關於這些操作,我們在影象處理方面有專門的名詞描述:
腐蝕與膨脹
腐蝕:
腐蝕通俗的來說,就是將原本的影象根據給定的核(為我們自定義的一種形狀,一般為n*n的正方形,n為奇數)縮小。
只有當原本的影象上對應核心周圍所有的點都有值時,我們才保留當前核心的值。
膨脹:
膨脹則正好相反,我們將給定的根據給定的核放大。
當我們掃瞄核的任意一點上有值時,當前核心點將會被賦值
腐蝕和膨脹便是我們這步處理的關鍵。
它們之間的組合被我們稱之為開運算和閉運算
開運算
我們先對進行腐蝕運算,然後進行膨脹運算
最終效果將如上圖的左下角結果
我們和原圖進行比較可以發現。
開運算可以去除毛刺,小橋和孤立的小點(在腐蝕運算中小點會直接消失)。最終總的位置和形狀不變(膨脹運算會恢復)
閉運算
閉運算這裡因為我們不會用到,因此不會過多贅述。
它和開運算的過程相反,先對原影象進行膨脹運算後進行腐蝕運算。
我們的目的是處理中的一些噪點,因此我們採用開運算來處理。
- (uiimage *)morphologyimage:(uiimage *)image
複製**
乾淨了很多
7. 最後進行一次高斯模糊
我們最後在進行一次高斯模糊,使我們的影象效果更好。
這篇文章的對應demo**,如果大家覺得還不錯,請盡情的用你麼的star來砸我。
影象處理非常有趣,同時很高階。
我的部落格**
ZR860 扁鵲再世蔡徐坤 (貪心 堆)
有 n nn 位病人,坤坤有 vml v ml vml 鎮靜劑。第 i ii 位病人的緊急程度為 a ia i ai 鎮靜所需劑量至少為 b ib i bi 若選了 k kk 個病人 c1 ck c 1 sim c k c1 ck 則病人 c jc j cj 將得到 acj i 1 kacj v f...
徐明君教你如何玩轉社群粉絲經濟
在移動互聯聯接每個人的今日,社交網路讓網紅經濟 粉絲經濟的使用價值發大財絢麗多彩。銷售市場中,靠通俗化商品獲得顧客的局勢早已變成歷史時間,而冷門化 訂製化 人性化的商品則遭受粉絲們的親睞。網際網路推廣時期逐漸公升級社群運營時期,各種電子商務平台總流量比較有限,適用店家自身獲得總流量,造就現階段社群營...
成龍蔡徐坤合唱《神探蒲松齡》主題曲 傳遞新春祝福
成龍 蔡徐坤合唱電影 神探蒲松齡 主題曲 一起笑出來 片方提供 攝 太原1月31日電 記者 胡健 記者31日從片方獲悉,賀歲電影 神探蒲松齡 日前發布由成龍 蔡徐坤演唱的賀歲主題曲 一起笑出來 歌曲充滿了節日的氣氛,向觀眾傳遞新年祝福。一起笑出來 的作詞是剛剛與成龍合作打造了 我還是成龍 的趙佳霖及...