当前位置: 首页 > news >正文

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之十 简单颜色反转效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之十 简单颜色反转效果

目录

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之十 简单颜色反转效果

一、简单介绍

二、简单颜色反转效果实现原理

三、简单颜色反转效果案例实现简单步骤

四、注意事项


一、简单介绍

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。Python是一种解释型脚本语言,可以应用于以下领域: Web 和 Internet开发、科学计算和统计、人工智能、教育、桌面界面开发、软件开发、后端开发、网络爬虫。

这里使用 Python  基于 OpenCV 进行视觉图像处理,......

二、简单颜色反转效果实现原理

颜色反转是一种图像处理技术,可以改变图像的颜色外观。在灰度图像中,颜色反转意味着将每个像素的灰度值取反;在彩色图像中,颜色反转意味着将每个通道的像素值取反。

实现原理:

  1. 灰度反转: 对于灰度图像,颜色反转意味着将每个像素的灰度值取反。例如,原始像素值为0时,取反后变为255;原始像素值为255时,取反后变为0。

  2. 彩色反转: 对于彩色图像,颜色反转意味着将每个通道的像素值取反。例如,对于RGB图像,红色通道的原始像素值为0时,取反后变为255;原始像素值为255时,取反后变为0。对绿色和蓝色通道也是同样的处理。

三、简单颜色反转效果案例实现简单步骤

1、编写代码

2、运行效果

3、具体代码

"""
简单颜色反转效果1、灰度反转: 将彩色图像转换为灰度图像,然后将每个像素的灰度值取反。2、彩色反转: 将每个通道的像素值取反,可以通过255减去原始像素值来实现。
"""import cv2# 灰度反转
def grayscale_invert(image):"""灰度反转:param image::return:"""# 转换为灰度图像gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 灰度反转inverted_image = 255 - gray_imagereturn inverted_image# 彩色反转
def color_invert(image):"""彩色反转:param image::return:"""# 彩色反转inverted_image = 255 - imagereturn inverted_imagedef main():# 读取图像image = cv2.imread('Images/DogFace.jpg')# 设置窗口属性,并显示图片cv2.namedWindow("Dog", cv2.WINDOW_KEEPRATIO)cv2.imshow('Dog', image)# 灰度反转inverted_gray = grayscale_invert(image)# 彩色反转inverted_color = color_invert(image)# 设置窗口属性,并显示图片cv2.namedWindow("Grayscale Inverted", cv2.WINDOW_KEEPRATIO)cv2.imshow('Grayscale Inverted', inverted_gray)# 设置窗口属性,并显示图片cv2.namedWindow("Color Inverted", cv2.WINDOW_KEEPRATIO)cv2.imshow('Color Inverted', inverted_color)cv2.waitKey(0)cv2.destroyAllWindows()if __name__ == "__main__":main()

四、注意事项

  1. 在处理灰度图像时,确保将图像转换为灰度图像。
  2. 在处理彩色图像时,确保将每个通道的像素值限制在0到255之间,以防止溢出。
  3. 考虑图像的颜色深度,对于8位图像,像素值范围为0到255;对于16位图像,像素值范围为0到65535。

相关文章:

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之十 简单颜色反转效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之十 简单颜色反转效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之十 简单颜色反转效果 一、简单介绍 二、简单颜色反转效果实现原理 三、简单颜色反转效果案例实现简单步骤 四、注…...

【ELK+Kafka+filebeat分布式日志收集】部署filebeat和Kibana(三)

filebeat下载 官网:https://www.elastic.co/cn/downloads/beats/filebeat 或者 cd /opt wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.8.1-linux-x86_64.tar.gz依次执行如下命令...

二.音视频编辑-媒体组合-播放

引言 当涉及到音视频编辑时,媒体资源的提取和组合是至关重要的环节。在iOS平台上,AVFoundation框架提供了丰富而强大的功能,使得媒体资源的操作变得轻松而高效。从原始的媒体中提取片段,然后将它们巧妙地组合成一个完整的作品&am…...

前端安全-面试题(2024)

1. 面试总结话术: 前端常见的安全问题主要包括以下几种: 跨站脚本攻击(XSS):攻击者通过在目标网站注入恶意脚本,当用户访问网站时,恶意脚本会被执行,从而窃取用户信息或进行其他恶意操作。这种攻击通常利用表单提交、URL参数等方式注入脚本。存储型 xss 恶意代码存在数…...

CVE-2022-29405 Apache Archiva任意用户密码重置漏洞分析

Apache Archiva是一套可扩展的Artifact Repository管理系统。它能够与Maven,Continuum和ANT等构建工具完美结合。Archiva提供的功能包括:远程Repository代理,基于角色的安全访问管理,Artifact分发、维护、查询,生成使用…...

