色彩通道的分离合并

本文介绍如何利用Python的split()方法和OpenCV库来操作图像的色彩通道。通过将图像转换到HSV色彩空间,应用inrange()函数可以实现特定颜色(如绿色)的分离,创建二值图像以便于颜色追踪。
摘要由CSDN通过智能技术生成
import cv2 as cv
import numpy as np

def extrace_object_demo():
    capture=cv.VideoCapture("D:/image flie/2.mp4")
    while(True):
        ret,frame=capture.read()
        if ret==False:
            break;
        hsv=cv.cvtColor(frame,cv.COLOR_BGR2HSV)
        lower_hsv=np.array([37,43,46])
        upper_hsv=np.array([77,255,255])
        mask=cv.inRange(hsv,lowerb=lower_hsv,upperb=upper_hsv)
        cv.imshow("video",frame)
        cv.imshow("mask",mask)
        c=cv.waitKey(40)
        if c==27:
            break


src = cv.imread("D:/image flie/1.png")#读取图片
#cv.imshow("input image",src)#显示图片
b,g,r=cv.split(src)
cv.imshow("blue",b)
cv.imshow("green",g)
cv.imshow("red",r)
src[ :,: ,2]=0
src=cv.merge([b,g,r])#这个操作能使三个通道合并起来
cv.imshow("after",src)#显示图片
#extrace_object_demo()
cv.waitKey(0)#无限等待
cv.destroyAllWindows()

描述
Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串

语法
split() 方法语法:

str.split(str="", num=string.count(str)).

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print str.split( );       # 以空格为分隔符,包含 \n
print str.split(' ', 1 ); # 以空格为分隔符,分隔成两个

输出结果

['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
['Line1-abcdef', '\nLine2-abc \nLine4-abcd']

可以把视频 图像的各个色彩通道分离出来,
定义的extrace_object_demo()这个函数可以把图片转为hsv空间,然后用inrange()函数
将绿色分离出来,绿为白,其他的为黑,形成一个二值图像,方便对某一类颜色进行追
踪。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值