【问题标题】:white pixels cluster extraction白色像素聚类提取
【发布时间】:2014-04-08 04:37:59
【问题描述】:

我正在做一个指纹毛孔提取项目,并停留在毛孔(白色像素簇)提取的最后阶段。我有两个输出图像,我们将从它们中获取毛孔,但不知道该怎么做..这两个图像的大小也不同..image1 的大小为 240*320,image2 的大小为 230*310 ..这是我的图像..

           image 1 (240*320)                         image2 (230*310)

这是我正在做的提取白色毛孔簇..

for i = 1:230 
    for j = 1:310
        if image1(i,j)==1 && image2(i,j)==1
            result(i,j)=1;
        else
            result(i,j)= 0;
        end;
    end;
end;
figure(4);imshow(result,[]);

这是我的输出

      output (230*310)            expected (different than input image)

图像 3(输出)显示了上面代码的结果图像..这些错误可能是由于我认为两个图像的大小不同......所以我应该怎么做才能得到毛孔(白色簇)..请注意,第四张图像(预期)与输入图像不同,只是为了向您展示输出应该是什么样子......提前谢谢......

【问题讨论】:

    标签: matlab image-processing cluster-computing feature-detection


    【解决方案1】:

    我以前做过这种“类型”的特征提取。通常我看到它是如何完成的(我在某种程度上是我过去工作过的公司的这个过程的发明者)是:

    一维斑点检测:

    • 从左到右(或从右到左)逐像素移动每一行
    • 如果您从黑色像素移动到其右侧的像素,并在该像素处过渡到您对白色的定义(由阈值设置),则标记该点
    • 从黑色到白色的过渡,您现在集中搜索白色到黑色的过渡
    • 找到白色到黑色时,将黑色到白色的过渡边界和白色到黑色的过渡边界配对成(我称之为)“1D blob”并存储在 1D Blob 列表中

    2D Blob 相关性:

    • 现在有了 1D Blob 列表后,您需要通过查找相邻的 Blob 将 1D Blob 关联到 2D Blob 中

    您可以通过多种不同方式定义边界:

    • 二元判定像素是否高于或低于阈值(最简单、最快)
    • 过渡的底部、中间或顶部点,从黑色到白色/白色到黑色的过渡可能很慢或很快(这称为瞬态响应),也称为您正在寻找的斜率对于

    在您的情况下,它看起来好像您的图像是真正的二进制(没有灰色阴影的黑白),所以二进制阈值处理就可以了。

    【讨论】:

    • 谢谢..但首先我们必须从前两张图像中提取白色集群,然后我们才能进行集群检测..那么是否有任何过程可以从前两张图像中提取集群..
    猜你喜欢
    • 2013-10-07
    • 2014-04-28
    • 2014-05-02
    • 2016-04-30
    • 2019-12-13
    • 2015-05-05
    • 2015-02-13
    • 2013-05-28
    • 1970-01-01
    相关资源
    最近更新 更多