扣图(图像色彩空间转换)
生活随笔
收集整理的這篇文章主要介紹了
扣图(图像色彩空间转换)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
利用圖像色彩空間轉換,進行扣圖。
import cv2 import numpy#創建圖像 img=cv2.imread('jiuXinNai.jpg',cv2.IMREAD_REDUCED_COLOR_2)#扣圖1,扣除黃色 hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV) #色彩空間轉換 kou_part1=cv2.inRange(hsv,(26,43,46),(34,255,255)) #取出圖像中黃色的部分,kou_part1表示黃色圖像 cv2.bitwise_not(kou_part1,kou_part1) #將kou_part1取反,就可以得到非黃色部分的一個圖像 img_kou1=cv2.bitwise_and(img,img,mask=kou_part1) #將原圖像和非黃色部分圖像進行邏輯與運算,就可以摳出沒有黃色的圖像#摳圖2,將扣圖1中的圖像再摳除橙色 kou_part2=cv2.inRange(hsv,(11,43,46),(25,255,255)) #取出圖像中橙色的部分,kou_part2表示橙色圖像 cv2.bitwise_not(kou_part2,kou_part2) #將kou_part2取反,就可以得到非橙色部分的一個圖像 img_kou2=cv2.bitwise_and(img_kou1,img_kou1,mask=kou_part2) #將圖像和非橙色部分圖像進行邏輯與運算,就可以摳出沒有橙色的圖像#顯示圖像 cv2.imshow('img',img)cv2.imshow('img_kou1',img_kou1) cv2.imshow('img_kou2',img_kou2)#保存圖像 cv2.imwrite("D:/img.jpg",img) cv2.imwrite("D:/img_kou1.jpg",img_kou1) cv2.imwrite("D:/img_kou2.jpg",img_kou2)cv2.waitKey(0) cv2.destroyAllWindows()首先是從網上隨便找來的一張動漫圖片,主要目的是把玖辛奈從圖片里面扣出來。
?一眼看過去,動漫人物背景應該有三種背景顏色:黃色、橙色、白色,所以第一個先扣除黃色,得到下面的圖像。
扣除了黃色之后,再扣除橙色,就可以得到下面的圖像。
?
?而上面就是最終的扣圖效果了,而為什么不扣除白色呢?因為動漫人物身上也有白色,如果把白色消去的話,那動漫人物的臉和衣服上的白色也會被消去,就達不到扣圖的效果了。
比如會出現這種情況
我已經扣除了白色部分了,但是好像還是沒有清理干凈,?另外一部分是什么顏色,我就不太清楚了。
最后是inRange的取值表。
?
總結
以上是生活随笔為你收集整理的扣图(图像色彩空间转换)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EaseNet(逸网互联)--IT网络自
- 下一篇: Windows SP 什么意思? Ser