主要用于图像的颜色提取、替换以及区域修改

这段代码涉及了以下几个关键步骤,主要用于图像的颜色提取、替换以及区域修改。下面是对代码的详细解析:

1. 导入库

python 复制代码
import cv2
import matplotlib.pyplot as plt
import numpy as np
  • cv2: OpenCV库,用于图像处理。
  • matplotlib.pyplot: 用于绘图和显示图像。
  • numpy: 用于数组处理。

2. 读取并显示图像

python 复制代码
image = cv2.imread("./lunwen.png")
plt.imshow(image)
  • cv2.imread():读取指定路径的图像。
  • plt.imshow():使用 Matplotlib 显示图像。

3. 颜色提取与替换

python 复制代码
lower_blue = (50, 0, 0)
upper_blue = (150, 255, 255)
mask = cv2.inRange(image, lower_blue, upper_blue)
  • 使用 cv2.inRange() 函数创建一个掩膜,用来提取图像中蓝色区域。lower_blueupper_blue 定义了蓝色的颜色范围(在 HSV 颜色空间中)。
python 复制代码
image[mask.astype(bool)] = (185, 28, 28)
  • 将掩膜中的蓝色区域的像素值替换为 (185, 28, 28)(红色),mask.astype(bool) 将掩膜转换为布尔值数组。

4. 修改非蓝色区域

python 复制代码
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. 保存并显示图像

python 复制代码
plt.imsave('E:/绝缘子/1/1/实验图/绝缘子.png', image)
plt.imshow(image)
plt.axis('off')
  • 使用 plt.imsave() 将处理后的图像保存到指定路径。
  • plt.imshow(image) 显示修改后的图像。
  • plt.axis('off') 禁用坐标轴显示。

6. 处理标注图像

python 复制代码
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. 修改图像中的特定区域

python 复制代码
image[quyu != 0] = (255, 0, 255)
  • 在图像中,所有标注区域(quyu != 0)的像素被替换为紫色 (255, 0, 255)

8. 保存修改后的图像

python 复制代码
plt.imsave("E:/insulator/1/1/picture/lion/lion.png", image)
plt.imshow(image)
plt.axis('off')
  • 保存并显示修改后的图像。

总结:

这段代码实现了以下功能:

  1. 提取并替换图像中的蓝色区域,将其改为红色。
  2. 将非蓝色且非白色区域修改为绿色。
  3. 根据标注图像(label.png)中非零的区域,将对应图像区域更改为紫色。
  4. 保存修改后的图像并进行展示。

整个流程包括了基于颜色范围的图像区域提取、颜色替换、区域修改、以及标注图像的处理,适用于图像分割和标记任务。

相关推荐
AnalogElectronic24 分钟前
人工智能初级工程师认证复习纲要(高频重点标记)
人工智能
前端不太难26 分钟前
AI 原生架构:鸿蒙App的下一代形态
人工智能·架构·harmonyos
Fzuim28 分钟前
从 LLM 接口到 Agent 接口:AI 融合系统的架构演进与未来趋势分析报告
人工智能·ai·重构·架构·agent·runtime
GISer_Jing7 小时前
AI自动化工作流:智能驱动未来(升级研究生项目!!!)
人工智能·前端框架·自动化
草捏子7 小时前
Agent Skills:让 AI 一次学会、永远记住的能力扩展方案
人工智能
NocoBase7 小时前
【2.0 教程】第 1 章:认识 NocoBase ,5 分钟跑起来
数据库·人工智能·开源·github·无代码
后端小肥肠7 小时前
OpenClaw实战|从识图到公众号内容自动化,我跑通了完整链路
人工智能·aigc·agent
Elastic 中国社区官方博客7 小时前
快速 vs. 准确:衡量量化向量搜索的召回率
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索
qq_381338507 小时前
【技术日报】2026-03-18 AI 领域重磅速递
大数据·人工智能
NocoBase8 小时前
开源项目管理工具选型指南(2026年最新)
人工智能·开源·无代码