我正在MATLAB中编写一个脚本,显示给定原始图像的前后图像和经过对数运算符点变换的图像。我已经尝试调试程序以查看它有什么问题,但由于某种原因,它没有在MATLAB中运行。我一直在命令行上得到错误(logarithm-operator是脚本的名称):
这是脚本:
a = imread('cells.png');
ad = im2double(a);
x = ad;
[r, c] = size(ad);
factor = 1;
for i = 1:r
for j = 1:c
x(i, j) = factor *log(1+ ad(i,j));
end
end
subplot(1,2,1);imshow(ad);title('Before');
subplot(1,2,2);imshow(x);title('After');
答案 0 :(得分:6)
Matlab脚本或函数名称不能包含连字符;只允许使用字母,数字或下划线,并且必须以字母开头。脚本名称中的连字符会混淆Matlab,并使其认为LEFT JOIN
是它应该调用的函数/脚本的名称。
这些要求与变量名称的要求相同。您可以查看the documentation for isvarname
:
有效的变量名称是字母,数字和字符串 下划线,总数不超过
logarithm
个字符和 从一封信开始。
答案 1 :(得分:1)
您必须将脚本名称从logarithm-operator
更改为logarithm_operator
。因为matlab中变量,脚本,函数等的名称不包含符号:连字符 - 。