我正在尝试编写一个程序,该程序旨在将用户指定的矩形插入矩阵,然后通过imagesc函数将其转换为图像。我不确定如何获取最大/最小高度和最大/最小宽度之间的值以填充值。
我仍然是Matlab的新手,所以我并没有做太多尝试,我相对了解如何设置用户指定的矩阵,而且我知道其背后的数学原理,只是没有思维定式成代码。我认为这可能与计算宽度和高度的最小/最大值并在值之间指定像素有关,或者通过使用距离公式为距离小于最大值的所有像素提供值。
%xc = [,,]; yc = [,,]; w = [,,]; h = [,,]; c = [,,]; np = ;
matrix = zeros(np,np); %matrix of zeros
x = linspace(-1,1,np); %linspace for x from -1 to 1
y = linspace(1,-1,np); %linspace """
for k = 1:length(xc) %Use for multiple rectangles
for i = 1:np
for j = 1:np
hma = yc(j)+0.5*h(k); %Calculate for max height
hmi = yc(j)-0.5*h(k); %Calculate for min height
if
matrix(j,i) = matrix(j,i)+c(k); %Produce matrix
end
wma = xc(j)+0.5*w(k);
wmi = xc(j)-0.5*w(k);
if
matrix(j,i) = matrix(j,i)+c(k); %Produce matrix
end
end
end
end
最终产品应为用户指定的矩形区域内的所有值提供一个非零值的矩阵。