OpenCV半小时掌握基本操作之色彩空间

 更新时间:2021年09月01日 15:13:39   作者:我是小白呀  
这篇文章主要介绍了OpenCV基本操作之色彩空间,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

【OpenCV】⚠️高手勿入! 半小时学会基本操作⚠️色彩空间

概述

OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. (第 6 课)

在这里插入图片描述

色彩空间

色彩空间 (Color Space) 即以同的空间维度来表示某一色彩 (通常使用 3 个或者 4 个 值).

在这里插入图片描述

常见的色彩空间:

  • RGB
  • HSV
  • HIS
  • YCrCb
  • YUV

色彩空间转换

原图:

在这里插入图片描述

代码实现:

import numpy as np
import cv2


def color_space(image):
    """色彩空间转换"""
    hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
    hls = cv2.cvtColor(image, cv2.COLOR_BGR2HLS)
    ycrcb = cv2.cvtColor(image, cv2.COLOR_BGR2YCrCb)
    yuv = cv2.cvtColor(image, cv2.COLOR_BGR2YUV)

    h1 = np.hstack((hsv, hls))
    h2 = np.hstack((ycrcb, yuv))
    stack = np.vstack((h1, h2))

    return stack


# 读取图片
img = cv2.imread("beautiful_girl.jpg")

# 不同色彩空间
stack = color_space(img)

# 图片展示
cv2.imshow("stack", stack)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果:

在这里插入图片描述

视频阈值

import numpy as np
import cv2


def video_capture():
    """读取视频"""
    
    # 从摄像头获取视频
    capture = cv2.VideoCapture(0)
    
    # 循环
    while (True):

        # 读取一帧
        ret, frame = capture.read()

        # 如果读取帧, 返回值为False, break
        if ret == False:
            break

        # 设置颜色阈值
        lower = np.array([0, 0, 0])
        upper = np.array([100, 100, 255])
        mask = cv2.inRange(frame, lowerb=lower, upperb=upper)
        
        # 展示
        cv2.imshow("video", frame)
        cv2.imshow("mask", mask)

        # 按下q键退出
        if cv2.waitKey(20) & 0xFF == ord("q"):
            break


if __name__ == "__main__":
    video_capture()

输出结果:

在这里插入图片描述

到此这篇关于OpenCV半小时掌握基本操作之色彩空间的文章就介绍到这了,更多相关OpenCV色彩空间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解用 python-docx 创建浮动图片

    详解用 python-docx 创建浮动图片

    这篇文章主要介绍了详解用 python-docx 创建浮动图片,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Linux上使用Python统计每天的键盘输入次数

    Linux上使用Python统计每天的键盘输入次数

    这篇文章主要介绍了Linux上使用Python统计每天的键盘输入次数,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • Python实现将文本生成二维码的方法示例

    Python实现将文本生成二维码的方法示例

    这篇文章主要介绍了Python实现将文本生成二维码的方法,结合完整实例形式分析了Python生成二维码操作的具体步骤与相关实现技巧,需要的朋友可以参考下
    2017-07-07
  • Pytorch自己加载单通道图片用作数据集训练的实例

    Pytorch自己加载单通道图片用作数据集训练的实例

    今天小编就为大家分享一篇Pytorch自己加载单通道图片用作数据集训练的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python轻松搞定视频剪辑重复性工作问题

    Python轻松搞定视频剪辑重复性工作问题

    这篇文章主要介绍了Python轻松搞定视频剪辑重复性工作问题,大家做视频剪辑的时候,还在重复性工作吗?今天,小编来教大家如何利用Python帮你搞定这些重复性的剪辑工作,需要的朋友可以参考一下
    2021-12-12
  • python内置函数delattr()与dict()举例详解

    python内置函数delattr()与dict()举例详解

    这篇文章主要介绍了关于python内置函数delattr()与dict()的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 基于Python制作炸金花游戏的过程详解

    基于Python制作炸金花游戏的过程详解

    《诈金花》又叫三张牌,是在全国广泛流传的一种民间多人纸牌游戏。比如JJ比赛中的诈金花(赢三张),具有独特的比牌规则。本文江将通过Python语言实现这一游戏,需要的可以参考一下
    2022-02-02
  • Python进阶之自定义对象实现切片功能

    Python进阶之自定义对象实现切片功能

    这篇文章主要介绍了Python进阶之自定义对象实现切片功能,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Python Tkinter实现简易计算器功能

    Python Tkinter实现简易计算器功能

    这篇文章主要为大家详细介绍了Python Tkinter实现简易计算器功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • python实现字符串中字符分类及个数统计

    python实现字符串中字符分类及个数统计

    这篇文章主要介绍了python实现字符串中字符分类及个数统计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09

最新评论