第一次遇到这种奇怪的问题,只要一读入图片整个程序就崩溃了。太奇怪了,等我打开Halcon看看是哪里出错了,结果在read_image部分就出错了???
问题分析
我也不知道这种怪文件哪里来了,但是我估计是别人把图片给我的之前,强行修改了文件名的类型后缀。例如:这张图片原本的图片格式为XXX.png,结果被人强制改成了:XXX.jpg,Halcon在读入图片的时候按照jpg格式读入原本格式为png格式文件,那肯定会报错呀。
小声逼逼
虽然我没尝试,但是我斗胆认为格式工厂也没有办法拯救这种“杂交文件”。这个杂交文件本质上的芯子是png,但是强行套了一层jpg的皮,那格式工厂应该怎么看这种文件呢,它应该怎么转换这个格式文件呢?(如果格式工厂可以救回这种文件,那当我没说,抱歉,都是我在脑测)
解决办法1
参考博客:https://www.51halcon.com/forum.php?mod=viewthread&tid=528&highlight=read%5C_image
解决方法2
好麻烦哦,还要下载一个新的软件,反正就是看图片的内容嘛,打开Notepad++,把图片拖进Notepad++里查看编码,换成16进制编码。
这里能看到第一行显示图片的原本格式是png,我再手动把文件格式改回XXX.png,再read_image读入,就可以正常读入了(✪ω✪)。
小声说话
好奇怪,我用第一个方法,查看到的文件格式是jfif,用第二个方法查看到的格式是png。实际上这两种文件名后缀都可以在Halcon中打开使用,反正两种方法都可以用,各取所需咯。