首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将二值图像转换为Gussian点

将二值图像转换为Gussian点
EN

Stack Overflow用户
提问于 2014-11-22 13:48:46
回答 1查看 68关注 0票数 1

我有一个二值图像,包含一些白点。现在我想要一个图像B,对于A中的每一个白点,强度被扩展到它的邻域,所以这些点的值是1,它周围的值会减小。因此,最终图像B的值范围为0 1,其中1发生在my白点。

我的方法:

我使用以下代码将图像转换为高斯函数:

代码语言:javascript
复制
x=-ceil(siz/2):ceil(siz/2);
H = exp(-(x.^2/(2*sigma^2)));
H = H/sum(H(:));%normalize the kernel
Hx=reshape(H,[length(H) 1]);
Hy=reshape(H,[1 length(H)]);
I=imfilter(imfilter(I,Hx, 'same' ,'replicate'),Hy, 'same' ,'replicate');

问题:当我对整个图像这样做时,当我有两个连续的白色邻居时,这些点的卷积值很高,因此,当对B进行规范化时,最大值发生在这个位置,而我的原始白点的值小于1。

有什么方法可以把光的强度分散开来(把每个点当作一个源,而不管它的近邻),最后的图像是这个运算的最大值,这样在两个白点的位置,两个点的数值是1,而它们的邻居有最大的2高斯值吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-22 16:33:20

你可以试试硬帽子。

要么在卷积之前保存白点的位置,要么查找所有点的位置>1,并将它们设置为1,如下所示:

代码语言:javascript
复制
B(B>1) = 1
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27078120

复制
相关文章

相似问题

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