gpt4 book ai didi

CImg:如何测试文件是图像

转载 作者:太空宇宙 更新时间:2023-11-03 23:51:47 28 4
gpt4 key购买 nike

我正在使用 Cimg 图形库编写小型 C 程序,需要测试文件是否为图像。

我试图加载文件/图像

CImg<unsigned char> srcimg(filename)

并获得豁免,但 cimg 断然退出:

convert.im6: improper image header `pok.txt' @ error/bmp.c/ReadBMPImage/603.
convert.im6: no images defined `pnm:-' @ error/convert.c/ConvertImageCommand/3044.
sh: 1: gm: not found
terminate called after throwing an instance of 'cimg_library::CImgIOException'
what(): [instance(0,0,0,0,(nil),non-shared)] CImg<unsigned char>::load() : Failed to recognize format of file 'pok.txt'.
Aborted

当然,文件是txt,但是忽略后缀,有没有正确的方法如何测试这个?不涉及其他依赖项/库。

谢谢

最佳答案

如上所述,最好的办法是在 CImg 抛出异常时捕获异常,并在异常发生时跳过该特定文件。像这样的东西:

CImg<> img;
const char *const filename[] = { "foo.txt", "foo.bmp", "foo.jpg" }
for (unsigned int i = 0; i<3; ++i) {
try { img.load(filename[i]); } catch (CImgException) { img.assign(); }
if (img) {
.. Do what you want on your image now.
}
}

关于CImg:如何测试文件是图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18634962/

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