繁体   English   中英

在八度中仅读取一种RGB颜色

[英]Read only one RGB color in Octave

我必须使用PNG格式读取几百个RGB图像。 我只需要一种颜色(红色,绿色或蓝色),现在我正在做这样的事情:

A = imread(file);
A = A(:, :, 1);

我想知道是否有可能只读取一种颜色的值,以使读取速度更快。 我需要此操作尽快。

就像提到的@carandraug一样,octave不提供这种方法。 您已经发布了最简单的选项。 Octave使用ImageMagick作为读取图像文件的后端。 这里没有太多的优化空间。

此外,如果您确实需要加快读取大量图像的过程,则可能需要寻找替代的读取方法或自行实现。 一个好的起点是libpng的源代码。 另一个想法是先将RGB png转换为未压缩的简单bmp。 让图像转换过程由您选择的另一个快速程序处理。 例如在ram驱动器中创建bmp,并使用低级命令(fread)从八度读取它们。 可以在某种程度上优化此类策略。 但是只有在我们谈论大量图像的情况下,它们才值得付出努力。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM