Matlab 如何在scilab中删除未定义变量错误?
我在Scilab进行数字图像处理的实践,将彩色图像转换为灰度图像。该程序最初完全执行,但在执行2次后,它抛出一个错误,称为“未定义变量new1”。有人能告诉我哪里出了问题吗?我想你有一些边界效应,因为你没有初始化a、b、c矩阵,也没有为不同的图像大小运行脚本。按如下方式重新键入脚本(不使用循环),并尝试一下:Matlab 如何在scilab中删除未定义变量错误?,matlab,image-processing,syntax-error,scilab,Matlab,Image Processing,Syntax Error,Scilab,我在Scilab进行数字图像处理的实践,将彩色图像转换为灰度图像。该程序最初完全执行,但在执行2次后,它抛出一个错误,称为“未定义变量new1”。有人能告诉我哪里出了问题吗?我想你有一些边界效应,因为你没有初始化a、b、c矩阵,也没有为不同的图像大小运行脚本。按如下方式重新键入脚本(不使用循环),并尝试一下: im=imread('C:\Users\user\Desktop\DIP LAB\PRACTICAL IMG.jpg') [row col byt]=size(im); a=im(:,:,
im=imread('C:\Users\user\Desktop\DIP LAB\PRACTICAL IMG.jpg')
[row col byt]=size(im);
a=im(:,:,1);
b=im(:,:,2);
c=im(:,:,3);
a=double(a);
b=double(b);
c=double(c);
for x=1:1:row
for y=1:1:col
new(x,y)=(a(x,y)+b(x,y)+c(x,y))/3;
new1(x,y)=0.3*a(x,y)+0.59*b(x,y)+0.11*c(x,y);
end
end
figure(1)
imshow(uint8(im))
figure(2)
imshow(uint8(new))
figure(3)
imshow(uint8(new1))
Undefined variable: new1
为什么是C标签?看起来不像C代码。你需要提供更多的信息,比如错误输出的复制和粘贴,你尝试过的事情,以及关于这行应该实现什么的更多细节。还有你尝试过的,以及你迄今为止尝试过的结果。就目前而言,没有人可能会阅读您的代码并试图找出它。
im=imread('C:\Users\user\Desktop\DIP LAB\PRACTICAL IMG.jpg')
a = im(:,:,1);
b = im(:,:,2);
c = im(:,:,3);
a = double(a);
b = double(b);
c = double(c);
new = (a+b+c)/3;
new1 = 0.3*a+0.59*b+0.11*c;
figure(1)
imshow(uint8(im))
figure(2)
imshow(uint8(new))
figure(3)
imshow(uint8(new1))