image - 错误:在 Octave 4.2.2 中未定义 rgb2gray
问题描述
我是 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 Version-4.2.2 、Windows 7 64 位和 i5 处理器。
解决方案
镜像包在安装时决定是否安装该rgb2gray
功能。Octave 4.4 包含一个实现,rgb2gray
因此安装时的映像包执行以下操作:
- 在另一个进程中启动 Octave (
octave -qf
) - 检查
rgb2gray
这个新进程中是否存在 rgb2gray
仅在缺少功能时才添加到要安装的功能列表中
这意味着如果在安装包时启动一个新的 Octave 进程有这样的符号,那么您最终可能会得到没有该功能的图像包。我不确定这是怎么发生的,因为检查是在启动 octave 之后完成的,而没有读取任何初始化文件。
一种可能性是,如果您在 Octave 中有一些 hack 来自动加载映像包,并且您完成的映像包的安装是升级。
解决方法:卸载再安装镜像包。
推荐阅读
- javascript - 请求 React 组件执行渲染以外的操作
- django - 如何验证 django 静态文件访问?
- visual-studio - 在 Visual Studio 2019 中创建文件时是否可以自动选择文件名?
- docker - 在基于 Debian 的 docker 镜像中安装 Java 运行时
- flutter - 如何在颤动中制作具有多种颜色的ColorTween动画
- c# - 如何使用 Roslyn Analyzer 检测特定方法是否不包含 try catch 块?
- c# - 如何在本地 sqlite 数据库中加载静态数据
- java - 如何让用户保持登录我的 android 应用程序
- c++ - 如何在对象向量上做lower_bound
- r - R - 为什么 data.frame 将仅由数字组成的列转换为字符向量?