【OpenCv 4 Python 3.7】色彩空间(颜色转换)

python中cv2提取图像rgb值_RGB图像中最主要的颜色-opencv/numpy/python 两种方法使用np.unique和np.bincount为了得到最主要的颜色可以建议。另外,在链接页面中,它还谈到bincount作为一个更快的选择,所以这可能是一条路。接近1def unique_count_app(a):colors, count = np.unique(a.reshape(-1,a.shape[-1]), axis=0, return_counts=True)return co... 阅读详情

色彩空间(一)(Color Space)

在这里插入图片描述
在这里插入图片描述

灰度色彩空间

单通道,取值范围[0,255]

RGB色彩空间(opencv中习惯用BGR)

计算机色彩显示器和彩色电视机显示色彩的原理一样,都是采用R、G、B相加混色的原理,通过发射出三种不同强度的电子束,使屏幕内侧覆盖的红、绿、蓝磷光材料发光而产生色彩。这种色彩的表示方法称为RGB色彩空间表示。
在RGB颜色空间中,任意色光F都可以用R、G、B三色不同分量的相加混合而成:
F=r[R]+r[G]+r[B] F=r[R]+r[G]+r[B]
F=r[R]+r[G]+r[B]

RGB色彩空间还可以用一个三维的立方体来描述。当三基色分量都为0(最弱)时混合为黑色光;当三基色都为k(最大,值由存储空间决定)时混合为白色光。

opencv中R,G,B三通道取值范围均为[0,255]。

HSV/HSL色彩空间

HSV是一种将RGB色彩空间中的点在倒圆锥体中的表示方法。HSV即色相(Hue)、饱和度(Saturation)、明度(Value),又称HSB(B即Brightness)。色相是色彩的基本属性,就是平常说的颜色的名称,如红色、黄色等。饱和度(S)是指色彩的纯度,越高色彩越纯,低则逐渐变灰,取0-100%的数值。明度(V),取0-max(计算机中HSV取值范围和存储的长度有关)。HSV颜色空间可以用一个圆锥空间模型来描述。圆锥的顶点处,V=0,H和S无定义,代表黑色。圆锥的顶面中心处V=max,S=0,H无定义,代表白色。

色彩空间转换

使用cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )函数。

src,dst,code,dcn:原图片,目标图片,转换格式,目标图片通道数。

代码实现:

import cv2 as cv
import numpy as np

def extrace_object_demo():#追踪有颜色的对象
    capture = cv.VideoCapture("E:/ji_qi_xue_xi/opencv_kejian/opencv_python_image/vadio.avi")
    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) #二值图像:色彩空间、rgb低值、rgb高值
        dst = cv.bitwise_and(frame, frame, mask=mask)
        cv.imshow("video", frame)
        cv.imshow("mask", dst)
        c = cv.waitKey(40)
        if c == 27:
            break


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)

