第一步:顯示圖像
在windows使用Python2.7馍乙,已安裝好opencv布近,先實(shí)現(xiàn)第一步,將圣誕帽圖像變成灰色丝格,
按照源代碼失敗撑瞧,因?yàn)椴恢莱鲥e在哪一步,所以增加顯示圖像的函數(shù)來一步步進(jìn)行調(diào)試
但是cv2.imshow一直失敗显蝌,顯示灰色圖案预伺,
查詢后參考此文章:http://blog.csdn.net/watkinsong/article/details/9189753,根據(jù)他的提示相應(yīng)的修改Python的代碼曼尊,增加cv2.waitKey()后成功顯示圖像酬诀。
但是顯示的圖像臟臟的,跟在ps里打開不一樣骆撇,查了半天不知道什么原因瞒御,推測可能是有些像素肉眼不可見,但是用函數(shù)處理后可見了神郊,所以將原圖用ps進(jìn)行了修改肴裙,刪除了帽子以外區(qū)域的像素。重新編譯后沒有臟像素了涌乳。
誒蜻懦,好像顯示的不是紅通道,跟ps比對發(fā)現(xiàn)這是藍(lán)通道啊夕晓,原來cv2.imread()導(dǎo)入圖片時是BGR通道順序
于是修改代碼
這下才是紅通道了嘛
rgb_hat=cv2.merge((b,g,r))用來還原原圖像宛乃,此時若順序錯,則還原出的圖像顏色錯
分離出alpha通道并顯示
上期我成功使用opencv函數(shù)顯示了圖像蒸辆,但是源代碼中的生成alpha通道命令始終失敗征炼,原來在imead階段,增加參數(shù)-1就可以生成alpha通道了吁朦。
至此完成了第一步柒室,讀取圖像并顯示alpha通道渡贾,注釋掉我自己添加的用于理解代碼的imshow等函數(shù)逗宜,并且將參數(shù)修改與原代碼一致(其實(shí)就是原來為了偷懶將帽子圖像聲明為img,后來發(fā)現(xiàn)原代碼將人物命名為img空骚,尷尬纺讲,按照它的改了,省的后面忘記了出現(xiàn)不必要的錯誤)