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