Python 视频的色彩转换

这篇教学会介绍使用OpenCV 的cvtcolor() 方法,将视频的色彩模型从RGB 转换为灰阶、HLS、HSV...等。

因为程式中的OpenCV 会需要使用镜头或GPU,所以请使用本机环境( 参考:使用Python 虚拟环境) 或使用Anaconda Jupyter 进行实作( 参考:使用Anaconda ) ,并安装OpenCV 函式库( 参考:OpenCV函式库)。

色彩模型是什么?

色彩模型( Color model ) 是一种以数字来表示色彩的数学模型,例如在RGB 的色彩模型里,以(255,0,0) 表示红色,但在HSV 的色彩模型中,红色则是以(0,100,100 ) 来表示,用的色彩模型有:

RGB (红、绿、蓝)

RGB 颜色模型也称做三原色光模型,是一种「加色」模型,将红( Red )、绿( Green )、蓝( Blue ) 三原色的色光以不同的比例相加,混合产生各种色彩的光线通常表现方式会使用(255,255,255) 或十六进位FFFFFF 来表现

RGBA (红、绿、蓝、alpha )

RGBA 颜色模型由RGB 色彩模型和Alpha 通道组成。RGBA 代表红( Red )、绿( Green )、蓝( Blue ) 和Alpha 通道,alpha 通道为影像的不透明度参数,数值可以用百分比、整数或者使用0 到1 的实数表示。例如,若一个像素的Alpha 通道数值为0% 表示完全透明的,无法被看见,如果数值为100% 则是完全不透明

HSV (色相、饱和度、明度)、HSL (色相、饱和度、亮度)

HSL 和HSV 颜色模型都是一种将RGB 色彩模型中的点,转变在圆柱坐标系中的表示法。 HSL 是色相、饱和度、亮度( Hue、Saturation、Lightness ),HSV 是色相、饱和度、明度( Hue、Saturation、Value ),又称HSB ( Brightness )。

HSL 和HSV 模型都把颜色描述在圆柱坐标系内的点,这个圆柱的中心轴取值为自底部的黑色到顶部的白色而在它们中间的是灰色,绕这个轴的角度对应于「色相」 ,到这个轴的距离对应于「饱和度」,而沿着这个轴的高度对应于「亮度」、「色调」或「明度」

GRAY (灰阶)

灰阶是每个像素只有最暗黑色到最亮的白色的灰阶,灰阶影像在黑色与白色之间还有许多级的颜色深度,用于显示的灰阶影像,通常用每个采样像素8bits 的非线性尺度,内容可以包含256 种灰阶( 8bits 表示2 的8 次方= 256 )。

cvtcolor() 色彩转换

使用OpenCV 的cvtcolor() 方法,可以将转换影像色彩,使用方法如下:

cv2.cvtColor(img, code)
# img 来源视频
# code 要转换的色彩空间名称

下方的程式码执行后,会将来源的彩色图片,转换成灰阶视频。

import cv2
img = cv2.imread('meme.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  # 转换成灰阶视频
cv2.imwrite('oxxo', img)
cv2.waitKey(0)                               # 按下任意键停止
cv2.destroyAllWindows()

下方的程式码执行后,会将来源的彩色影片,转换成灰阶视频。

import cv2
cap = cv2.VideoCapture(0)
if not cap.isOpened():print("Cannot open camera")exit()
while True:ret, frame = cap.read()if not ret:print("Cannot receive frame")breakgray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)  # 转换成灰阶视频cv2.imshow('oxxostudio', gray)if cv2.waitKey(1) == ord('q'):break      # 按下 q 键停止
cap.release()
cv2.destroyAllWindows()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3226607.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构】--- 堆

​ 个人主页:星纭-CSDN博客 系列文章专栏 :数据结构 踏上取经路,比抵达灵山更重要!一起努力一起进步! 目录 一.堆的介绍 二.堆的实现 1.向下调整算法 2.堆的创建 3.堆的实现 4.堆的初始化和销毁 5.堆的插入 5.1扩容…

Bad substitution 奇怪的问题

记得之前写过一篇文章是关于shell 脚本的,这里,当时的系统是 CentOS 的,最近公司把所有的服务器系统都更换为 Ubuntu 了, 结果以前写的那个脚本无法执行了,错误就是 Bad substitution,网上搜索基本都是 {}…

[C++初阶]list类的初步理解

一、标准库的list类 list的底层是一个带哨兵位的双向循环链表结构 对比forward_list的单链表结构,list的迭代器是一个双向迭代器 与vector等顺序结构的容器相比,list在任意位置进行插入删除的效率更好,但是不支持任意位置的随机访问 list是一…

【EIScopus稳检索-高录用】第五届大数据与社会科学国际学术会议(ICBDSS 2024)

大会官网:www.icbdss.org 大会时间:2024年8月16-18日 大会地点:中国-上海 接受/拒稿通知:投稿后1-2周内 收录检索:EI,Scopus *所有参会者现场均可获取参会证明,会议通知(邀请函)&…

二维码生成需知:名片二维码尺寸多少合适?电子名片二维码制作方法?

随着数字化时代的到来,二维码在各个领域的应用越来越广泛,名片作为商业交流的重要工具之一,也开始逐渐融入二维码的元素。通过在名片上添加二维码,我们可以轻松实现信息的快速传递和分享。然而,名片二维码的尺寸选择成…

