Python-OpenCV图像处理-03-色彩空间

简介: Python-OpenCV图像处理-03-色彩空间
import cv2 as cv
import numpy as np

图像取反


def inverse(image):
    dst =cv.bitwise_not(image)
    cv.imshow("inverse image",dst)

比较运行时间:


t1 =cv.getTickCount()
inverse(src)
t2 =cv.getTickCount()
time =(t2-t1)/cv.getTickFrequency()*1000
print("time : %s ms"%time)

色彩空间:


色彩空间

三维的BGR色彩空间

image.png

比较常用的是HSV与RGB YUV与RGB色彩空间转换

image.png

色彩空间的转换:


def color_space_demo(image):
    gray = cv.cvtColor(image,cv.COLOR_BGR2GRAY)
    cv.imshow("gray",gray)
    hsv =cv.cvtColor(image,cv.COLOR_BGR2HSV)
    cv.imshow("hsv",hsv)
    yuv =cv.cvtColor(image,cv.COLOR_BGR2YUV)
    cv.imshow("yuv",yuv)
    Ycrcb =cv.cvtColor(image,cv.COLOR_BGR2YCrCb)
    cv.imshow("Ycrcb",Ycrcb)

image.png

对特定颜色的捕捉:


这里是打开一个视频对视频中的某种颜色进行捕捉颜色

使用inRange()函数

def extrace_object():
    capture =cv.VideoCapture("C:\\Users\\william\\Pictures\\shang.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

也适用图像:

lower_hsv =np.array([37,43,46])
upper_hsv=np.array([77,255,255])
mask1=cv.inRange(src,lowerb=lower_hsv,upperb=upper_hsv)
cv.imshow("mask1",mask1)

演示:

image.png

通道的分离:


src =cv.imread("C:\\Users\\william\\Pictures\\go.jpg")
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
cv.imshow("change0",src)

通道的合并:


src=cv.merge([b,g,r])
cv.imshow("change",src)


目录
相关文章
|
1天前
|
数据采集 Python SQL
2024年校花转学到我们班,于是我用Python把她空间给爬了个遍!(1),binder机制面试题
2024年校花转学到我们班,于是我用Python把她空间给爬了个遍!(1),binder机制面试题
2024年校花转学到我们班,于是我用Python把她空间给爬了个遍!(1),binder机制面试题
|
4天前
|
Python
空间管理大师已上线!(2),Python高级工程师进阶学习】
空间管理大师已上线!(2),Python高级工程师进阶学习】
|
6天前
|
算法 计算机视觉
【OpenCV】计算机视觉图像处理基础知识(下)
【OpenCV】计算机视觉图像处理基础知识(下)
|
6天前
|
人工智能 计算机视觉 Python
【OpenCV】计算机视觉图像处理基础知识(上)
【OpenCV】计算机视觉图像处理基础知识(上)
|
6天前
|
算法 安全 机器人
最新版opencv4.9安装介绍,基本图像处理详解
最新版opencv4.9安装介绍,基本图像处理详解
|
6天前
|
机器学习/深度学习 存储 监控
数据分享|Python卷积神经网络CNN身份识别图像处理在疫情防控下口罩识别、人脸识别
数据分享|Python卷积神经网络CNN身份识别图像处理在疫情防控下口罩识别、人脸识别
|
6天前
|
数据挖掘 计算机视觉 Python
SciPy图像处理技巧:图像增强与特征提取
【4月更文挑战第17天】本文介绍了如何使用SciPy进行图像增强和特征提取。通过调整亮度、对比度和伽马校正实现图像增强,示例代码展示了相关操作。同时,利用Sobel算子进行边缘检测和Laplacian of Gaussian (LoG) 进行角点检测,以提取图像特征。虽然SciPy不是专业的图像处理库,但其数值计算能力在图像分析中仍有一定价值,可与其他图像处理库结合使用。
|
6天前
|
数据可视化 Python
Seaborn中的色彩与风格:如何调整图表外观
【4月更文挑战第17天】Seaborn是Python的数据可视化库,专注于统计图表。它提供了多种色彩主题和样式设置,帮助用户创建美观的专业图表。可以通过`set_theme`或`set`函数应用预设色彩主题,如深色或明亮主题;也可以自定义色彩映射。样式设置涉及图表线条、背景、网格等,可使用`rc`模块或`set_theme`调整。此外,还能单独调整图例、坐标轴样式,并通过`savefig`保存或`show`展示图表。合理运用这些功能能提升图表的视觉传达效果。
|
6天前
|
机器学习/深度学习 存储 算法
OpenCV与NumPy:图像处理中的黄金组合
【4月更文挑战第17天】OpenCV和NumPy是Python图像处理的两大利器,互补协作形成黄金组合。OpenCV专注计算机视觉,提供丰富算法,而NumPy擅长数值计算和数组操作。两者无缝对接,共同实现高效、灵活的图像处理任务。通过灰度化、二值化、边缘检测等案例,展示了它们的协同作用。未来,这一组合将在计算机视觉和机器学习领域发挥更大作用,解锁更多图像处理潜力。
|
6天前
|
机器学习/深度学习 算法 Linux
使用OpenCV在Python中进行图像处理
使用OpenCV在Python中进行图像处理