前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Color model 色彩模型

Color model 色彩模型

原创
作者头像
vanguard
修改于 2020-03-10 02:59:01
修改于 2020-03-10 02:59:01
1.5K00
代码可运行
举报
文章被收录于专栏:vanguardvanguard
运行总次数:0
代码可运行

A color model is a system for creating a full range of colours from a small set of primary colors. There are two types of colour models: additive and subtractive. Additive color modelsuse light to display color, while subtractive color models use printing inks.

颜色模型指的是某个三维颜色空间中的一个可见光子集,它包含某个色彩域的所有色彩。一般而言,任何一个色彩域都只是可见光的子集,任何一个颜色模型都无法包含所有的可见光。常见的颜色模型有RGB CIECMY/CMYK、(HSK NTSC、YcbCr、HSV 等。

BGR/RGB <-> HLS/HSV <-> GRAY <-> BINARY

BGR (blue, green, red) and RGB (red, green, blue) w*h*3*[0-255]

HSL (hue, saturation, lightness) and HSV (hue, saturation, value) w*h*3

Gray = w*h*[0-255] Binary = w*h*[0/1]

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
# RGB/BGR <-> HSL/HSV/GRAY
cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.cvtColor(image, cv2.COLOR_BGR2HSL)
# white color mask
lower = np.uint8([123, 116, 116])
upper = np.uint8([186, 172, 160])
white_mask = cv2.inRange(image, lower, upper)
# yellow color mask
lower = np.uint8([134, 121, 100])
upper = np.uint8([206, 155, 87])
yellow_mask = cv2.inRange(image, lower, upper)

# Gray -> Binary
cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY) # min 127, max 255
cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY_INV)
cv2.threshold(gray, 127, 255, cv2.THRESH_TRUNC)
cv2.threshold(gray, 127, 255, cv2.THRESH_TOZERO)
cv2.threshold(gray, 127, 255, cv2.THRESH_TOZERO_INV)

# Binary -> Gray -> BGR
np.array(binary*255).astype(np.uint8)
cv2.cvtColor(gray, cv2.COLOR_GRAY2BGR)

# HSV/HSL color filter
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# white color mask
lower = np.uint8([0, 0, 0])
upper = np.uint8([0, 0, 255])
white_mask = cv2.inRange(hsv, lower, upper)
# yellow color mask
lower = np.uint8([ 10,   0, 100])
upper = np.uint8([ 40, 255, 255])
yellow_mask = cv2.inRange(hsv, lower, upper)
# combine the mask
mask = cv2.bitwise_or(white_mask, yellow_mask)

# combine the mask
mask = cv2.bitwise_or(white_mask, yellow_mask)
target = cv2.bitwise_and(img,img, mask=mask)

