imseggeodesic
文章目录
- Syntax
- Description
- Examples
- Input Arguments
- Output Arguments
- Tips
使用基于测地距离的颜色分割将图像分割为两个或三个区域
Syntax
L = imseggeodesic(RGB,BW1,BW2)
L = imseggeodesic(RGB,BW1,BW2,BW3)
[L,P] = imseggeodesic(___)
[L,P] = imseggeodesic(___,Name,Value)
Description
L = imseggeodesic(RGB,BW1,BW2)分割彩色图像RGB,返回带有标签L的分割后的二进制图像。
BW1和BW2是二进制图像,它们指定了两个区域(前景)的初始种子区域(称为涂鸦)的位置。 和背景)。
imseggeodesic使用BW1和BW2中指定的涂抹作为代表样本来计算其各自区域的统计信息,然后将其用于分段。
BW1和BW2(逻辑上正确的区域)指定的涂鸦不应重叠。 底层算法使用在由涂鸦标记的区域上估计的统计量进行分
割。 涂抹标记的像素数量越多,区域统计信息的估计就越准确,这通常会导致更准确的分割。
因此,优良作法是提供尽可能多的涂鸦。 通常,为每个区域提供至少几百个像素作为涂鸦。L = imseggeodesic(RGB,BW1,BW2,BW3)对彩色图像RGB进行分割,返回具有三段(三级分割)的分割图像,并带有由标签矩阵L指定的区域标签。BW1,BW2和BW3是用于指定二进制图像 初始种子区域或三个区域的涂抹的位置。 由BW1,BW2和BW3(逻辑上为真的区域)指定的涂鸦不应重叠。[L,P] = imseggeodesic(___)还返回属于矩阵P中每个标签的每个像素的概率。[L,P] = imseggeodesic(___,Name,Value)使用名称-值对来控制分段的各个方面。
Examples
使用颜色信息将图像分割成两个区域
clear all
close all
clc
RGB = imread('yellowlily.jpg');
imshow(RGB)
%第一个区域由黄色花瓣组成。 通过使用drawrectangle函数将初始种子区域指定为矩形ROI。 用黄色绘制ROI。
%“位置”名称/值对参数将ROI的左上坐标,宽度和高度指定为4元素向量[xmin,ymin,宽度,高度]。
%如果要交互式绘制矩形,省略“位置”名称/值对参数。
r1 = drawrectangle(gca,'Position',[350 700 425 120],'Color','y');
%第二个区域由绿叶组成。 将种子区域指定为矩形ROI,并以红色绘制ROI。
r2 = drawrectangle(gca,'Position',[800 1124 120 230],'Color','r');
%第三个区域是背景,这是此图像中的污垢。 将种子区域指定为矩形ROI,并以蓝色绘制ROI。
r3 = drawrectangle(gca,'Position',[1010 290 180 240],'Color','b');
%为每个ROI创建一个蒙版,其中ROI为true,其他像素为false。
mask1 = createMask(r1);
mask2 = createMask(r2);
mask3 = createMask(r3);
%分割图像。
[L,P] = imseggeodesic(RGB,mask1,mask2,mask3,'AdaptiveChannelWeighting',true);
%在原始图像上显示分段的标签。
imshow(labeloverlay(RGB,L))
title('Segmented Image with Three Regions')
%图像的右下角被误分类为区域2(叶)。 添加另一个背景ROI。
r4 = drawrectangle(gca,'Position',[20 1320 480 200],'Color','b');
mask4 = createMask(r4);
maskBackground = mask3 + mask4;
%分割图像,然后在原始图像上显示分割的标签。
[L,P] = imseggeodesic(RGB,mask1,mask2,maskBackground,'AdaptiveChannelWeighting',true);
imshow(labeloverlay(RGB,L))
title('Refined Segmented Image with Three Regions')
%显示每个像素属于每个标签的概率。
montage(P,'Size',[1 3])
title('Probability That Each Pixel Belongs to Each Label')
Input Arguments
RGB — Image to be segmented
要分割的图像,指定为RGB图像。 在执行分割之前,imseggeodesic将输入的RGB图像转换为YCbCr颜色空间。
BW1 —第一个区域的涂鸦图像
绘制第一个区域的图像,指定为逻辑矩阵。 BW1必须具有与输入图像RGB相同的行数和列数。 要以交互方式创建涂鸦,请首先使用诸如drawcircle,drawfreehand,drawpolygon或drawrectangle之类的功能绘制ROI。 然后,使用createMask从ROI创建遮罩
Name-Value Pair Arguments
AdaptiveChannelWeighting’-使用自适应信道加权
false (default) | true
使用自适应通道加权,指定为逻辑标量。 当为true时,等视线将权重与通道所具有的区分信息量成正比,这些信息可用于分割(基于作为输入提供的涂抹)。 如果为假(默认值),则异象管对所有通道的权重相等。
Output Arguments
L —标签矩阵
标签矩阵,以非负整数的矩阵形式返回。 标记为0的像素是背景,标记为1的像素标识分段区域。 标记为2的像素标识三元分割中的另一个分割区域。
P —像素属于标记区域的概率
像素属于标记区域的概率,指定为用于二进制分割的M×N×2矩阵或用于三进制分割的M×N×3矩阵。 M和N是输入图像中的行数和列数。 P(i,j,k)指定位置(i,j)处属于标签k的像素的概率。
Tips
两个(或三个)区域的涂鸦不应相互重叠。 每个涂鸦矩阵(BW1,BW2和BW3)应为非空,也就是说,每个涂鸦中至少应有一个像素(尽管越多越好)被标记为逻辑真。
imseggeodesic相关推荐
- Matlab图像分割---使用dice相似系数方法进行图像分割精度验证
实例1:计算二值分割图像的dice相似系数 实例2:计算多区域分割图像的dice相似系数 本例程的配套完整源码和图片素材下载 描述: similarity = dice(BW1,BW2) 计算二进制图 ...
最新文章
- Python在linux服务器上解压,python3传文件到linux服务器然后解压
- 二、linux最小驱动
- Ftp实现上传文件至远程服务器
- boost::mp11::mp_if相关用法的测试程序
- 派生类构造的时候一定要调用_没钱的时候,一定要记住这三个教训
- mysql8.0.12不能用_使用最新版本MySQL8.0.12报错记录
- Bailian2856 计算邮资【入门】
- JSSE Java与SSL
- Linux kernel路由机制分析(下)
- 北航计算机考研计算机组成原理,北航计算机组成原理讲义.pdf
- 实对称矩阵的特征值求法_机器学习与线性代数 - 特殊矩阵
- Tomcat7与Tomcat8的差异详细对比
- 软考高级系统架构师论文,到底该如何写
- 【C语言经典100题】乒乓球队的比赛
- EXTRACT() 提取函数
- 优思学院|“元宇宙“是什么东西?
- RobotFramework中,选择注释套件中的某些用例的方法(主要用于RED/IntelliBot从套件执行单个用例)
- 【CSS】单行图片与文字垂直居中
- Mathtype安装方法
- python+ pyqt5 实现最简单的计算器
热门文章
- 【优化系列】之DSP优化方法
- 中国计算机科学南开分数线,南开大学计算机科学与技术考研历年分数线报录比及导师信息.pdf...
- 业界|比尔盖茨推荐,三个数据中的世界动向
- 关于Ontonotes5.0数据集下载过程(个人向)
- 作为文科生,如何才能学好一门编程语言?
- HTML MATA标签
- 三步,学习运用JMP分析股票的小技巧
- Unity3D 统一修改Text的字体
- 成都理工大学计算机技术研究生,成都理工大学(专业学位)计算机技术研究生辅导...
- 血氧仪方案组成结构设计分析