【问题标题】:How to extract non zero values from an image?如何从图像中提取非零值?
【发布时间】:2014-03-06 13:32:41
【问题描述】:

我想从文本文档中提取行。我可以通过对其列求和并产生一个一维向量来实现这一点(这将是图像的水平投影)。这是图像

img = imcomplement(rgb2gray(imread('french.jpg')));
lines = sum(img, 2);
plot(lines);

如果我绘制此图,我可以看到零值显示空格,峰值表示线条。这是剧情

所以看图(和数组),我可以看出第三行来自数组索引129:184。所以为了提取它我做了这个

test = lines(129:184);

好像我做imshow(test)imshow(test, []) 似乎不起作用它给出了以下结果。不完全是第三行。

我在这里做错了什么?

【问题讨论】:

  • “test = img(:,129:184);”之一或测试 = img(129:184,:);必须工作。免责声明:未经测试。
  • 正如@Divakar 所说, imshow(i(128:end,:)) 给了我最后一行。 (经过测试)

标签: arrays matlab image-processing image-segmentation


【解决方案1】:

您想要显示 2D 图像而不是 1D 线:

imshow(img(129:184,:)) 

给你第 129 - 184 行。

【讨论】:

    猜你喜欢
    • 2020-08-14
    • 2019-10-19
    • 1970-01-01
    • 2013-03-23
    • 2021-07-17
    • 2021-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多