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

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

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. 保存修改后的图像并进行展示。

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

相关推荐
斯汤雷5 分钟前
Matlab绘图案例,设置图片大小,坐标轴比例为黄金比
数据库·人工智能·算法·matlab·信息可视化
ejinxian11 分钟前
Spring AI Alibaba 快速开发生成式 Java AI 应用
java·人工智能·spring
程序员Linc15 分钟前
边缘检测技术现状初探2:多尺度与形态学方法
计算机视觉·边缘检测·形态学
葡萄成熟时_16 分钟前
【第十三届“泰迪杯”数据挖掘挑战赛】【2025泰迪杯】【代码篇】A题解题全流程(持续更新)
人工智能·数据挖掘
机器之心30 分钟前
一篇论文,看见百度广告推荐系统在大模型时代的革新
人工智能
机器之心33 分钟前
视觉SSL终于追上了CLIP!Yann LeCun、谢赛宁等新作,逆转VQA任务固有认知
人工智能
赣州云智科技的技术铺子1 小时前
【一步步开发AI运动APP】六、运动计时计数能调用
人工智能·程序员
东临碣石821 小时前
【AI论文】什么、如何、何处以及效果如何?大语言模型测试时缩放技术调研
人工智能