0

我想在 for 循环中执行一个逻辑语句。

如果我有一个大小为 480(高度)乘 640(宽度)的图像,我想在一个部分中扫描图像,这个部分是宽度 635 到 640 之间的整个高度。我想知道是否有(x,y) 在单元格“cellData”中找到的坐标。此单元格包含可以在整个图像中找到的 (x,y) 坐标的完整列表。

h = height
w = width
for h = 1:480
    for w = 635:640
        if cellData = 1;
            cellData(x,y) = SecondCoordinate(x,y);
        end
    end
end

基本上我试图在我上面提到的部分中选择一个点。该点必须来自单元格“cellData”。我这样做正确吗?代码从 cellData 中检测到的第一个 (x,y) 坐标是否会存储为“SecondCoordinate(x,y)”中的 (x,y) 坐标?

4

1 回答 1

3

你应该看看find。它不仅短得多,而且比您当前使用嵌套 for 循环的方法更有效。

[row, col] = find(cellData)将返回所有cellData不为零的坐标。

如果 cellData 包含除 1 和 0 以外的其他值,则为

[row, col] = find(cellData ~= 0)
于 2012-09-13T13:45:59.903 回答