【发布时间】:2020-04-30 12:04:30
【问题描述】:
我现在正在“玩”图像处理。 我正在将 .jpg 图像(RGB)上传到 matlab。在那之后,我得到了高度、宽度和尺寸的信息。下一步是将其划分为 3 个矩阵(RGB)并使其变为灰色。最后一步是将其二值化。我有数据矩阵的二值化图像,其大小约为 900x1800。
我想从矩阵中提取数据
对于每一列,我想找到所有值等于1 的行。例如:对于列1,我想找到所有等于1 的行,对于列2 也是1(因为它是二进制矩阵。
img = imread(jpeg);
inf2=imfinfo(jpeg);
[height, width, dim] = size(img);
if dim == 3
R=img(:, :, 1);
G=img(:, :, 2);
B=img(:, :, 3);
gray_img=rgb2gray(img);
level=graythresh(gray_img);
img_bin2 = im2bw(gray_img,level);
img_bin2= ~img_bin2;
% imshow(img_bin2)
【问题讨论】:
-
我不清楚你想从列中提取什么。你得到一个包含 1800 列的二进制图像,并且对于每一列你想要提取一些东西。但那是什么东西,你能再解释一下吗?
-
好的,我想我现在明白了:对于第一列,您要查找值等于
1的所有行索引。对于第二列,您要查找所有等于2的行,依此类推。对吗? -
是的(就像你在第二条评论中所说的那样),我想将它保存到另一个矩阵中。
-
或者只找到行中的第一个位置(对于每一列),其值等于 1
标签: image matlab image-processing matrix search