文章目录

  • 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相关推荐

  1. Matlab图像分割---使用dice相似系数方法进行图像分割精度验证

    实例1:计算二值分割图像的dice相似系数 实例2:计算多区域分割图像的dice相似系数 本例程的配套完整源码和图片素材下载 描述: similarity = dice(BW1,BW2) 计算二进制图 ...

最新文章

  1. Python在linux服务器上解压,python3传文件到linux服务器然后解压
  2. 二、linux最小驱动
  3. Ftp实现上传文件至远程服务器
  4. boost::mp11::mp_if相关用法的测试程序
  5. 派生类构造的时候一定要调用_没钱的时候,一定要记住这三个教训
  6. mysql8.0.12不能用_使用最新版本MySQL8.0.12报错记录
  7. Bailian2856 计算邮资【入门】
  8. JSSE Java与SSL
  9. Linux kernel路由机制分析(下)
  10. 北航计算机考研计算机组成原理,北航计算机组成原理讲义.pdf
  11. 实对称矩阵的特征值求法_机器学习与线性代数 - 特殊矩阵
  12. Tomcat7与Tomcat8的差异详细对比
  13. 软考高级系统架构师论文,到底该如何写
  14. 【C语言经典100题】乒乓球队的比赛
  15. EXTRACT() 提取函数
  16. 优思学院|“元宇宙“是什么东西?
  17. RobotFramework中,选择注释套件中的某些用例的方法(主要用于RED/IntelliBot从套件执行单个用例)
  18. 【CSS】单行图片与文字垂直居中
  19. Mathtype安装方法
  20. python+ pyqt5 实现最简单的计算器

热门文章

  1. 【优化系列】之DSP优化方法
  2. 中国计算机科学南开分数线,南开大学计算机科学与技术考研历年分数线报录比及导师信息.pdf...
  3. 业界|比尔盖茨推荐,三个数据中的世界动向
  4. 关于Ontonotes5.0数据集下载过程(个人向)
  5. 作为文科生,如何才能学好一门编程语言?
  6. HTML MATA标签
  7. 三步,学习运用JMP分析股票的小技巧
  8. Unity3D 统一修改Text的字体
  9. 成都理工大学计算机技术研究生,成都理工大学(专业学位)计算机技术研究生辅导...
  10. 血氧仪方案组成结构设计分析