如何从图像中提取非零值?

时间:2014-03-06 13:32:42

标签: arrays matlab image-processing image-segmentation

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

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

如果我绘制这个,我可以看到零值显示空白区域,峰值描绘了这些线条。这是情节

enter image description here

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

test = lines(129:184);

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

enter image description here

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

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

imshow(img(129:184,:)) 

给出了第129-184行。