首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用matlab中的简单方法分割给定的图像

如何用matlab中的简单方法分割给定的图像
EN

Stack Overflow用户
提问于 2014-03-31 18:22:13
回答 2查看 1.6K关注 0票数 0

我有一张照片。我想用简单的方法来分割它。你能给我建议用matlab分割它的最佳方法吗?请查看我给定的图像文件这里

以及下面分割的图像文件

(红色是分割图像的边界)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-31 20:04:15

下面的代码可以作为起点。

代码语言:javascript
运行
复制
I = load('imagetest.mat');
I = I.imagetest;
I = I./max(I(:));
se = strel('disk', 3);
Io = imopen(I, se);
Ie = imerode(I, se);
Iobr = imreconstruct(Ie, I);
Iobrd = imdilate(Iobr, se);
Iobrcbr = imreconstruct(imcomplement(Iobrd), imcomplement(Iobr));
Iobrcbr = imcomplement(Iobrcbr);
bw = im2bw(Iobrcbr, graythresh(Iobrcbr));
figure
imshow(bw, 'InitialMagnification', 'fit')
title('Binary image')

输出是

您可以使用watershed命令获取分隔黑白段的分水岭线。可以实验的一些参数是形态学结构元素(strel命令)、graythresh返回的级别以及形态学操作的继承和类型。

希望这能有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2014-03-31 20:42:31

如果您知道阈值,最简单的方法是:

代码语言:javascript
运行
复制
BW = im2bw(I, level)

其中I是灰度图像,level是阈值。另一个不太难达到阈值的方法是局部自适应阈值。它将根据局部窗口的平均强度来确定阈值。再说一遍,这里没什么花哨的,最简单的分割。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22769238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档