【割点 C++BFS】2556. 二进制矩阵中翻转最多一次使路径不连通

本文涉及知识点 割点 图论知识汇总 CBFS算法 LeetCode2556. 二进制矩阵中翻转最多一次使路径不连通 给你一个下标从 0 开始的 m x n 二进制 矩阵 grid 。你可以从一个格子 (row, col) 移动到格子 (row 1, col) 或者 (row, col 1) ,前提是前往的格子值为 1 。如…

国产口碑最好的骨传导耳机有哪些?优选五大高口碑机型推荐!

作为一名有着多年工作经验的数码测评师,可以说对骨传导耳机或者蓝牙耳机等数码产品有着深入的了解,近期,有很多粉丝,或者身边的朋友经常向我咨询关于骨传导耳机的问题。确实如此,优质的骨传导耳机能在保护听力、保持环…

HKT DICT解决方案,为您量身打造全方位的一站式信息管理服务

随着大数据时代的到来,企业对现代化管理、数据整合与呈现的解决方案需求不断增长。为满足更多企业客户的多元化信息管理发展需求,香港电讯(HKT)强势推出全面、高效、安全、可靠的一站式DICT(Digital Information and C…

【Python系列】深入解析 Python 中的 JSON 处理工具

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

IDEA常用技巧荟萃:精通开发利器的艺术

1 概述 在现代软件开发的快节奏环境中,掌握一款高效且功能全面的集成开发环境(IDE)是提升个人和团队生产力的关键。IntelliJ IDEA,作为Java开发者的首选工具之一,不仅提供了丰富的编码辅助功能,还拥有高度…

【NLP学习笔记】transformers中的tokenizer切词时是否返回token_type_ids

结论 先说结论: 是否返回token_type_ids,可以在切词时通过 return_token_type_idsTrue/False指定,指定了True就肯定会返回,指定False,不一定就不返回。 分析 Doc地址 https://huggingface.co/docs/transformers/main…

【电脑应用技巧】如何寻找电脑应用的安装包华为电脑、平板和手机资源交换共享

电脑的初学者可能会直接用【百度】搜索电脑应用程序的安装包,但是这样找到的电脑应用程序安装包经常会被加入木马或者强制捆绑一些不需要的应用装入电脑。 今天告诉大家一个得到干净电脑应用程序安装包的方法,就是用【联想的应用商店】。联想电脑我是一点…

看到指针就头疼?这篇文章让你对指针有更全面的了解!

文章目录 1.什么是指针2.指针和指针类型2.1 指针-整数2.2 指针的解引用 3.野指针3.1为什么会有野指针3.2 如何规避野指针 4.指针运算4.1 指针-整数4.2 指针减指针4.3 指针的关系运算 5.指针与数组6.二级指针7.指针数组 1.什么是指针 指针的两个要点 1.指针是内存中的一个最小单…

智能雷达AI小程序源码系统 销售名片+企业商城+公司动态 带完整的安装代码包以及搭建教程

系统概述 智能雷达AI小程序源码系统是基于先进的AI技术和小程序框架开发的全能型企业级应用。它不仅整合了个人销售名片的便捷分享,还融入了功能丰富的企业商城和实时更新的公司动态展示,实现了从品牌形象塑造到产品销售,再到客户关系维护的…

TransIT-VirusGEN® Transfection Reagent

Mirus转染试剂TransIT-VirusGEN Transfection Reagent,该产品旨在增强载体转染到 贴壁或悬浮的HEK 293细胞的转染效率,并增加重组腺相关病毒或慢病毒的产量。 使用TransIT-VirusGEN转染试剂转染悬浮或贴壁HEK293细胞可获得最高的转染效率。使用不同的转…

【Flask从入门到精通:第一课:flask的基本介绍、flask快速搭建项目并运行】

从0开始入手到上手一个新的框架,应该怎么展开?flask这种轻量级的框架与django这种的重量级框架的区别?针对web开发过程中,常见的数据库ORM的操作。跟着学习flask的过程中,自己去学习和了解一个新的框架(San…

常见的过压保护芯片、过压保护的基本参数和选型

过压保护也叫过电压保护,是当电压超过预定的最大值时,使电源断开或使受控设备电压降低的一种保护方式。 过压保护芯片是为了防止输入电压的时候浪涌和波纹过大,导致烧坏后面的元器件芯片。因此过压保护芯片是很有必要的芯片。 常见的过压保护…

经验分享:征信查询多了会不会影响大数据综合评分?

很多人在申请贷款的时候,会有一个疑问,就是自己的征信没逾期,就是查询偏多一点,但能达到申贷要求,为什么还会被拒贷?其实就是大数据花了的原因,那征信查询多了会不会影响大数据综合评分呢?接下来本文就为…

AI自动生成PPT哪个软件好?揭秘5款自动生成PPT的工具

在职场的竞技场上,演示文稿如同战士的利剑,其锋芒直接影响着演讲者的说服力。 然而,制作一份高质量的PPT往往需要耗费大量时间与精力。随着科技的进步,AI自动生成PPT成为了提升效率的新选择。面对市场上琳琅满目的软件&#xff0…

如何给ubuntu虚拟机扩容

虚拟机设置 鼠标点击硬盘,弹出对话框后,点击扩展,输入扩展后的硬盘大小,我这里扩展到100G 安装工具 sudo apt-get install gparted 重新分区