提取出图像的感兴趣区域

2024-04-22 04:20
文章标签 提取 图像 区域 感兴趣

本文主要是介绍提取出图像的感兴趣区域,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 这是我们的原图像

 

将图像的数值统计后进行条形图展示

import matplotlib.pyplot as plt
from PIL import Image
import numpy as np# 图像路径
image_path = r"D:\My Data\Figure\OIP.jpg"# 打开图像
image = Image.open(image_path)# 将图像转换为numpy数组
image_array = np.array(image)# 统计像素值
pixel_values = image_array.flatten()# 绘制条形图
plt.figure(figsize=(10, 6))
plt.hist(pixel_values, bins=range(256), color='blue', alpha=0.7)
plt.title('Pixel Value Histogram')
plt.xlabel('Pixel Value')
plt.ylabel('Frequency')
plt.grid(True)
plt.show()

 我们使用3Dslice标注了一张图像,进行展示

 我们将标注好的标签保存为了.tif格式,进行可视化后为

import matplotlib.pyplot as plt
import numpy as np
from PIL import Image# 图像路径
image_path = r"D:\My Data\TempWritelabel\Segmentation-Segment_1-label_1.tif"# 打开图像
image = Image.open(image_path)# 将图像转换为numpy数组
image_array = np.array(image)# 可视化图像
plt.imshow(image_array, cmap='gray')
plt.axis('off')  # 关闭坐标轴
plt.show()

 

 使用图像数值统计代码进行数值统计标注的图像数值

 可见我们标注图像的数值只有0和1,前景为1,背景为0.

 这时候,我们将原始图像×标签图像,就是标注图像的区域,那么就在原始图像上提取出标注图像的位置。

import matplotlib.pyplot as plt
from PIL import Image
import numpy as np# 原始图像路径
original_image_path = r"D:\My Data\Figure\OIP.jpg"
# 标注图像路径
label_image_path = r"D:\My Data\TempWritelabel\Segmentation-Segment_1-label_1.tif"# 打开原始图像和标注图像
original_image = Image.open(original_image_path)
label_image = Image.open(label_image_path)# 将图像转换为numpy数组
original_image_array = np.array(original_image)
label_image_array = np.array(label_image)# 如果原始图像是三通道,复制标签图像到三通道
if original_image_array.shape[-1] == 3:label_image_array = np.repeat(label_image_array[:, :, np.newaxis], 3, axis=2)# 将原始图像和标注图像的像素值进行相乘
new_image_array = original_image_array * label_image_array# 将新图像转换为PIL图像对象
new_image = Image.fromarray(new_image_array.astype('uint8'))# 可视化新图像
plt.imshow(new_image)
plt.axis('off')
plt.title('New Image')
plt.show()

 

 这时候我们如果运用上一篇博文的代码,去除周围的0像素,那么处理后的图像

 感觉左边的0像素没有完全去除掉,还可以再去除一些。仔细观察发现,应该是标注的时候有一个点标注为了1。可能是这个噪声点导致的

 

 我们将这张只有感兴趣的图像,用来深度学习,就会大大减少遭受的干扰,从而更好的收敛。

这篇关于提取出图像的感兴趣区域的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/924808

相关文章

在C#中分离饼图的某个区域的操作指南

《在C#中分离饼图的某个区域的操作指南》在处理Excel饼图时,我们可能需要将饼图的各个部分分离出来,以使它们更加醒目,Spire.XLS提供了Series.DataFormat.Percent属性,... 目录引言如何设置饼图各分片之间分离宽度的代码示例:从整个饼图中分离单个分片的代码示例:引言在处理

使用Python将PDF表格自动提取并写入Word文档表格

《使用Python将PDF表格自动提取并写入Word文档表格》在实际办公与数据处理场景中,PDF文件里的表格往往无法直接复制到Word中,本文将介绍如何使用Python从PDF文件中提取表格数据,并将... 目录引言1. 加载 PDF 文件并准备 Word 文档2. 提取 PDF 表格并创建 Word 表格

Java轻松实现在Excel中插入、提取或删除文本框

《Java轻松实现在Excel中插入、提取或删除文本框》在日常的Java开发中,我们经常需要与Excel文件打交道,当涉及到Excel中的文本框时,许多开发者可能会感到棘手,下面我们就来看看如何使用J... 目录Java操作Excel文本框的实战指南1. 插入Excel文本框2. 提取Excel文本框内容3

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

使用Python提取PDF大纲(书签)的完整指南

《使用Python提取PDF大纲(书签)的完整指南》PDF大纲(Outline)​​是PDF文档中的导航结构,通常显示在阅读器的侧边栏中,方便用户快速跳转到文档的不同部分,大纲通常以层级结构组织,包含... 目录一、PDF大纲简介二、准备工作所需工具常见安装问题三、代码实现完整代码核心功能解析四、使用效果控

Linux从文件中提取特定内容的实用技巧分享

《Linux从文件中提取特定内容的实用技巧分享》在日常数据处理和配置文件管理中,我们经常需要从大型文件中提取特定内容,本文介绍的提取特定行技术正是这些高级操作的基础,以提取含有1的简单需求为例,我们可... 目录引言1、方法一:使用 grep 命令1.1 grep 命令基础1.2 命令详解1.3 高级用法2

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库