ssm框架配置文件例子

emmm。。。。 就是说&#xff0c;正常ssm的配置文件长啥样&#xff1f; 就最基础的&#xff1f; 贴一下&#xff0c;备忘吧。 第一个&#xff1a;applicationContext.xml <beans xmlns"http://www.springframework.org/schema/beans"xmlns:context"http…...

maven构建项目报错:Failure to find com.microsoft.sqlserver:sqljdbc4:jar:4.0 in

背景 今天在项目里面查询sqlserver的数据库的时候&#xff0c;本地maven中引入依赖&#xff1a; <dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>sqljdbc4</artifactId><version>4.0</version></dependenc…...

已解决rabbitmq AMQPConnectionClosedException:管道破裂或连接关闭异常的正确解决方法,亲测有效!!!

已解决rabbitmq AMQPConnectionClosedException&#xff1a;管道破裂或连接关闭异常的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 一、问题分析 二、报错原因 三、解决思路 四、解决方法 五、总结 博主v&#xff1a;XiaoMing_Java 一、…...

Excel 隔几行批量插入空白行

例如如下表格&#xff0c;每隔6行插入一行数据&#xff1a; 1&#xff09;第7个单元格输入1 2&#xff09;选中6个单元格&#xff0c;然后双击填充数据&#xff1a; 3&#xff09;F5 找到常量 Ctrlshift 复制插入的数据&#xff0c;然后选中数据 按F5&#xff0c;定位到空值...

2024年04月在线IDE流行度最新排名

点击查看最新在线IDE流行度最新排名&#xff08;每月更新&#xff09; 2024年04月在线IDE流行度最新排名 TOP 在线IDE排名是通过分析在线ide名称在谷歌上被搜索的频率而创建的 在线IDE被搜索的次数越多&#xff0c;人们就会认为它越受欢迎。原始数据来自谷歌Trends 如果您相…...

如何通过Elasticsearch实现搜索的关键词达到高亮的效果

高亮 首先介绍一下什么是搜索的关键词达到高亮的效果&#xff0c;如图所示 当在百度里面搜索elasticsearch的时候&#xff0c;可以看到出现的搜索结果里面elasticsearch这个关键词明显与其他的条文不一样&#xff0c;用红颜色凸显了“高亮效果”。当我们想要在自己的项目里面…...

真实sql注入以及小xss--BurpSuite联动sqlmap篇

前几天漏洞检测的时候无意发现一个sql注入 首先我先去网站的robots.txt去看了看无意间发现很多资产 而我意外发现admin就是后台 之后我通过基础的万能账号密码测试or ‘1‘’1也根本没有效果 而当我注入列的时候情况出现了 出现了报错&#xff0c;有报错必有注入点 因此我…...

Java类和对象练习题

练习一 下面代码的运行结果是&#xff08;&#xff09; public static void main(String[] args){String s;System.out.println("s"s);} 解析&#xff1a;本题中的代码不能编译通过&#xff0c;因为在Java当中局部变量必须先初始化&#xff0c;后使用。所以此处编译不…...

Qt 实现简易的视频播放器,功能选择视频,播放,暂停,前进,后退,进度条拖拉,视频时长显示

1.效果图 2.代码实现 2.1 .pro文件 QT core gui multimedia multimediawidgets 2.2 .h文件 #ifndef VIDEOPLAYING_H #define VIDEOPLAYING_H#include <QWidget> #include<QFileDialog>#include<QMediaPlayer> #include<QMediaRecorder> #in…...

vue基础教程(6)——构建项目级登录页

同学们可以私信我加入学习群&#xff01; 正文开始 前言一、创建首页二、登录页代码讲解三、对应的vue知识点&#xff1a;四、附件-各文件代码总结 前言 前面我们已经把vue自带的页面删除&#xff0c;也搭建了最简单的router路由&#xff0c;下面就可以真正开发我们自己的项目…...

C++宝强越狱1.0.6版本

没啥好说的&#xff0c;更新了一关&#xff0c;上代码 #include"bits/stdc.h" #include"Windows.h" #define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) using namespace std; int w3,s3,a3,d3; bool nfalse,iptrue,mfals…...

构建高可用性数据库架构:深入探索Oracle Active Data Guard(ADG)

随着企业数据规模的不断增长和业务的复杂化&#xff0c;数据库的高可用性和可靠性变得尤为重要。Oracle Active Data Guard&#xff08;ADG&#xff09;作为Oracle数据库提供的一种高可用性解决方案&#xff0c;在实时备份和灾难恢复方面发挥着重要作用。本文将深入探讨ADG的原…...

记录-rosbag的处理

