【问题标题】:How to make it so that the whole fruit is white and the background is black怎么做才能让整个水果都是白色的,背景是黑色的
【发布时间】:2012-07-19 21:36:22
【问题描述】:

我要做一个识别水果的应用程序。到目前为止,我已经使您可以裁剪图像并获得所需水果的颜色。现在我想得到水果的圆度,但我需要水果是黑色的,背景是白色的,这样我才能找到面积和圆度值。这是我到目前为止的那部分代码:

    crop_temp = rgb2gray(crop);
    threshold = graythresh(crop_temp);
    bw = im2bw(crop_temp,threshold);
    imshow(bw)

裁剪图像时我通过了裁剪。当水果有相机闪光灯并且该部分保持白色时,问题就出现了。

示例图片是这张柠檬图片:

问题是柠檬中的白色区域在代码之后保持白色,但我想要它以便整个柠檬是黑色的。但不仅仅是柠檬,其他水果也一样。

问题是柠檬中的白色区域在代码之后保持白色,但我想要它以便整个柠檬是黑色的。但不仅仅是柠檬,其他水果也一样。

是的,你怎样才能使水果是白色的,背景是黑色的。 我是图像处理的新手,所以不要跳到我身上。我只是找不到具体的东西。

【问题讨论】:

    标签: matlab image-processing


    【解决方案1】:

    试试这个:

    fbw = ones(size(bw))-imfill(ones(size(bw))-bw);
    imshow(fbw)
    

    【讨论】:

      【解决方案2】:

      蛮力方法是检查图像中的每个白色像素,并查看它是否在 X 和 Y 方向上都被黑色像素包围,如果是这种情况,则将其变为黑色。这将处理水果内部的斑点,并且不应该给你太多的误报,除非你的水果形状奇怪,或者你的图像边缘有很多噪点。

      【讨论】:

        【解决方案3】:

        您可以从使用此 Matlab demo 开始练习,在图像中分割(和计数)大米。尤其是估计背景的部分。

        阅读Otsu's method 以及SODSP 关于背景/前景估计的这两个问题也很有帮助,其中考虑了本地统计数据。

        【讨论】:

        • 我会检查你所说的演示。感谢您的帮助。
        猜你喜欢
        • 2014-01-30
        • 2011-09-19
        • 1970-01-01
        • 2016-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-26
        • 2017-04-23
        相关资源
        最近更新 更多