gpt4 book ai didi

c++ - 管道 ppm 图像到 eog 图像查看器不起作用

转载 作者:行者123 更新时间:2023-12-04 18:52:00 26 4
gpt4 key购买 nike

我正在使用 C++ 进行图像处理项目。要显示图像,我想使用默认的 ubuntu 图像查看器 (eog)。我的 Image16 类中有可以读写 PPM 文件的函数。我知道这些工作,因为我可以将它们写入硬盘,然后用 eog 打开它们。但是我不想将图像写入我的硬盘,因为我有一个 SSD,每个图像大约 100 Mb。我想直接将图像数据通过管道传输到 eog。然而,这会产生一个错误,我不知道为什么。

ifstream in("/home/chase/Desktop/moon.ppm");
Image16 img = Image16::read_ppm(in);
in.close();

FILE* f = popen("eog /dev/stdin", "w");
img.write_ppm(f, 255);
pclose(f);

enter image description here

我设法让它与 imagemagick display 和 feh 一起工作,但我真的不喜欢那些程序。如果可能的话,我想使用 eog。

最佳答案

如果你真的坚持eog,你可以把它包起来。例如,一个粗略的 bash 函数

$ eog- () { cat >/tmp/img && [ -s /tmp/img ] && eog "$@" /tmp/img; }
$ pngtopnm test.png | eog-

关于c++ - 管道 ppm 图像到 eog 图像查看器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29731836/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com