【发布时间】:2013-02-07 08:04:57
【问题描述】:
我在matlab 中编写了这个函数,它将具有y = 1 到1 隶属度的像素x 的值设置如下:
function c = core(x, y)
tolerance = 0.01;
pixels = [];
index = 1;
for i=1:length(y)
for j=1:length(y)
if abs(y(i,j)-1) <= tolerance
x(i,j) = 1;
pixels(index) = x(i,j);
end
end
end
c = pixels;
end
由于我是从脚本调用此函数,我如何返回那些设置为1 的像素?或者,这里的正确方法是返回原始图像,其中满足设置为1 的标准的像素。
Bur,在我继续之前,我没有看到图像中符合条件的像素被设置为1。我将像素设置为1 不正确吗?
底线是我假设core 代表那些隶属度等于1 的像素。而且,在我试图实现的算法中,我有以下行:
C1 = core(F)
F 代表图像。
基于此,在matlab 中写这个的正确方法是什么。嗯,是的,在matlab 这行可以简单地写成:
C.('C1') = core(x,y);
但是,问题是,根据上面的信息,我的调用脚本会返回什么以及如何返回?
而且,是的,作为输出,我总是在ans 中得到1。这是为什么呢?
谢谢。
【问题讨论】: