HSV空间下 颜色分割实例 python

HSV空间的优点很多,可以百度,最大的优点就是光线变化的时候也能很好的区分颜色

以小丑鱼的分割为例  下面是原图 (百度图片上找的)。

HSV空间下 颜色分割实例 python

 

要把这条鱼从图中割出来,明显可以看到这条鱼是黄色+白色

下面先割黄色

先读出来,img=cv2.imread(image)

然后转到HSV空间 img=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)

再用cv2.inRange()函数生成掩膜 (mask),掩膜的意思,作用看 https://blog.****.net/bitcarmanlee/article/details/79132017 

inRange()函数百度

各颜色在HSV空间对应的值看https://blog.****.net/taily_duan/article/details/51506776

再用result=cv2.bitwise_and(img,img,mask=mask) 生成结果

下面是结果

HSV空间下 颜色分割实例 python

同样的办法可以割到白色,得到白色的结果

HSV空间下 颜色分割实例 python

那怎么得到一条完整的鱼呢?那就在上面两步获得mask 过程中,将得到的mask 相加,再用cv2.bitwise_and()方法得到完整的鱼

HSV空间下 颜色分割实例 python

结果不算完美,可以加一些预处理的办法,再HSV颜色上更精准点,肯定能得到一条更好更完整的鱼