cv2.cvtColor的示例用法

news2024/12/28 19:22:34

-------------OpenCV教程集合-------------

Python教程99:一起来初识OpenCV(一个跨平台的计算机视觉库)

OpenCV教程01:图像的操作(读取+显示+保存+属性+获取和修改像素值)

OpenCV教程02:图像处理系统1.0(翻转+形态学+滤波+缩放+旋转)
OpenCV教程03:绘制图形(线段、矩形、圆形、椭圆、多边形、箭头线)+水印文本

cv2.cvtColor 是 OpenCV 库中用于转换图像颜色空间的一个非常有用的函数。它可以将图像从一个颜色空间转换到另一个颜色空间,比如从 BGR 转换到灰度、HSV、YCrCb 等。在 OpenCV 中,默认加载的图像颜色空间是 BGR(蓝绿红),而不是通常的 RGB(红绿蓝)。因此,在处理图像时,经常需要转换颜色空间。以下是一些基本的使用示例:

示例 1:将图像从 BGR(蓝绿红)颜色空间转换为灰度图像是最常见的用法之一。灰度图像是单通道的,每个像素的亮度值由原始图像的 BGR 值根据一定的权重计算得出。
在这里插入图片描述

import cv2

# 读取图像
image = cv2.imread('example.png')

# 使用cv2.COLOR_BGR2GRAY将图像转换为灰度图
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 显示原图和灰度图
cv2.imshow('Original Image', image)
cv2.imshow('Gray Image', gray_image)

# 等待按键后关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()

2.BGR 到 RGB 的转换
由于 OpenCV 默认使用 BGR 格式加载图像,而在许多其他图像处理库(如 PIL 或 matplotlib)中,图像是以 RGB 格式处理的。因此,有时需要将 BGR 图像转换为 RGB 图像。

rgb_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

注意,这个转换在大多数情况下可能不是必需的,因为许多图像处理任务(如特征检测、边缘检测等)在 BGR 或 RGB 空间中都能很好地工作。但是,当你需要将图像与其他库或框架一起使用时,这个转换就变得非常重要了。

示例 3:从BGR转换到HSV,常用于颜色分割和阈值处理。HSV(色调、饱和度、亮度)是一种更直观的颜色空间,它对于某些图像处理任务(如颜色分割、颜色追踪等)来说非常有用。将图像从 BGR 转换到 HSV 可以让你更容易地根据色调、饱和度和亮度来分析和处理图像。在这里插入图片描述

import cv2

# 读取图像
image = cv2.imread('input.jpg')

# 转换到HSV颜色空间
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
cv2.imshow('hsv_image', hsv_image)
# 显示HSV图像(注意,显示时可能需要调整通道顺序)
hsv_split = cv2.split(hsv_image)
cv2.imshow('Hue Channel', hsv_split[0])
cv2.imshow('Saturation Channel', hsv_split[1])
cv2.imshow('Value Channel', hsv_split[2])

cv2.waitKey(0)
cv2.destroyAllWindows()

示例4:从BGR转换到YCrCb
YCrCb颜色空间常用于肤色检测等应用。
在这里插入图片描述

import cv2

# 读取图像
image = cv2.imread('example.png')

# 转换到YCrCb颜色空间
ycrcb_image = cv2.cvtColor(image, cv2.COLOR_BGR2YCrCb)

# 显示YCrCb图像
cv2.imshow('YCrCb Image', ycrcb_image)

cv2.waitKey(0)
cv2.destroyAllWindows()

完毕!!感谢您的收看

----------★★历史博文集合★★----------

我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame

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

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

相关文章

德国威步的技术演进之路(下):从云端许可管理到硬件加密狗的创新

从单机用户许可证到WkNET网络浮点授权的推出,再到引入使用次数和丰富的时间许可证管理,德国威步产品不断满足市场对灵活性和可扩展性的需求。TCP/IP浮动网络许可证进一步展示了威步技术在网络时代的创新应用。借助于2009年推出的借用许可证以及2015年推出…

CV- 人工智能-深度学习基础知识

一, 深度学习基础知识 1,什么是深度学习?机器学习是实现人工智能的一种途径,深度学习是机器学习的一个子集,也就是说深度学习是实现机器学习的一种方法。2, 传统机器学习算术依赖人工设计特征,并进行特征提取,而深度学习方法不需要人工,而是依赖算法自动提取特征。深度…

llm学习-4(llm和langchain)

langchain说明文档:langchain 0.2.6 — 🦜🔗 langChain 0.2.6https://api.python.langchain.com/en/latest/langchain_api_reference.html#module-langchain.chat_models 1:模型 (1)自定义模型导入&#x…

代码随想录-Day46

121. 买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从…

pmp顺利通关总结

目录 一、背景二、总结三、过程 一、背景 人活着总是想去做一些事情,通过这些事情来证明自己还活着。 而我证明自己还会活着并且活得很好的方式和途径,是通过这些东西去让自己有一个明确的边界节点;借此知识来验证自己的学习能力。 我坚定认…

掌握Go语言邮件发送:net/smtp实用教程与最佳实践

