【问题标题】:how to remove undefine variable error in scilab?如何删除 scilab 中的未定义变量错误?
【发布时间】:2021-08-12 10:04:15
【问题描述】:
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

我在 Scilab 中进行了数字图像处理的实践,将彩色图像转换为灰度图像。该程序一开始完全执行,但在执行 2 次后,它抛出一个错误为“未定义的变量 new1”。谁能告诉我哪里出错了?

【问题讨论】:

  • 为什么是 C 标签?看起来不像 C 代码。
  • 您需要提供更多信息,即错误输出复制和粘贴、您尝试过的内容以及有关该行应该实现的更多细节。还有你尝试过的以及到目前为止你尝试过的结果。就目前而言,没有人可能会阅读您的代码并试图弄清楚。

标签: matlab image-processing syntax-error scilab


【解决方案1】:

我猜你有一些边框效果,因为你没有初始化你的 a、b、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))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-25
    • 2015-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多