opencv 图像 抠图 算法_我讨厌这个绿油油的头像!我用opencv换一下背景
更多精彩在【Opencv視覺實踐】
大家好呀!大家不用疑惑啥時候關注了一個叫【Opencv視覺實踐】的公眾號呢?因為【行走的機械人】改名字了。本號想專注分享計算機視覺相關的有趣東西,雖然【行走的機械人】這個名字我超喜歡,但太不鮮明了。所以我改了個名字,以后就專注分享計算機視覺基礎算法啦,生動形象有趣的分享各種小實踐,鞏固不牢的基礎吖。
下面進入正題吧,換了新衣服就想換新媳婦,換了名字自然也就想換頭像了!所以我就去找了個opencv的logo,再用PPT配上個字,就有了:
然后我去我關注的公眾號列表了看了一下:
?????
這個綠油油的頭像是怎么回事!這顏色著實讓我想起了一些不好的事情,所以我想把背景替換成鋼鐵俠的老爺金那種顏色。
大家不要看我關注這么多opencv公眾號驚訝哈,作為寫公眾號的,當然要向同行學習了。但其實這些公眾號對于我opencv能力的提升幫助屬實不大,因為大號們在成為大號后,發布的文章水平也不再是我這入門小白能看的懂的了。所以大家應該多關注一些像我這種辛勤耕作(經常斷更)專心做內容的小號,嘿嘿
(其實換背景確實很簡單啦,方法也很多,我只是想水一篇文章而已,畢竟今天換名字又換頭像了嘛)
思路就是,首先要把opencv的三個圈圈給摳出來,如下:
注意,上面二值圖白色的(255)才是我們真正摳出來的,也就是把背景摳出來當作腌膜。
這一步是關鍵,也就是圖像分割,這副圖像很簡單,我直接用HSV顏色空間就能分出來,也可以閾值化啊,分水嶺等等,各種分割。
Mat srcImage, HSVImage;srcImage = imread("圖標.jpg");imshow("原圖標", srcImage);cvtColor(srcImage, HSVImage, COLOR_BGR2HSV);//BGR轉HSV//基于HSV進行分割摳圖Mat binary_Mask;//二值圖inRange(HSVImage, Scalar(70, 100, 100), Scalar(115, 255, 255), binary_Mask);//進行二值化imshow("二值圖", binary_Mask);然后再自定義一個背景,就是前文的的老爺金:
//自定義一個背景Mat backImage(srcImage.size(), CV_8UC3, Scalar(65, 168, 214));//老爺金imshow("背景圖", backImage);然后我們把腌膜和新的背景還有原圖混合在一起,就OK了:
//將背景,腌膜,原圖混合 backImage.copyTo(srcImage, binary_Mask); imshow("結果圖", srcImage); imwrite("新頭像.jpg", srcImage);嗯,然后再用PPT加上幾個字,頭像就做好了,然后去公眾號列表看一下新頭像:
!!!!這個shi黃色的頭像又是怎么回事???emmm...算了,以后再改吧。
如果絕對圖像腌膜等不清楚,可以查看
圖像腌膜Mask的常規操作你真的信手拈來嗎?
我利用一個小程序開了一個留言功能,點擊下方紅色箭頭就可以進入評論區了,歡迎大家來交流呀。
總結
以上是生活随笔為你收集整理的opencv 图像 抠图 算法_我讨厌这个绿油油的头像!我用opencv换一下背景的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: adcsr图像超分代码_图像超分:Rea
- 下一篇: 的微波感知_微波遥感的特点