OpenCv色彩空间

目录

一、RGB

二、图像处理入门

三、色彩空间的转换


一、RGB

在表示图像时,有多种不同的颜色模型,但最常见的是红、绿、蓝(RGB) 模型RGB 模型是一种加法颜色模型,其中原色 (在RGB模型中,原色是红色 R、绿色 G 和蓝色 B)混合在一起就可以用来表示广泛的颜色范围。

每个原色(R,G,B)通常表示一个通道,其取值范围为0,255]内的整数值。因此,每个通道有共256个可能的离散值,其对应于用于表示颜色通道值的总比特数(28=256)。此外,由于有三个不同的通道,使用 RGB 模型表示的图像称为24位色深图像:

最常见的色彩空间就是RGB,人眼也是基于RGB的色彩空间去分辨颜色的.

OpenCv默认使用的是BGR.BGR与RGB色彩空间的区别在于图片在色彩通道上的排列顺序不同。

二、图像处理入门

首先我们第一个刻在脑子里的概念就是:

图片是由像素点构成!!!

以上图像可以完美的展示出图片的构成.

而在图像中一般分为三类:

1.二值图像:

二值图像表示的意思就是每一个像素点只由0和1构成,0表示黑色,1表示白色,而且这里的黑色和白色是纯黑和纯白。我们以官网为例。

2.灰度图像

灰度图像就是一个8位的位图。什么意思呢?就是说00000001一直到11111111,这就是二进制表示。如果表示成我们常用的十进制就是0-255。其中0就表示纯黑色,255就表示纯白色,中间就是处于纯黑色到纯白色的相关颜色。我们依旧以丽娜为例。

3.彩色图像

计算机中所有的颜色都可以由R(红色通道)、G(绿色通道)、B(蓝色通道)来组成,其中每一个通道都有0-255个像素颜色组成。比如说R=234,G=252,B=4就表示黄色。显示出来的也是黄色。所以说彩色图像由三个面构成,分别对应R,G,B。我们还是以丽娜为例子。

三、色彩空间的转换

代码如下:

python 复制代码
import cv2

def callback(value):
    pass


# 创建窗口
cv2.namedWindow('color',cv2.WINDOW_NORMAL)
cv2.resizeWindow('color',640,480)

# 读取图片,OpenCv默认读进来的图片为BGR的色彩空间
img = cv2.imread('6.jpg')

# 常见的颜色空间转换
colorspaces = [cv2.COLOR_BGR2RGBA,cv2.COLOR_BGR2BGRA,
               cv2.COLOR_BGR2GRAY,cv2.COLOR_BGR2HSV,
               cv2.COLOR_BGR2YUV]
# 创建trackbar
cv2.createTrackbar('trackbar','color',0,4,callback)

while True:
    index = cv2.getTrackbarPos('trackbar','color')

    # 颜色空间的转换API
    cvt_img = cv2.cvtColor(img,colorspaces[index])

    cv2.imshow('color',cvt_img)
    key = cv2.waitKey(10)
    if key == ord('q'):
        break

# 释放资源
cv2.destroyAllWindows()

运行结果如下:

相关推荐
jndingxin8 分钟前
OpenCV CUDA 模块中用于在 GPU 上计算两个数组对应元素差值的绝对值函数absdiff(
人工智能·opencv·计算机视觉
jerry6098 分钟前
LLM笔记(五)概率论
人工智能·笔记·学习·概率论
硅谷秋水9 分钟前
学习以任务为中心的潜动作,随地采取行动
人工智能·深度学习·计算机视觉·语言模型·机器人
Tiny番茄38 分钟前
Multimodal models —— CLIP,LLava,QWen
人工智能
Wnq100721 小时前
工业场景轮式巡检机器人纯视觉识别导航的优势剖析与前景展望
人工智能·算法·计算机视觉·激光雷达·视觉导航·人形机器人·巡检机器人
无心水2 小时前
【程序员AI入门:模型】19.开源模型工程化全攻略:从选型部署到高效集成,LangChain与One-API双剑合璧
人工智能·langchain·开源·ai入门·程序员ai开发入门·程序员的 ai 开发第一课·程序员ai入门
有梦想的攻城狮2 小时前
大语言模型与多模态模型比较
人工智能·语言模型·自然语言处理·llm·大语言模型
九章云极AladdinEdu3 小时前
GPU与NPU异构计算任务划分算法研究:基于强化学习的Transformer负载均衡实践
java·开发语言·人工智能·深度学习·测试工具·负载均衡·transformer
量子-Alex3 小时前
【目标检测】RT-DETR
人工智能·目标检测·计算机视觉
2201_754918413 小时前
OpenCV 图像透视变换详解
人工智能·opencv·计算机视觉