如何在矩阵matlab中编写if else语句

问题描述 投票:0回答:1

我正在尝试读取图像并获取x,y和像素坐标。它是一个RGB图像,大小(282,282,3)。但是我得到像素坐标矩阵(282 * 3,282,像素值)。此外,虽然if else条件适用于正常的给定值,但在此代码中,它不起作用。任何人都可以帮我找到我错的地方吗?

清除所有clc

A = double(imread('F:\02.jpg'));
size(A)
[length, width] = size(A);
[x, y] = meshgrid(1:width, 1:length);
z(:) = A(:)/255;
if(z >=0.50000)
z =1;
elseif(z <0.50000)
z=0;
end
Z = z(:)
image if-statement coordinates pixel pixels
1个回答
0
投票

由于z不是标量而是矩阵或向量,逻辑比较z> = val也会产生矩阵/向量(混合的1和0)。例如,您可以将此结果用作索引

ix = z >= 0.5;
z( ix) = 1;
z(~ix) = 0; 
© www.soinside.com 2019 - 2024. All rights reserved.