print("--------- Hello Python ---------")
src = cv.imread("E:/ji_qi_xue_xi/opencv_kejian/opencv_python_image/aaa.jpg")
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)
extrace_object_demo()
color_space_demo(src)
"""
b, g, r = cv.split(src)  #通道分离
cv.imshow("blue", b)
cv.imshow("green", g)
cv.imshow("red", r)

src = cv.merge([b, g, r])  #通道合并
src[:, :, 0] = 0
cv.imshow("changed image", src)”””
cv.waitKey(0)
cv.destroyAllWindows()

色彩空间(二)(Color Space)

像素运算:
 算术运算
 逻辑运算

 加、减、乘、除
 应用它 – 调节亮度
 调整对比度

 与、或、非
 应用-遮罩层控制

代码实现:

import cv2 as cv
import numpy as np


def add_demo(m1, m2):
    dst = cv.add(m1, m2)#两个像素相加,超过255就会截断,剩余
    cv.imshow("add_demo", dst)


def subtract_demo(m1, m2):
    dst = cv.subtract(m1, m2)#负值会截断为0,成为黑色
    cv.imshow("subtract_demo", dst)


def divide_demo(m1, m2):
    dst = cv.divide(m1, m2)#除
    cv.imshow("divide_demo", dst)


def multiply_demo(m1, m2):
    dst = cv.multiply(m1, m2)#乘
    cv.imshow("multiply_demo", dst)


def logic_demo(m1, m2):#逻辑运算
    #dst = cv.bitwise_and(m1, m2) #与   后面图片的像素在前面
    #dst = cv.bitwise_or(m1, m2)  #或    前面图片的像素在前面
    image = cv.imread("D:/vcprojects/images/demo.png")#非:取反
    cv.imshow("image1", image)
    dst = cv.bitwise_not(image)
    cv.imshow("logic_demo", dst)


def contrast_brightness_demo(image, c, b): #c:对比度(把像素之间的差异扩大化)  b:亮度
    h, w, ch = image.shape
    blank = np.zeros([h, w, ch], image.dtype) #构建空白图像(和h, w, ch 形状像相同)
    dst = cv.addWeighted(image, c, blank, 1-c, b)
    cv.imshow("con-bri-demo", dst)


def others(m1, m2):
    #m1 = cv.mean(m1)    求图片像素均值
    M1, dev1 = cv.meanStdDev(m1) #返回均值和标准方差
    M2, dev2 = cv.meanStdDev(m2)
    h, w = m1.shape[:2] #获取宽 高

    print(M1)
    print(M2)

    print(dev1)
    print(dev2)

    img = np.zeros([h, w], np.uint8) #生成两个通道的矩阵
        m, dev = cv.meanStdDev(img)
    print(m)
    print(dev)

print("--------- Hello Python ---------")
src1 = cv.imread("D:/vcprojects/images/LinuxLogo.jpg")
src2 = cv.imread("D:/vcprojects/images/WindowsLogo.jpg")
print(src1.shape)
print(src2.shape)
cv.namedWindow("image1", cv.WINDOW_AUTOSIZE)
cv.imshow("image1", src1)
cv.imshow("image2", src2)
src = cv.imread("D:/vcprojects/images/lena.png")
cv.imshow("image2", src)
contrast_brightness_demo(src, 1.5, 0)
#add_demo(src1, src2)
#subtract_demo(src1, src2)
#divide_demo(src1, src2)
#others(src1, src2)
#logic_demo(src1, src2)
cv.waitKey(0)

cv.destroyAllWindows()
Python + OpenCV颜色空间(Color Space) Python + OpenCV颜色空间(Color Space) seuchenrui@126.com 众所周知,视频和图像领域中存在好几种颜色空间,比如RGB、HSV、YCbCr和灰色。本文将通过OpenCV来演示这些颜色空间之间的差别,以图像的形式直接展现出这些颜色空间之间的差别。代码如下 import cv2 image = cv2.imread('1.jpg') cv2. 阅读详情

相关推荐

Python-Opencv中的常用的两个色彩空间色彩空间(BGR和HSV)

Python-Opencv中常用的两个色彩空间(BGR和HSV)及处理 颜色通常用三个独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间。但被描述的颜色对象本身是客观的,不同颜色空间只是从不同的角度去衡量同一个对象。颜色空间按照基本机构可以分为两大类:基色颜色空间和色、亮分离颜色空间。前者典型的是RGB,后者包括HSV等等。 各个空间中不同参数的描述归根到底都是对颜色的...

qq_44262417的博客 3208

OpenCV—python 颜色空间(RGB,HSV,Lab)与 颜色直方图

一、数据准备 二、划分训练集-测试集 三、特征表示 对图片数值化 常用特征: 颜色直方图(Color Histograms) 方向梯度直方图(Histograms of Oriented Gredient,HOG) 局部二值模式(Local Binary Pattern,LBP) 四、分类算法 逻辑回归 ...

红叶谷 wsp_1138886114的博客 7万+

OpenCV-Python实战(6)——OpenCV中的色彩空间和色彩映射

为了更好的表示色彩,人们建立了多种色彩模型以一维、二维、三维等坐标系来描述不同色彩,这种坐标系所能定义的色彩范围即色彩空间;而色彩映射是将图像在一个色彩空间映射至另一色彩空间的操作,通常可以将灰度图像着色为等效的伪色彩图像。本文将介绍OpenCV中的色彩空间和色彩映射,并进行实战以应用。

盼小辉丶的博客 3万+

opencv python(四) ---- 颜色空间转换、获取特定颜色图像

opencv python(四) ---- 颜色空间转换、获取特定颜色图像RGB和HSVRGBHSV颜色空间转换三级目录 RGB和HSV RGB RGB是从颜色发光的原理来设计定的,通俗点说它的颜色混合方式就好像有红、绿、蓝三盏灯,当它们的光相互叠合的时候,色彩相混,而亮度却等于两者亮度之总和,越混合亮度越高,即加法混合。 红、绿、蓝三个颜色通道每种色各分为256阶亮度,在0时“灯”最弱——是关掉的,而在255时“灯”最亮。当三色灰度数值相同时,产生不同灰度值的灰色调,即三色灰度都为0时,是最暗的黑色调;三

qq_43046763的博客 1632

等离子体密度诊断集

在实验上不仅要对带电粒子的分布和运动状态进行诊断,如电子温度、电子密度、电离温度等参数,还需要对等离子体中的中性粒子进行必要的实验测量,来获得有关物种的产生、能量分布以及各个激发态布居数分布等信息,如气体温度、转动温度、振动温度、激发温度等参数。

in546的博客 1354

WindTerm 安装使用教程

WindTerm是一款Github上开源的 SSH 终端工具,它是完全可以比肩MobaXterm工具的。

m0_69576880的博客 4037

OpenCV中关于各种颜色的定义以及RGB值

OpenCV中关于各种颜色的定义以及RGB值 #define CV_COLOR_RED cv::Scalar(0,0,255) //纯红 #define CV_COLOR_GREEN cv::Scalar(0,255,0) //纯绿 #define CV_COLOR_BLUE cv::Scalar(255,0,0) //纯蓝 #define CV_COLOR_DARKGRAY cv::Scalar(169,169,169) //深灰色 #define CV_COLO...

IT新秀 2万+

wps js宏获取工作簿、工作表、单元格的值、链接转图片、单元格区域数据转二维数组、保存工作簿的常用Excel操作

wps js宏入门看这里,我写了常用的js操作Excel的方法:获取工作簿对象、获取工作表对象、获取单元格的值、链接转图片、生成条形码图片、单元格区域数据转二维数组方法、保存工作簿、弹出输入框、YesNo选择框,助你从VBA转战JS。

huaermeier的博客 3万+

基于OpenCV实现实时颜色检测

实时视频捕捉在视频帧中划定特定检测区域将检测区域转换为HSV色彩空间分析区域内的色调(H)值根据H值范围判断颜色类型实时显示结果本文介绍了一个基于OpenCV的实时颜色识别系统,通过HSV色彩空间转换和色调范围判断实现了基本颜色识别功能。该系统可以作为更复杂计算机视觉项目的基础,通过进一步优化和扩展,能够满足各种实际应用需求。希望这篇文章能帮助你理解颜色识别的基本原理和实现方法。如果你有任何问题或改进建议,欢迎在评论区讨论!

zdx2585503940的博客 3099

芒果YOLO11改进81:主干Backbone篇之DCNv3结构:即插即用|使用pytorch代码实现,并针对YOLO11专门优化模块

芒果YOLO11改进81:主干Backbone篇之DCNv3结构:即插即用|使用pytorch代码实现,并针对YOLO11专门优化模块

包括YOLOv5、YOLOv7、YOLOv8等模型改进 740

《SAP FICO系统配置从入门到精通共40篇》030、集成配置:FI与生产计划(PP)的自动科目确定

FI和PP的自动科目确定,本质上是把生产业务翻译成会计语言。翻译规则就藏在那些配置表里。配的时候多想一步:这个业务动作,在财务眼里是什么?是材料消耗?是产出入库?还是工费分摊?想清楚这个,再看配置界面,那些代码就不是天书了。最好的测试方式,是月底关账前,让生产部门跑一遍所有类型的生产订单。配置对不对,业务最知道。

985大学毕业,前某大厂员工,啥都会点的程序员! 575

在OpenCV + Python中使用色彩空间进行图像分割

在OpenCV + Python中使用色彩空间进行图像分割 什么是色彩空间? 在最常见的颜色空间RGB(红色绿色蓝色)中,颜色以红色,绿色和蓝色分量表示。用更专业的术语来说,RGB将颜色描述为三个组成部分的元组。每个分量可以取0到255之间的值,其中元组(0, 0, 0)代表黑色,(255, 255, 255)代表白色。 RGB被认为是三原色“加法”颜色空间,可以想象颜色是由大量红色,蓝色和绿色的...

陨星落云的博客 6954

大模型安全研究论文整理 2026年版

知乎博主小红书博主GitHub数据集参考: 大模型越狱指令 (harmful questions) 数据集整理会思考的大模型更不听话,我的豆包失控了…让QwQ思考模型-不思考的小技巧qwen3的致命幻觉!大模型微调所有大模型都在讨好人类不要思考过程,推理模型能力能够更强丨UC伯克利等最新研究o3/o4-mini幻觉暴增2-3倍!OpenAI官方承认暂无法解释原因UC伯克利:让推理模型少思考,准确率反而更高了!一句话让DeepSeek思考停不下来,北大团队:这是针对AI的DDoS攻击慢思考准确率反降30%!普

CSPhD-winston的博客 2046

python-opencv 色彩空间转换以及找到特定颜色

文章目录色彩空间转换找到特定颜色代码 色彩空间转换 # Color_conversion img2 = cv.cvtColor(img,cv.COLOR_BGR2HSV) img3 = cv.cvtColor(img,cv.COLOR_BGR2YUV) img4 = cv.cvtColor(img,cv.COLOR_BGR2GRAY) img5 = cv.cvtColor(img,cv.COLOR...

丶小祖宗的博客 3884

15张图详解三方支付:总架构、5大核心业务处理流程、备付金管理

用户可以将银行卡与零钱账户绑定,建立银行结算账户与支付账户的连接,然后将银行账户资金充值到零钱账户中,或将零钱账号中的余额提现至绑定的银行卡。因此,用户在A支付机构的零钱一般只能支付给A支付机构的商户,如支付宝的零钱不能支付给微信的商户。这五大业务的协同运作,使得第三方支付机构这一庞大的支付服务平台能够为市场提供卓越的支付能力。到了结算时间,网联会向备付金集中存管账户提交结算指令,在第三方支付机构备付金集中存管账户内完成最终的结算,并将结算结果及额度变动情况通知给第三方支付机构,具体流程如图13所示。

银行信息系统应用架构详解 1044

ROS机器人未知环境自主探索功能包explore_lite最全源码详细解析(一)

本系列文章主要针对ROS机器人常使用的未知环境自主探索功能包explore_lite展开全源码的详细解析,并进行概括总结。 本系列文章共包含六篇文章,前五篇文章主要介绍explore_lite功能包中 explore.cpp、costmap_tools.h、frontier_search.cpp、costmap_client.cpp等源码实现文件中全部函数的详细介绍,第六篇文章进行概括总结,包含自主探索功能包explore_lite的简介,实现未知环境自主探索功能的原理及流程总结,效果演示,使用功能包

慕羽★的博客 3937

opencv色彩空间类型转换(python)

opencv 色彩空间类型转换

wkk的博客 6662

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

opencv-python学习(五):色彩空间转换

一:调用转换函数实现图像色彩空间转换 代码如下: # 引入包 import cv2 as cv import numpy as np def color_space_demo(image): gray = cv.cvtColor(image, cv.COLOR_RGB2GRAY) #RGB 转换为 gray -- RGB转灰度图 cv.namedWindow("gray", cv.WINDOW_NORMAL) cv.imshow("gray", gray) hsv = cv

weixin_33538887的博客 1533

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Python3+OpenCV3+Pycharm编程:色彩空间转换与色彩通道提取

色彩空间 1. R(红色,0-255) G(绿色,0-255) B(蓝色,0-255) 2. H(色调,0-360) S(饱和度,0-255) V(明度,0-255) OpenCV H(0-180) 3. H(色调) S(饱和度) I(灰度级别,亮度) 4. Y(明亮度) Cr(色度) Cb(浓度) 5. Y U V 色彩空间转换 def color_space_d...

iloveluoluo一个小白程序员 1254

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

OpenCV图像寻找特定颜色像素点坐标,并用不同颜色描点填充,Python

OpenCV图像寻找特定颜色像素点坐标,并用不同颜色描点填充,Python 假设现在有一张九宫格图片: 需要把图中的1到9数组用金黄色颜色描点填充。 import cv2 import numpy as np if __name__=="__main__": img = cv2.imread("pic.jpg") hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # 色彩空间转换为hsv,分离. #色相(H)是色彩的基本属性,

Zhang Phil 1万+

python+opencv 获取图片中指定颜色的部分

获取图片中指定颜色的部分 将图片的色彩空间转为HSV色彩空间 通过比照HSV的参考表,进行获取要提取颜色的相应范围 使用inRange函数进行提取 使用imShow显示 import cv2 import numpy as np src = cv2.imread("D:\\myCode\\picture\\cards.png") cv2.namedWindow("input", cv2.WIN...

qq_40456669的博客 3万+

opencv-python 色彩空间

常见的色彩空间:RGB,HSV,HIS,YCrCb,YUV 代码层面的知识点: 1·色彩空间转换API 2·学会使用inRange 3·通道分离与合并 本小节前部分比较简单,直接上代码(第一点,色彩空间转换实现): import cv2 as cv def color_space(image): gray = cv.cvtColor(image,cv.COLOR_BGR2...

码海淹没的小强的博客 1869

【OpenCV-Python】9.OpenCV的色彩空间变换

9.OpenCV的色彩空间变换 文章目录前言一、色彩空间变换1、RGB色彩空间2、GRAY色彩空间3、YCrCb色彩空间4、HSV色彩空间总结 前言   色彩空间也称颜色模型、颜色空间、色彩模型等,它是图像在计算机内部的一种存储方式。常见的色彩空间包括RGB、GRAY、XYZ、YCrCb、HSV等。每种色彩空间都有其擅长的问题解决领域。所以在解决具体色彩问题时就需要进行特定的色彩类型空间转换。 一、色彩空间变换   OpenCV的cv2.Color()函数用于转换色彩空间类型。 转换代码

每天都在学习的小博主 2965

python-openCV学习笔记(3)-色彩空间类型转换

色彩空间类型转换是指,将图像从一个色彩空间转换到另外一个色彩空间。

weixin_43771930的博客 1643

Opencv:视频颜色识别与跟踪Python实现

Opencv:视频颜色识别与跟踪Python实现 一、内容 识别与跟踪视频中的特定颜色对象 这个是其实图像处理与二值分析的视频版本,通过读取视频每一帧的图像,然后对图像二值分析,得到指定的色块区域,主要步骤如下: 1. 色彩转换BGR2HSV 2. inRange提取颜色区域mask 3. 对mask区域进行二值分析得到位置与轮廓信息 4. 绘制外接椭圆与中心位置 5. 显示结果 其中涉及到的知识...

qq_39071739的博客 4796

【OpenCV学习】OpenCV的色彩空间

OpenCV的色彩空间 RGB BGR HSV / HSB HSL YUV OpenCV中的颜色转换方法

user_from_future的博客 1463
上一篇: 【OpenCv 4 Python 3.7】Numpy数组操作
下一篇: 【OpenCv 4 Python 3.7】ROI与泛洪填充
YL_python_C++_java
博客等级 码龄7年 1392粉丝 142原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值