https://blog.csdn.net/qq_39607707/article/details/123716925 https://blog.csdn.net/weixin_51060040/article/details/126612496...

用Wireshark解码H.264

H264&#xff0c;你不知道的小技巧-腾讯云开发者社区-腾讯云 这篇文章写的非常好 这里仅做几点补充 init.lua内容&#xff1a; -- Set enable_lua to false to disable Lua support. enable_lua trueif not enable_lua thenreturn end-- If false and Wireshark was start…...

Flink中几个关键问题总结

硬核&#xff01;八张图搞懂 Flink 端到端精准一次处理语义 Exactly-once&#xff08;深入原理&#xff0c;建议收藏&#xff09; Flink可靠性的基石-checkpoint机制详细解析 硬核&#xff01;一文学完Flink流计算常用算子&#xff08;Flink算子大全&#xff09;...

如何用League-Toolkit实现英雄联盟游戏自动化:3个核心模块深度解析

如何用League-Toolkit实现英雄联盟游戏自动化&#xff1a;3个核心模块深度解析 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit Le…...

探索黑苹果安装实战:从零到完美的完全指南

探索黑苹果安装实战&#xff1a;从零到完美的完全指南 【免费下载链接】Hackintosh 国光的黑苹果安装教程&#xff1a;手把手教你配置 OpenCore 项目地址: https://gitcode.com/gh_mirrors/hac/Hackintosh 破解三大核心技术痛点 直面固件层兼容性障碍 当PC尝试运行mac…...

别再踩坑了!Docker部署MinIO时,API和Console端口配置的保姆级避坑指南

Docker部署MinIO的端口配置避坑指南&#xff1a;从原理到实战 第一次用Docker部署MinIO时&#xff0c;我花了整整三个小时才搞明白为什么外网始终无法访问。控制台显示服务已启动&#xff0c;本地curl也能返回数据&#xff0c;但就是无法通过浏览器打开管理界面。直到查看日志才…...

开源AI工具降本增效:Pixel Fashion Atelier助力小型工作室节省70%概念图外包成本

开源AI工具降本增效&#xff1a;Pixel Fashion Atelier助力小型工作室节省70%概念图外包成本 1. 项目概述 Pixel Fashion Atelier是一款基于Stable Diffusion与Anything-v5的开源图像生成工具&#xff0c;专为时尚设计领域打造。它通过创新的像素风格界面和优化的模型组合&am…...

如何免费阅读付费文章?终极智能内容解锁工具完全指南

如何免费阅读付费文章&#xff1f;终极智能内容解锁工具完全指南 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在这个信息爆炸的时代&#xff0c;你是否经常遇到这样的情况&#xf…...

CentOS 8下openLDAP服务器搭建避坑指南:从第三方仓库到phpLDAPadmin配置

CentOS 8企业级openLDAP部署实战&#xff1a;从仓库选择到安全加固全解析 在当今企业IT架构中&#xff0c;目录服务作为身份认证和资源管理的核心组件&#xff0c;其重要性不言而喻。而openLDAP作为开源目录服务的标杆解决方案&#xff0c;凭借其轻量高效、跨平台兼容的特性&am…...

专业级实时屏幕翻译工具深度解析:5大实战技巧提升工作效率

专业级实时屏幕翻译工具深度解析&#xff1a;5大实战技巧提升工作效率 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Translumo Tra…...

联合仿真模型验证:Carsim + 车辆动力学模型(十四自由度)实践

联合仿真模型验证Carsim车辆动力学模型(十四自由度)软件使用:Carsim2019.0Matlab/Simulink 适用场景:采用模块化建模方法&#xff0c;搭建14自由度整车模型&#xff0c;将此模型与carsim进行联合仿真模型验证。 (模型和 carsim存在一定误差) 产品 simulink源码包含如下模块:工况…...

从零开始:DeepLabV3+在Cityscapes数据集上的完整训练流程

1. 环境准备与数据下载 第一次接触DeepLabV3和Cityscapes数据集时&#xff0c;我被这个组合的潜力所吸引——它能精准识别街景中的车辆、行人、建筑物等元素&#xff0c;就像给计算机装上了"透视眼"。但真正开始实操时&#xff0c;发现从环境搭建到数据处理的每个环节…...

Z-Image-Turbo行业应用:教育领域课件插图自动化生成

Z-Image-Turbo行业应用&#xff1a;教育领域课件插图自动化生成 1. 教育课件插图的痛点与机遇 老师们每天都要准备各种教学课件&#xff0c;从数学公式图示到历史事件场景&#xff0c;从生物细胞结构到地理地貌展示。传统方式下&#xff0c;要么花费大量时间搜索合适的图片&a…...