MATLAB提取候选区域并对连通区域进行操作

2023-12-28 16:40

本文主要是介绍MATLAB提取候选区域并对连通区域进行操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以下代码详细注释了使用MATLAB根据颜色信息提取候选区域,以及对连通区域进行一系列操作。

clear all;clc;
%%提取候选区域
img = imread('1.png'); % 读取图像       
figure;
subplot(231);
imshow(img); % 展示图像
title('原图');
% 将图像转到hsv空间
img_hsv = rgb2hsv(img);      
% 创建一个白色图像,将特定颜色提取到此处
img_new = 255*ones(size(img));
% 将该图像转至hsv色彩空间
img_new_hsv = rgb2hsv(img_new);
% 找出图像中黄色的像素
[row, col] = ind2sub(size(img_hsv),find(img_hsv(:,:,1)>0.145...
& img_hsv(:,:,1)<0.188 & img_hsv(:,:,2)>0.16 & img_hsv(:,:,3)>0.18));
% 将图像中的黄色像素复制到刚才新建的白色图像中
for i = 1 : length(row)img_new_hsv(row(i),col(i),:) = img_hsv(row(i),col(i),:);
end
% 将提取出来的黄色,转化至rgb空间,进行展示
img_yellow = hsv2rgb(img_new_hsv);
subplot(232);
imshow(img_yellow);
title('黄色候选区域')
%%对连通区域进行操作
%将图像进行二值化
img_bw=im2bw(img_yellow,0.9);
subplot(233);
imshow(img_bw);
title('二值图像')
%使用开操作消除噪点
se=strel('disk',1); %创建一个半径为1的圆形结构体
img_bw_open=imopen(img_bw,se);
subplot(234);
imshow(img_bw_open);
title('开操作图像');
%标记连通区域,并显示
img_label=bwlabel(img_bw_open,4);
img_rgb=label2rgb(img_label,@jet,'y'); %将标记矩阵转换为rgb图像
subplot(235);
imshow(img_rgb);
title('标记连通区域图像');

结果:

 

这篇关于MATLAB提取候选区域并对连通区域进行操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

MySQL 强制使用特定索引的操作

《MySQL强制使用特定索引的操作》MySQL可通过FORCEINDEX、USEINDEX等语法强制查询使用特定索引,但优化器可能不采纳,需结合EXPLAIN分析执行计划,避免性能下降,注意版本差异... 目录1. 使用FORCE INDEX语法2. 使用USE INDEX语法3. 使用IGNORE IND

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

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

Python使用openpyxl读取Excel的操作详解

《Python使用openpyxl读取Excel的操作详解》本文介绍了使用Python的openpyxl库进行Excel文件的创建、读写、数据操作、工作簿与工作表管理,包括创建工作簿、加载工作簿、操作... 目录1 概述1.1 图示1.2 安装第三方库2 工作簿 workbook2.1 创建:Workboo

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

如何使用Lombok进行spring 注入

《如何使用Lombok进行spring注入》本文介绍如何用Lombok简化Spring注入,推荐优先使用setter注入,通过注解自动生成getter/setter及构造器,减少冗余代码,提升开发效... Lombok为了开发环境简化代码,好处不用多说。spring 注入方式为2种,构造器注入和setter

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配