错误:rgb2gray在Octave 4.2.2中未定义

时间:2018-07-16 08:58:16

标签: image image-processing octave

我是Octave平台的新手,正在尝试使用用于图像处理版本2.8.0的图像工具。我已经使用“ pkg install -forge image”安装了此工具。它安装完美,甚至包含在软件包列表中。 现在,当我尝试将彩色图像转换为灰度图像时,会出现以下错误。

  

警告:“ rgb2gray”功能属于Octave Forge的图像包   但尚未实施。
  请阅读http://www.octave.org/missing.html了解如何   贡献缺少的功能。
  错误:“ rgb2gray”在第1行第1列附近未定义*

这是我的代码:

    pkg load image;
    img = imread('IMG_20170815_004922_213.jpg');
    img_gray = rgb2gray(img);
    imshow(img_gray);

我已经读到一些错误,这些错误是由于没有类似于导入语句的“ pkg load image”行而引起的。但是就我而言,即使这样的陈述也未能解决我的问题。 我正在使用Octave版本4.2.2,Windows 7 64位和i5处理器。

1 个答案:

答案 0 :(得分:1)

映像包在安装时决定是否应安装rgb2gray函数。八度4.4包含rgb2gray的实现,因此在安装时映像包将执行以下操作:

  1. 在另一个进程(octave -qf)中启动Octave
  2. 检查rgb2gray是否在此新过程中存在
  3. rgb2gray添加到要安装的功能列表中(仅当缺少功能时)

这意味着,如果在安装软件包时开始新的Octave进程时出现了这样的符号,则最终可能会获得没有该功能的图像软件包。我不确定怎么回事,因为检查是在启动八度音程之后完成的,没有读取任何初始化文件。

一种可能性是,如果您在Octave中有一些漏洞可以自动加载映像包,并且您完成的映像包安装就是升级。

解决方案:卸载并安装映像包。