文件交换

图像缩略图

区域增长

version 1.0.0.0 (54.7 KB) by 德克詹克罗恩
基于强度均值测度的种子点生长区域分割
4.4
62级

107下载

更新2008年3月6日

查看许可证

简单但有效的“区域增长”的例子,从一个种子点。

该区域通过将所有未分配的相邻像素与该区域进行比较来迭代增长。像素强度值和区域平均值之间的差值用作相似性度量。以这种方式测量的差异最小的像素被分配到该区域。

当区域平均值和新像素之间的强度差大于某个阈值时,此过程停止

引用作为

Dirk-Jan克朗(2021)。区域增长(//www.tatmou.com/matlabcentral/fileexchange/19084-region-growing),MATLAB中央文件交换。恢复.

意见及评分(107)

赛swetha paruchuri

谁能告诉我我们如何纠正这个错误
区域增长错误(第29行)
如果(exist('y','var')==0),图,imshow(I,[]);[y,x]=getpts;y=round(y(1));x=round(x(1));终止

莱昂纳多·贝多亚

穆罕默德Heydari

如何了解区域的增长情况

Shounak Chakraborty

关志军

这个代码有相应的纸吗?

奥马尔·阿尔马克塔里

AYOUB AOULALAY

I = (im2double (imread (mdb005.pgm)));
图中,imshow(我);
x=200;y=750;
J = regiongrowing(我,x, y, 0.2);

我得到这个错误:

类型为“double”的输入参数的未定义函数“regionRowing”。

(第4行)中的错误
J = regiongrowing(我,x, y, 0.2);

Vaishalee L

马塞洛Saval卡尔沃

asmae mama:如果您阅读代码中的示例,您必须将输入数据转换为double,
“我= im2double (imread (' medtest.png '));“

红飞王

asmae妈妈

你好,我是matlab中的biginner,我有这个算法,但它不能运行;
I=(rgb2gray(imread('image.jpg'));
图中,imshow(我);
x = 205;y = 2562;
J = regiongrowing(我,x, y, 0.2);
如何避免此错误:
类型为“uint8”的输入参数的未定义函数“regionRowing”。

工作史蒂夫

泰米尔摩尼迪维亚

阿基布·艾哈迈德

你好,我是新来的。我的电脑系统是MAC OS 10.10.5,NVIDIA GeForce GT 640M 512 MB。每当我运行你的代码时,它就会一直运行,我的电脑就会变慢。但没有产出。

我正在运行这个算法

尤尔根

考虑到这款游戏有40K以上的下载量,我认为我应该指出集群距离度量是错误的。具体来说,我认为平均值的计算是错误的。变量reg_size是在计算平均值之前更新的,它应该在计算平均值之后更新。

萨普纳S

嗨……它简单易懂。有没有可能我们可以自动计算阈值而不是硬编码?

张伟

米格尔Escalona

要解决这个问题:
区域增长错误(第69行)
dist=绝对值(负列表(1:负位置,3)-平均值);
您需要按照以下方式读取图像:
Im=double(rgb2gray(imread('title.format'));
问题是矩阵的格式,但如果你把它翻倍,它完全可以。

艾丹穆雷

如何避免以下错误:
错误使用,
整数只能与同一类的整数或双精度标量组合。

区域增长错误(第69行)
dist=绝对值(负列表(1:负位置,3)-平均值);

Farnaz Kh。

嗨,我想把均值相近的区域提取出来作为一个单独的矩阵,然后在那个区域中计算一些值。你能告诉我如何在你的功能中实现这个吗?

沙海詹姆斯

我如何运行这个程序

大全

谢谢

Sangita朋友

itz有用. .

无知的

谢谢你的解释

翠丝特超

效果很好

瓦桑塞尔瓦库马尔

帮我自动提取图像的特定区域

查达·凯特马尼

它工作得很好

玛丽

有谁能帮忙吗?
我尝试了这个代码,我得到了以下错误:
输入参数不足。

区域增长错误(第29行)
如果(exist('y','var')==0),图,imshow(I,[]);[y,x]=getpts;y=round(y(1));x=round(x(1));
终止

伊扎

如何使种子自动生长在感兴趣的地区?有人知道吗?

马尼坎丹拉贾戈帕尔

如何解决此问题..帮助我,…已达到最大递归限制500。请使用set(0,'RecursionLimit',N)更改限制。请
请注意,超出可用堆栈空间可能会使MATLAB和/或计算机崩溃。

bushra莫卧儿王朝

当使用此代码[x,y]=getpts(图)或[y,x]=getpts(图)不起作用时,请帮助我如何计算x和y值

hdchina2010

感谢您的出色工作,但这段代码中存在一个小错误,Matlab使用水平轴(向右)作为X方向,垂直轴(向下)作为Y方向,我们从Matlab文档中得到,[X,Y]=getpts(图),而不是您在代码中编写的[Y,X]=getpts(图),这可能会产生误导,需要我花几个小时才能弄清楚!

已经Multani

我在哪里可以得到这个代码的描述??

亚洲马利克

干得好,谢谢

拉胡达特

在使用给定的示例代码和示例(第21行)时,我遇到了以下错误:
已达到最大递归限制700。请使用set(0,'RecursionLimit',N)更改限制。请注意
可用堆栈空间可能会使MATLAB和/或计算机崩溃。

ismember>IsMemberBuiltypes中出错

有人能帮我吗?

MATLAB R2014a

瓦尼拉瓦拉苏酒店

你好,
有人能告诉我如何运行这个代码吗?
我一直得到一个错误。(对matlab非常陌生)

幸运的阿加瓦尔

是的,我可以帮你瓦西姆先生。。。

瓦西姆·阿赫塔

你好,
我正在做一个关于非接触式指纹检测的项目,有人能帮我编写区域增长的matlab代码吗

拉梅什thangaraj

奥尔多Zaimi

艾伦艾伦

嗨,所有
我运行此代码,但遇到以下错误:

?输入参数“I”未定义。

==>区域划船在29时出错
如果(exist('y','var')==0),图,imshow(I,[]);[y,x]=getpts;
y =圆(y (1));x =圆(x (1));终止

有人知道我该怎么解决这个问题吗?
谢谢

马克林

相似性度量是像素的强度值与当前正在处理的区域平均值之间的差值,因此它是相对的。这种区域生长算法有名字吗?像是渐进式的还是适应性的?或者这只是一个不同的相似性度量?

莎莉

我有一个灰度肺CT图像,范围在0-256之间的值:0,52,然后值> 90,我想分割。我给阈值= 75,但结果蒙版仍然包括所有的图像,而不是内部的值> 75 ..
这里怎么了?

阿宾·乔伊

??尝试访问neg_list(0,:);索引必须是一个正整数或逻辑数。

==>区域划船在80时出错
neg_list(指数:)= neg_list (neg_pos:);neg_pos = neg_pos-1;

马齐亚

干得好。
谁能告诉我如何改变区域的颜色?

迈克尔·斯科克

优秀的算法;非常感谢。

丹尼斯·迪茨

简单的程序,易于使用的医学图像。

薄霞

你好,谢谢,想要详细信息吗

穆罕默德阿什拉夫

???下标下标必须是实正整数或逻辑数。

==>区域划船在34时出错
reg_mean=I(x,y);%分割区域的平均值

如何解决这个问题请尽快回复

梅德乌马尔

我得到一个错误:“没有足够的输入参数”请帮助我如何解决这个问题,请告诉我如何传递输入参数?

尼提亚V R

想要详细资料吗

路加福音谢

谢谢你的功能。图像处理工具箱中的好代码。

阿迪

为了避免此错误,您必须通过以下方式将图像转换为double类型:
I=2倍(I);(一是形象)

桑迪

??? 使用==>减号时出错
不支持操作数类。金宝app

==>区域划船在69时出错
dist=绝对值(负列表(1:负位置,3)-平均值);

这个问题怎么解决?

菲特罗·阿马卢丁

你们能分享正确的代码吗?

安娜·朱里奇

你好,

如果有人知道使用多个种子点的地区种植的例子,请分享!谢谢你!

问候,
安娜

Gaurav米塔尔

工作得很有魅力,感谢您提供此代码。

弗朗西斯科

嗨……我在执行这段代码时发现了一个错误。错误细节如下:

错误使用,
整数只能与同一类的整数或双精度标量组合。

区域增长错误(第69行)
dist=绝对值(负列表(1:负位置,3)-平均值);

谢谢!

Preeti

请回答我的问题。我已经给你发了很多邮件,这个代码不是很好,因为我只得到一个白色的图像。我需要我用种子点选择的ROI。请回复。

很好

Rajesh Gothwal

您好…我在执行此代码时发现一个错误。错误的详细信息如下:

??? 使用==>减号时出错
整数只能与同一类的整数组合,或
标量双打。
dist=绝对值(负列表(1:负位置,3)-平均值);
谢谢!

nayana

我应该说,这对像我这样的初学者非常有帮助,但我有一个疑问,我们可以根据什么来确定reg_max distance的值
如果我们选择分割一个特定的区域

Preeti

我已经尝试了图像大小512*512的代码。在提供了x和y值之后,我得到了大小相同的512*512的J,所有的白色图像。没有细分。请建议!

毛罗。一个

你能给我一些示例参数吗?

德昂C

我也不能下载这个文件。谁来帮忙?

你好,
谢谢你!

基因

阿司匹林西红花苷

我无法下载文件....帮助我! !

迪帕克

Thq Dirk Jan Kroon为如此短的代码。我正在处理dicom图像。我将其转换为JPG。我在运行时遇到问题。

??? 输入的未定义函数或方法“RegionRowing”
double类型的参数。

我甚至定义了im2double()fnc,但我得到了一个错误。。。

湿婆然

你好,
我如何使它工作的3D图像?

谢谢你!

fsdm fsdm

卡拉玛戈

什么是x和y,我相信图像(x,y)坐标,但当我测试其他x,y值(例如,x=308,y=244, I(x,y)=0.73),然后分割的结果图像是不理想的。

赛义夫

谢谢你!

新河

非常有用,谢谢!

美智子

很有帮助!谢谢你!very much!!!

paramveer sran

我已经下载了这段o代码,但当我试图在同一个图像上运行时,即medtest.png,我得到了以下错误。你能告诉我哪里出了问题,怎么解决吗
> > regiongrowing
??? 已达到最大递归限制500。使用集合(0,'RecursionLimit',N)
改变限制。请注意,超出可用堆栈空间可能会导致
使MATLAB和/或你的计算机崩溃。

==>isstruct在99时出错
塔克斯

米里亚姆·罗伯特

我将reg_maxdist改为10,没有问题。
有人知道如何将区域增长用于3D矩阵吗?
谢谢你!

米里亚姆·罗伯特

我从一个3D数据矩阵“Y”得到一个核磁共振成像结果,所以它是Y(:,:, 14)。
这个算法在这个政变上不起作用。在结果中,我只有一个白色像素(种子点)。
我改变了第70行,但它没有改变任何东西。
你能帮我吗?

阿拉

有人能解释一下怎样分割颈动脉吗?

汉克·威尔

这看起来很酷!但我想知道用这个程序处理更大的图像(例如卫星数据)。有什么建议吗?在我的例子中,我没有得到任何错误,但处理一个只有15 Mb的10位全色图像子集不会得到有价值的结果。
将高度赞赏任何关于matlab的工作流程的想法为这个目的!
谢谢

以斯帖Kneepkens

多谢各位!

杰斯

如果像例子中那样使用im2double和imread,则不需要更改第70行(第21行-注释部分)

Natarajan

代码的工作方式和罗恩不同。我得换乘70号线。

但是,我没有得到16位灰度的分段/阈值输出!谢谢

如果有人能告诉我问题是什么,那就太好了!

安普R

非常有用的代码。

taccini

你好所有的,
首先我想感谢Dirk的工作和所有的matlab社区,因为这对我很有帮助。
我需要用区域增长来表示3D矩阵。
这个代码可以修改或者有人知道吗?
谢谢

杰克木材

85年提

无法下载..为什么?

托雷斯Chhetri

这是一个很大的帮助,你想扩展你的随机种子像素彩色图像。如果你那样做,那就太好了。

贾格

谢谢,似乎是一段方便的代码。
在R2008b上,我不得不将第70行更改为

dist = abs (neg_list (1: neg_pos, 3)总价值(reg_mean));

以使其与示例图像一起运行。

ucd宫

嗨,我发现了问题所在,我的数据集是int16格式的,所以很容易进行修改,但我不确定我的区域是否被正确分割。问候tanuj

ucd宫

大家好,这是一段优秀的代码。我只是一个中级matlab程序员,对这段代码有几个问题。
(1) 它对普通图像有效。但我有一个dicom int16医学图像,当我把它作为输入时,我得到一个只有一个像素(我选择的种子像素)的输出图像。我稍微更改了代码,例如instad of imread,我使用dicomread,而在imshow(i,[])的地方我使用了imshow(i,'displayRange',[])。
(2)文件解释为“当区域平均值和强度差时,该过程停止
新像素变得比某个阈值(t)大"但这个t是0.2你在文件中定义的,如果我想使用一个灰色强度级别,比如600作为阈值,该怎么办。因为我的图像是int16 dicom,它有2^16,所以它的灰色巩膜范围从-32768到+ 32768。
提前谢谢你的帮助。
tanuj

艾达·哈格斯特罗姆

rasool shaik

好的

瑞安hartadi

它很好用,很简单。其他领域需要发展

保罗L

非常好,简单易读,简单易懂,一开始就很好用,对学生练习很有用

Zonglei甄

区域生长是一种非常有用的分割方法。这个项目是一个很好的开始。

罗伯托·曼蒂亚

它做它应该做的事。非常好!

balamurugan萨米

有用的

jichao赵

这是一个很好的例子。我想知道你们是否可以将你们的工作扩展到彩色图形,而不仅仅是灰度图。

鑫刘

它是非常有用的。谢谢

MATLAB版本兼容性
使用R2007b创建
与任何版本兼容
平台兼容性
窗户 马科斯 Linux

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始狩猎!