# ch_binary = np.zeros_like(img[:,:,int(ch-1)])
# ch_binary[(img[:,:,int(ch-1)]>=ch_thresh[0])&(img[:,:,int(ch-1)]<=ch_thresh[1])] = 1

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
05: 颜色空间转换
学习如何进行图片的颜色空间转换,视频中追踪特定颜色的物体。图片等可到文末引用处下载。
CodecWang
2021/12/07
7760
05: 颜色空间转换
基于 opencv 的图像处理入门教程
虽然计算机视觉领域目前基本是以深度学习算法为主,但实际上很多时候对图片的很多处理方法,并不需要采用深度学习的网络模型,采用目前成熟的图像处理库即可实现,比如 OpenCV 和 PIL ,对图片进行简单的调整大小、裁剪、旋转,或者是对图片的模糊操作。
kbsc13
2020/07/16
2.4K0
基于 opencv 的图像处理入门教程
Halcon缺陷检测实例转OpenCV实现(四)
Halcon中对应的例子为check_blister.hdev,用于检测药片包装中是否有错的药片或漏装的药片,检测效果如下:
Color Space
2020/12/22
1.2K0
Halcon缺陷检测实例转OpenCV实现(四)
实战 | 基于OpenCV实现魔方颜色识别与色块排序
为了做自动魔方识别与复原项目,需要用图像处理的方法识别魔方每个色块的位置与颜色。相机拍摄的魔方单面图像如下:
Color Space
2024/06/17
7200
实战 | 基于OpenCV实现魔方颜色识别与色块排序
讲解python 图像数据类型及颜色空间转换
在计算机视觉和图像处理领域,图像数据类型和颜色空间转换是非常重要的概念。Python 提供了强大的库和工具,用于读取、操作和转换图像数据。本文将深入探讨Python中的图像数据类型,以及如何进行常见的颜色空间转换。
大盘鸡拌面
2023/12/20
5070
【OpenCV】Chapter9.边缘检测与图像分割
边缘检测的原理和matlab实现在我之前这两篇博文中提到过,这里不再赘述。 【计算机视觉】基础图像知识点整理【计算机视觉】数字图像处理基础知识题 此次来看OpenCV的实现方式。
zstar
2022/09/28
1.5K0
【OpenCV】Chapter9.边缘检测与图像分割
Python中使用opencv-python库进行颜色检测
之前写过一篇VC++中使用OpenCV进行颜色检测的博文,当然使用opencv-python库也可以实现。 在Python中使用opencv-python库进行颜色检测非常简单,首选读取一张彩色图像,并调用函数imgHSV = cv2.cvtColor(img,cv2.COLOR_BGR2HSV);函数将原图img转换成HSV图像imgHSV,再设置好HSV三个分量的上限和下限值,调用inRange函数imask = cv2.inRange(imgHSV,lower,upper)将HSV色彩图像转换成掩码图,掩码图中只有黑白二值图像,从而达到颜色检测的目的。颜色检测通常可以用于物体检测和跟踪中,尤其在不同的图像和物体中根据特定的颜色去筛选出某个物体。
ccf19881030
2024/05/24
5620
Python中使用opencv-python库进行颜色检测
讲解opencv检测黑色区域
在计算机视觉和图像处理领域,OpenCV是一个强大而广泛使用的开源库,提供了丰富的图像处理和计算机视觉算法。本文将介绍如何使用OpenCV来检测并定位图像中的黑色区域。
大盘鸡拌面
2023/12/23
7880
Python 数据科学入门教程:OpenCV
欢迎阅读系列教程,内容涵盖 OpenCV,它是一个图像和视频处理库,包含 C ++,C,Python 和 Java 的绑定。 OpenCV 用于各种图像和视频分析,如面部识别和检测,车牌阅读,照片编辑,高级机器人视觉,光学字符识别等等。
ApacheCN_飞龙
2022/12/01
1.4K0
Python 数据科学入门教程:OpenCV
数据科学和人工智能技术笔记 四、图像预处理
Harris 角点检测器是检测两个边缘角点的常用方法。 它寻找窗口(也称为邻域或补丁),其中窗口的小移动(想象摇动窗口)使窗口内的像素内容产生大的变化。
ApacheCN_飞龙
2022/12/02
6320
OpenCV 的颜色空间转换
1 # coding: utf-8 2 3 ''' 4 第13章主要介绍:颜色空间转换 5 ''' 6 7 import cv2 8 import numpy as np 9 10 ''' 11 经常用到的颜色空间转换是: BGR<->Gray 和 BGR<->HSV 12 cv2.cvtColor(input_image , flag),flag是转换类型:cv2.COLOR_BGR2GRAY,cv2.COLOR_BGR2HSV 13 HSV(Hue , Saturation
py3study
2020/01/19
1.2K0
OpenCV基础 | 4.色彩空间的转换
作者:小郭学数据 源自:快学python 学习视频可参见python+opencv3.3视频教学 基础入门[1] 今天写的是色彩空间的转换 1.常见色彩空间及色彩空间转换 RGB 红色:Red,绿色:Green,蓝色:Blue HSV 色相:Hue(0-180),饱和度:Saturation(0-255),明度;Value(0-255) 常用于颜色检测 HSL/HLS 色相:Hue、饱和度:Saturation、亮度:Lightness/Luminance 色相H:用角度度量,取值范围为0°~360°,从
快学Python
2021/08/09
5820
使用 Python 通过基于颜色的图像分割进行物体检测
如果你已经安装了jupyter notebook或者一个IDE,你可以运行python然后下载OpenCV,只需要跳到执行即可。
AI研习社
2019/05/08
3K0
使用 Python 通过基于颜色的图像分割进行物体检测
OpenCV 的颜色空间转换
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/119589.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/09
5840
OpenCV学习:物体跟踪
HSV是一种将RGB色彩模型中的点在圆柱坐标系中的表示法。这种表示法试图做到比RGB基于笛卡尔坐标系的几何结构更加直观。HSV即色相、饱和度、明度(英语:Hue, Saturation, Value),又称HSB,其中B即英语:Brightness。[1]
烤粽子
2021/07/07
9050
OpenCV学习:物体跟踪
【深度学习】实例第二部分:OpenCV
执行以下命令安装opencv-python库(核心库)和opencv-contrib-python库(贡献库)。注意:命令拷贝后要合成一行执行,中间不要换行。
杨丝儿
2022/02/28
1.8K0
【深度学习】实例第二部分:OpenCV
手把手教你用OpenCV做人脸口罩佩戴检测(附详细步骤+代码)
本期将介绍使用OpenCV实现人脸口罩佩戴检测的详细步骤,手把手教你做一个效果还可以的口罩佩戴检测系统。
Color Space
2021/04/30
12.4K44
使用颜色空间进行图像分割
原文地址:https://realpython.com/python-opencv-color-spaces/
努力努力再努力F
2018/10/08
6.2K0
使用颜色空间进行图像分割
体感游戏 | 手势识别玩飞机大战游戏(二) Python+OpenCV实现简易手势识别功能
今天是第二部分:Python+OpenCV实现简易手势识别功能。简易的手势识别,所以功能也很简单,识别手势1~5就行,当然我们控制飞机时只需要用到最多3个手势:发射子弹、向左移动和向右移动。所以1~5够用了,当然你也可以用手势的移动方向来控制飞机的移动方向,只需要计算手势轮廓的重心位置变化即可。
Color Space
2021/01/08
2.5K0
OpenCV这么简单为啥不学——1.11、蓝背景证件照替换白色或红色
计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种:
红目香薰
2023/02/10
1.1K0
OpenCV这么简单为啥不学——1.11、蓝背景证件照替换白色或红色
相关推荐
05: 颜色空间转换
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验