起因:在写程序,代码是读取特定的图片格式:
test_dir = os.path.join(args.data_dir, test_name)
filepaths = glob.glob(test_dir + '/*.png')
但是手里有些图片的格式并不符合,又不想再改代码了。于是直接改了文件扩展名。把.tif改成了.png,嗯,程序可以读取改了文件扩展名的图片。
但又担心:不同格式,是代表不同的编码方式。直接粗暴地改文件扩展名,改后缀,是否对结果有影响。
网上查了下:
文件只根据文件名后缀判断类型
一般文件内容开头都会有一个文件类型的标记
JPEG (jpg),文件头:FF D8 FF E0 00 10 4A 46 49 46
PNG (png),文件头:89 50 4E 47 0D 0A 1A 0A
GIF (gif),文件头:47 49 46
实际上在服务器端读过来的是个二进制流,每个图像文件的二进制流特征都不一样,大部分服务器是完全不参考上传的文件名的,而是直接分析二进制流来判断是什么图片。
结论:
虽然我改了图片的文件扩展名,但是图片开头的文件类型标记没改。那么电脑还是按照原文件类型去处理图片(个人认为)。
我不担心了。