Image 不同的图像文件格式示例
在我们自己的软件中,我们支持加载不同类型的图像,包括但不限于.bmp、.gif、.tiff、.jpg和.png 在代码中,我注意到一些图像可能正在使用,但我们的一个图像处理库似乎缺少一些补丁(有时会丢失) 我想针对这些奇怪的图像格式(我们正在加载.png和.jpg ok)测试我们的软件,你能给我推荐一些图像集吗,在那里我可以下载很多不同的图像文件格式和不同的保存选项Image 不同的图像文件格式示例,image,image-processing,file-format,Image,Image Processing,File Format,在我们自己的软件中,我们支持加载不同类型的图像,包括但不限于.bmp、.gif、.tiff、.jpg和.png 在代码中,我注意到一些图像可能正在使用,但我们的一个图像处理库似乎缺少一些补丁(有时会丢失) 我想针对这些奇怪的图像格式(我们正在加载.png和.jpg ok)测试我们的软件,你能给我推荐一些图像集吗,在那里我可以下载很多不同的图像文件格式和不同的保存选项 所以颜色索引的.png/.tiff/.bmp将至少包括在内。虽然你的问题离题了,但我想给你一些建议 如果有什么东西在那里,Webs
所以颜色索引的.png/.tiff/.bmp将至少包括在内。虽然你的问题离题了,但我想给你一些建议 如果有什么东西在那里,Websearch将产生任何有用的东西,所以在这里提问没有太多意义 您计划做的是: 我们随机收集了各种格式的图像,希望您的软件能够正确处理它们 如果软件出现故障,您想告诉用户什么?“对不起,伙计,这个特定的用例不是我在网上找到的用于测试的随机图像集合的一部分?” 你应该做什么:
为软件声称支持的每种格式创建测试样本。对于每个受支持的格式,请确保为格式规范的每个方面都实现了一个测试示例 虽然你的问题离题了,但我想给你一些建议 如果有什么东西在那里,Websearch将产生任何有用的东西,所以在这里提问没有太多意义 您计划做的是: 我们随机收集了各种格式的图像,希望您的软件能够正确处理它们 如果软件出现故障,您想告诉用户什么?“对不起,伙计,这个特定的用例不是我在网上找到的用于测试的随机图像集合的一部分?” 你应该做什么:
为软件声称支持的每种格式创建测试样本。对于每个受支持的格式,请确保为格式规范的每个方面都实现了一个测试示例 正如@Pieget所建议的,您应该创建测试用例以确保覆盖率。您可以使用类似于ImageMagick的东西,这里有一个非常基本的脚本,可以生成一组不同格式的文件——当然,还有更多的可能,但是您需要指定自己的测试用例 这将创建一个测试JPEG文件:
magick xc:red xc:lime +append \( xc:blue xc:magenta +append \) -append -resize 600x600 test.jpg
如果您需要多种格式,这里有一个脚本:
#!/bin/bash
files=(test.gif test.jpg test.bmp PNG8:testPNG8.png PNG24:testPNG24.png PNG32:testPNG32.png PNG48:testPNG48.png PNG64:testPNG64.png test.tif)
for f in "${files[@]}"; do
magick xc:red xc:lime +append \( xc:blue xc:magenta +append \) -append -resize 600x600 "$f"
done
以下是输出文件:
-rw-r--r--@ 1 mark staff 1080138 14 Sep 09:26 test.bmp
-rw-r--r--@ 1 mark staff 109366 14 Sep 09:26 test.gif
-rw-r--r--@ 1 mark staff 24457 14 Sep 09:26 test.jpg
-rw-r--r--@ 1 mark staff 2160264 14 Sep 09:26 test.tif
-rw-r--r--@ 1 mark staff 62181 14 Sep 09:26 testPNG24.png
-rw-r--r--@ 1 mark staff 68153 14 Sep 09:26 testPNG32.png
-rw-r--r--@ 1 mark staff 545890 14 Sep 09:26 testPNG48.png
-rw-r--r--@ 1 mark staff 550337 14 Sep 09:26 testPNG64.png
-rw-r--r--@ 1 mark staff 6747 14 Sep 09:26 testPNG8.png
下面是所有蒙太奇的测试图像:
您可能需要循环执行以下操作:
- 格式
- 钻头深度(8,16,32)
- 色彩空间
- 苍白/非苍白
- 透明/不透明
- 压缩类型
- 交错/非交错
- 。。。等等
magick xc:red xc:lime +append \( xc:blue xc:magenta +append \) -append -resize 600x600 test.jpg
如果您需要多种格式,这里有一个脚本:
#!/bin/bash
files=(test.gif test.jpg test.bmp PNG8:testPNG8.png PNG24:testPNG24.png PNG32:testPNG32.png PNG48:testPNG48.png PNG64:testPNG64.png test.tif)
for f in "${files[@]}"; do
magick xc:red xc:lime +append \( xc:blue xc:magenta +append \) -append -resize 600x600 "$f"
done
以下是输出文件:
-rw-r--r--@ 1 mark staff 1080138 14 Sep 09:26 test.bmp
-rw-r--r--@ 1 mark staff 109366 14 Sep 09:26 test.gif
-rw-r--r--@ 1 mark staff 24457 14 Sep 09:26 test.jpg
-rw-r--r--@ 1 mark staff 2160264 14 Sep 09:26 test.tif
-rw-r--r--@ 1 mark staff 62181 14 Sep 09:26 testPNG24.png
-rw-r--r--@ 1 mark staff 68153 14 Sep 09:26 testPNG32.png
-rw-r--r--@ 1 mark staff 545890 14 Sep 09:26 testPNG48.png
-rw-r--r--@ 1 mark staff 550337 14 Sep 09:26 testPNG64.png
-rw-r--r--@ 1 mark staff 6747 14 Sep 09:26 testPNG8.png
下面是所有蒙太奇的测试图像:
您可能需要循环执行以下操作:
- 格式
- 钻头深度(8,16,32)
- 色彩空间
- 苍白/非苍白
- 透明/不透明
- 压缩类型
- 交错/非交错
- 。。。等等
- 多种格式(现代和过时;矢量、动画、3d和光栅;图像深度和颜色空间等)
- 具有无效数据结构的格式错误的文件(每种格式都不同,包括现有恶意软件、截断文件)
- Polyglot文件-同时是图像文件和另一种文件类型(,)的文件
- DoS文件,导致CPU过多(递归图像格式)或内存使用过多(例如高度压缩的黑色图像,尺寸大得惊人)
- 包含不同元数据的格式,包括无效元数据(例如)
我可以找到每个特定格式(例如)的测试套件的好例子。我做了一些搜索,但没有找到任何全面的图像格式测试档案;我所发现的是有限的:
- 多种格式(现代和过时;矢量、动画、3d和光栅;图像深度和颜色空间等)
- 具有无效数据结构的格式错误的文件(每种格式都不同,包括现有恶意软件、截断文件)
- Polyglot文件-同时是图像文件和另一种文件类型(,)的文件
- DoS文件,导致CPU过多(递归图像格式)或内存使用过多(例如高度压缩的黑色图像,尺寸大得惊人)
- 包含不同元数据的格式,包括无效元数据(例如)