主要用于图像的颜色提取、替换以及区域修改
这段代码涉及了以下几个关键步骤,主要用于图像的颜色提取、替换以及区域修改。下面是对代码的详细解析:
1. 导入库
import cv2
import matplotlib.pyplot as plt
import numpy as np
cv2: OpenCV库,用于图像处理。matplotlib.pyplot: 用于绘图和显示图像。numpy: 用于数组处理。
2. 读取并显示图像
image = cv2.imread("./lunwen.png")
plt.imshow(image)
cv2.imread():读取指定路径的图像。plt.imshow():使用 Matplotlib 显示图像。
3. 颜色提取与替换
lower_blue = (50, 0, 0)
upper_blue = (150, 255, 255)
mask = cv2.inRange(image, lower_blue, upper_blue)
- 使用
cv2.inRange()函数创建一个掩膜,用来提取图像中蓝色区域。lower_blue和upper_blue定义了蓝色的颜色范围(在 HSV 颜色空间中)。
image[mask.astype(bool)] = (185, 28, 28)
- 将掩膜中的蓝色区域的像素值替换为
(185, 28, 28)(红色),mask.astype(bool)将掩膜转换为布尔值数组。
4. 修改非蓝色区域
white_mask = cv2.inRange(image, (255, 255, 255), (255, 255, 255))
image[np.logical_and(white_mask == 0, ~mask)] = (78, 124, 15)
- 创建一个白色掩膜,
cv2.inRange()用来提取图像中的白色区域(完全白色的像素)。 - 使用
np.logical_and()和~mask,将原图中非蓝色且非白色区域的像素值替换为(78, 124, 15)(绿色)。
5. 保存并显示图像
plt.imsave('E:/绝缘子/1/1/实验图/绝缘子.png', image)
plt.imshow(image)
plt.axis('off')
- 使用
plt.imsave()将处理后的图像保存到指定路径。 plt.imshow(image)显示修改后的图像。plt.axis('off')禁用坐标轴显示。
6. 处理标注图像
quyu = cv2.imread("E:/insulator/1/1/picture/lion/label.png")
quyu = quyu.mean(axis=2)
print(quyu)
np.unique(quyu)
- 读取一个标注图像
label.png,然后通过mean(axis=2)将其转换为灰度图(平均化 RGB 通道)。 - 使用
np.unique()显示灰度图中出现的唯一值。
7. 修改图像中的特定区域
image[quyu != 0] = (255, 0, 255)
- 在图像中,所有标注区域(
quyu != 0)的像素被替换为紫色(255, 0, 255)。
8. 保存修改后的图像
plt.imsave("E:/insulator/1/1/picture/lion/lion.png", image)
plt.imshow(image)
plt.axis('off')
- 保存并显示修改后的图像。
总结:
这段代码实现了以下功能:
- 提取并替换图像中的蓝色区域,将其改为红色。
- 将非蓝色且非白色区域修改为绿色。
- 根据标注图像(
label.png)中非零的区域,将对应图像区域更改为紫色。 - 保存修改后的图像并进行展示。
整个流程包括了基于颜色范围的图像区域提取、颜色替换、区域修改、以及标注图像的处理,适用于图像分割和标记任务。
相关文章:
主要用于图像的颜色提取、替换以及区域修改
这段代码涉及了以下几个关键步骤,主要用于图像的颜色提取、替换以及区域修改。下面是对代码的详细解析: 1. 导入库 import cv2 import matplotlib.pyplot as plt import numpy as npcv2: OpenCV库,用于图像处理。matplotlib.pyplot: 用于绘…...
gbase8c之运维操作
导出结构: gs_dump -U gbase8s -W Password123 -f /tmp/dump_only_structure.sql -p 15400 sids_station -n public -s -F p 导出数据: gs_dump -U gbase8s -W Password123 -f /tmp/dump_only_data.sql -p 15400 sids_station -n public -a -F p 导入…...
云原生学习
1、云原生学习 文章目录 1、云原生学习1. 介绍2. Docker容器化 1. 介绍 什么是云原生?原生指使用JAVA等语言编写的项目,云是指将项目部署到云服务器上云平台:公有云、私有云 本地平台是指直接部署在自己计算机,而开发的应用一定要…...
深入解析 Vue 3 中的 defineExpose
深入解析 Vue 3 中的 defineExpose 在 Vue 3 的组合式 API(Composition API)中,defineExpose 是一个重要的辅助函数,专门用于在 <script setup> 模式下暴露组件内部的属性和方法给父组件使用。本文将详细解析 defineExpose…...
Docker3:docker基础1
欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…...
【UGUI】背包的交互01(道具信息跟随鼠标+道具信息面板显示)
详细程序逻辑过程 初始化物品栏: 在 Awake 方法中,通过标签找到提示框和信息面板。 循环生成10个背包格子,并为每个格子设置图标和名称。 为每个格子添加 UInterMaager232 脚本,以便处理交互事件。 关闭提示框和信息面板&#…...
ubuntu20.04中编译安装gcc 9.2.0
ubuntu20.04中编译安装gcc 9.2.0,步骤如下: #install compile dependence libraries 1:$ sudo apt install libgmp-dev libisl-dev libmpc-dev libmpfr-dev # install gcc 9.2.0 # download source code 2:$ wget http://ftp.gnu.org/gn…...
ss 命令的基本用法
ss 命令的基本用法 ss [选项]-tanl 选项解释 -t:显示 TCP 连接。-a:显示所有连接(包括监听端口)。-n:显示数字形式的地址和端口号,而不是解析为主机名和服务名。-l:仅显示监听的端口。 使用示…...
Leetcode198. 打家劫舍(HOT100)
代码: class Solution { public:int rob(vector<int>& nums) {int n nums.size();vector<int> f(n 1), g(n 1);for (int i 1; i < n; i) {f[i] g[i - 1] nums[i - 1];g[i] max(f[i - 1], g[i - 1]);}return max(f[n], g[n]);} }; 这种求…...
kafka基础
文章目录 一、Kafka入门1.1、JMS1.2、生产者-消费者模式1.3、ZooKeeper 二、kafka基础架构2.1、producer2.2、kafka cluster2.2.1、broker2.2.2、Controller2.2.3、Topic2.2.4、Partition2.2.5、Replication2.2.6、Leader & Follower 2.3、consumer 一、Kafka入门 Kafka是一…...
STM32CUBEIDE FreeRTOS操作教程(九):eventgroup事件标志组
STM32CUBEIDE FreeRTOS操作教程(九):eventgroup事件标志组 STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为…...
Python设计模式详解之2 —— 工厂模式
工厂模式(Factory Pattern)是一种创建型设计模式,旨在定义一个用于创建对象的接口,但由子类决定实例化哪个类。工厂模式可以帮助我们将对象的创建与其使用分离,增强代码的可扩展性和维护性。 工厂模式的分类 简单工厂…...
【Zookeeper】二、主从应用(master-worker架构)
以一张具有代表性的架构风格展开本篇论述 一般在这种架构中,主节点所负责的工作主要有 跟踪从节点状态分配任务到从节点,并跟踪任务的有效性(任务是否正常执行完成) 此时,我们需要关注三个问题 主节点崩溃 如果主节…...
Diffusion【2】:VAE
系列文章目录 文章目录 系列文章目录前言1. Abstract2. Introduction2.1. Motivation2.2. Contribution 3. Methods3.1. Problem Scenario3.2. The variational bound3.3. The SGVB estimator and AEVB algorithm3.3.1. Stochastic Gradient Variational Bayes Estimator3.3.2.…...
高级java每日一道面试题-2024年11月19日-基本篇-获取一个类Class对象的方式有哪些?
如果有遗漏,评论区告诉我进行补充 面试官: 获取一个类Class对象的方式有哪些? 我回答: 在 Java 中,获取一个类的 Class 对象有多种方式。这些方式各有优缺点,适用于不同的场景。以下是常见的几种方法及其详细解释: 1. 使用 new 关键字实…...
xilinx xapp1171学习笔记
在xapp1171示例中,假设Host PC将PCIE:BAR0赋值为:0x00000000_def00000 PCIEBAR2AXIBAR_00x81000000,即Host PC读写0x00000000_def00000就是在读写AXI地址0x81000000(BRAM在AXI总线上的基地址) 在AXI总线上࿰…...
一次需升级系统的wxpython安装(macOS M1)
WARNING: The scripts libdoc, rebot and robot are installed in /Users/用户名/Library/Python/3.8/bin which is not on PATH. 背景:想在macos安装Robot Framework ,显示pip3不是最新,更新pip3后显示不在PATH上 参看博主文章末尾 MAC系统…...
el-table 数据去重后合并表尾合计行,金额千分位分割并保留两位小数,表尾合计行表格合并
问题背景 最近在做后台管理项目el-table 时候需要进行表尾合计,修改合计后文字的样式,合并单元格。 想实现的效果 合并表尾单元格前三列为1格;对某些指定的单元格进行表尾合计;合计后的文本样式加粗;涉及到金额需要千…...
Springboot整合mybatis-plus使用pageHelper进行分页
PageHelper 使用步骤全解析 在进行 Web 应用开发时,经常会涉及到数据库数据的分页展示。PageHelper 是一个非常实用的 MyBatis 分页插件,它能够方便地实现数据库查询结果的分页功能,极大地提高了开发效率。以下将简单介绍 PageHelper 的使用…...
【Xbim+C#】创建拉伸的墙
基础 基础回顾 效果图 简单的工具类 using System.Collections.Generic; using System.Linq; using Xbim.Common.Step21; using Xbim.Ifc; using Xbim.Ifc4.GeometricConstraintResource; using Xbim.Ifc4.GeometricModelResource; using Xbim.Ifc4.GeometryResource; using…...
如何判断重庆SEO优化公司的实力_重庆SEO优化服务有哪些特点
如何判断重庆SEO优化公司的实力_重庆SEO优化服务有哪些特点 在当前数字化营销的时代,一个企业的在线表现直接影响到其市场竞争力。而在重庆这个经济发展迅速的城市,SEO优化服务显得尤为重要。如何判断一家重庆SEO优化公司的实力,又有哪些特点…...
高效解决ComfyUI-VideoHelperSuite视频工作流加载故障的完整实战指南
高效解决ComfyUI-VideoHelperSuite视频工作流加载故障的完整实战指南 【免费下载链接】ComfyUI-VideoHelperSuite Nodes related to video workflows 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-VideoHelperSuite ComfyUI-VideoHelperSuite视频工作流加载故障…...
有什么快速可行的 SEO 优化方法可以推荐吗_想要快速提高 SEO 排名,应该重点做哪些工作
有什么快速可行的 SEO 优化方法可以推荐吗?想要快速提高 SEO 排名,应该重点做哪些工作 在当今的数字化时代,搜索引擎优化(SEO)已经成为每个网站运营者必须掌握的重要技能。特别是在百度这样的主流搜索引擎上ÿ…...
从本地事务到分布式一致性:Python 工程师必须掌握的数据库事务、Saga、Outbox 与补偿实战
从本地事务到分布式一致性:Python 工程师必须掌握的数据库事务、Saga、Outbox 与补偿实战 很多开发者第一次接触“事务”,通常是在数据库课上学到一句话:事务要么全部成功,要么全部失败。 这句话没错,但只说对了一半。…...
BGE Reranker-v2-m3开源可部署:提供完整Dockerfile与build脚本,便于CI/CD集成
BGE Reranker-v2-m3开源可部署:提供完整Dockerfile与build脚本,便于CI/CD集成 你是不是经常遇到这样的问题?从搜索引擎或者自己的数据库里搜出一堆文档,但排在前面的往往不是最相关的。手动一篇篇看过去,效率低不说&a…...
3大场景攻克显卡驱动残留:DDU深度清理技术全指南
3大场景攻克显卡驱动残留:DDU深度清理技术全指南 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uninstaller …...
打卡信奥刷题(3062)用C++实现信奥题 P6862 [RC-03] 随机树生成器
P6862 [RC-03] 随机树生成器 题目描述 小 R 有一个随机树生成器,其工作原理如下: 输入 nnn,则对于每个 1<i≤n1<i\le n1<i≤n,随机选择一个 [1,i)[1,i)[1,i) 中的节点作为其父亲。返回这棵树。 给定 n,kn,kn,k࿰…...
AgentCPM研报助手:离线环境下的高效解决方案,保护数据隐私安全
AgentCPM研报助手:离线环境下的高效解决方案,保护数据隐私安全 1. 为什么需要离线研报生成工具 在金融分析、政策研究和商业咨询领域,研究报告的撰写往往面临两大核心挑战:一是处理敏感数据时的隐私安全问题,二是高强…...
构建自动化工作流:cv_unet_image-colorization与GitHub Actions集成实现CI/CD
构建自动化工作流:cv_unet_image-colorization与GitHub Actions集成实现CI/CD 每次给老照片上色,你是不是都得手动跑一遍代码?本地环境配置、依赖安装、模型加载,一套流程下来,十几分钟就过去了。要是团队里好几个人都…...
HunyuanVideo-Foley快速部署:从拉取镜像到生成首段音效仅需8分钟
HunyuanVideo-Foley快速部署:从拉取镜像到生成首段音效仅需8分钟 1. 环境准备与镜像拉取 在开始之前,请确保您的硬件配置满足以下要求: 显卡:NVIDIA RTX 4090/4090D 24GB显存内存:至少120GBCPU:10核及以…...