掌握Go语言邮件发送:net/smtp实用教程与最佳实践 概述基本配置与初始化导入net/smtp包设置SMTP服务器基本信息创建SMTP客户端实例身份验证 发送简单文本邮件配置发件人信息构建邮件头部信息编写邮件正文使用SendMail方法发送邮件示例代码 发送带附件的邮件邮件多部分…

硅纪元视角 | 1 分钟搞定 3D 创作,Meta 推出革命性 3D Gen AI 模型

在数字化浪潮的推动下,人工智能(AI)正成为塑造未来的关键力量。硅纪元视角栏目紧跟AI科技的最新发展,捕捉行业动态;提供深入的新闻解读,助您洞悉技术背后的逻辑;汇聚行业专家的见解,…

服务器之BIOS基础知识总结

1.BIOS是什么? BIOS全称Basic Input Output System,即基本输入输出系统,是固化在服务器主板的专用ROM上,加载在服务器硬件系统上最基本的运行程序,它位于服务器硬件和OS之间,在服务器启动过程中首先运行&am…

《亚马逊搬运亚马逊产品》配合跟卖采集爬取跟卖店铺高质量

亚马逊高质量产品如何搬运?亚马逊采集亚马逊。 哈喽大家好,大家讲一下做亚马逊是发货、铺货这块的功能。目前这款软件做跟卖大家都知道,同时也支持做铺货。铺货可以采集国内的1688、淘宝、京东都可以采,采完之后也可以采速卖通&a…

flutter开发实战-Webview及dispose关闭背景音

flutter开发实战-Webview及dispose关闭背景音 当在使用webview的时候,dispose需要关闭网页的背景音或者音效。 一、webview的使用 在工程的pubspec.yaml中引入插件 webview_flutter: ^4.4.2webview_cookie_manager: ^2.0.6Webview的使用代码如下 初始化WebView…

UiPath+Appium实现app自动化测试

一、环境准备工作 1.1 完成appium环境的搭建 参考:pythonappiumpytestallure模拟器(MuMu)自动化测试环境搭建_appium mumu模拟器-CSDN博客 1.2 完成uipath的安装 登录官网,完成注册与软件下载安装。 UiPath业务自动化平台:先进的RPA及自动…

Linux操作系统学习:day08

内容来自:Linux介绍 视频推荐:Linux基础入门教程-linux命令-vim-gcc/g -动态库/静态库 -makefile-gdb调试 目录 day0853、命令和编辑模式之间的切换54、命令模式到末行模式的切换与末行模式下的保存退出命令模式到末行模式的切换保存退出 55、末行模式…

大模型训练优化方法

写在前面 在训练模型尤其是大模型的时候,如何加快训练速度以及优化显存利用率是一个很关键的问题。本文主要参考HF上的一篇文章:https://huggingface.co/docs/transformers/perf_train_gpu_one,以及笔者在实际训练中的一些经验,给…

SpringBoot 整合 Minio 实现文件切片极速上传技术

Centos7安装Minio 创建目标文件夹 mkdir minio使用docker查看目标镜像状况 大家需要注意,此处我们首先需要安装docker,对于相关安装教程,大家可以查看我之前的文章,按部就班就可以,此处不再赘述!&#x…

【电商指标详解】

前言: 💞💞大家好,我是书生♡,本篇文章主要和大家分享一下电商行业中常见指标的详解!存在的原因和作用!!!希望对大家有所帮助。 💞💞代码是你的画…

论文学习笔记1:Federated Graph Neural Networks: Overview, Techniques, and Challenges

文章目录 一、introduction二、FedGNN术语与分类2.1主要分类法2.2辅助分类法 三、GNN-ASSISTED FL3.1Centralized FedGNNs3.2Decentralized FedGNNs 四、FL-ASSISTED GNNS4.1horizontal FedGNNs4.1.1Clients Without Missing Edges4.1.1.1Non-i.i.d. problem4.1.1.2Graph embed…

Navicat和MySQL的安装

1、下载 Navicat Navicat 官网:www.navicat.com.cn/ 在产品中可以看到很多的产品,点击免费试用 Navicat Premium 即可,是一套多连数据库开发工具,其他的只能连接单一类型数据库 点击试用 选择系统直接下载 二、安装 Navicat 安…

天诚长租公寓智能门锁管理解决方案

人才是区域创新发展的第一资源,如何解决人才的住房问题,让人才“流进来”、“留下来”、“融进来”,就需要优先安排优质人才公寓、人才优租房和公共租赁住房房源,并为青年人才群体提供智能化、信息化的租住体验及通行服务。 一、…

Hive查询优化 - 面试工作不走弯路

引言:Hive作为一种基于Hadoop的数据仓库工具,广泛应用于大数据分析。然而,由于其依赖于MapReduce框架,查询的性能可能会受到影响。为了确保Hive查询能够高效运行,掌握查询优化技巧至关重要。在日常工作中,高…

实习总结 --- 其他业务

一. 回归测试:回归测试与测新是对应的,当需求准入交付测试的时候首先要进行的就是测新,也就是对新功能对测试,一般是在sim环境下测试的;当测新通过后才会进行回归测试,回归测试的目的是为了保证老功能的正确…