unit-testing - 测试图像/视频转换类

标签 unit-testing image testing video

我有一个将图像和视频转换为其他格式的类。许多选项可用,例如大小、缩放模式、背景颜色等(想想 ImageMagick 的 convert 命令)。关于如何测试它的任何想法?执行所有选项的代码并不难写,但我不确定如何确认结果是否有效,尤其是对于视频。

一个想法是通过 identify 或 mediainfo 运行生成的文件,看看结果是否符合我的预期。这不适用于大小合适的图像等,但看起来完全错误。

另一个想法是手动确认生成的文件一次,保存这些文件,然后在每次运行测试时将它们与新转换的文件进行比较。这样做的缺点是需要 #inputs x #options 输出文件,这可能会变得很大,尤其是视频。

这是徒劳的事还是有合理的方法来完成这件事?

最佳答案

对于图像,您可以计算一些简单的指标(颜色直方图、边缘直方图等)并验证它们在转换前后是否相同(在一定公差范围内)。

对于视频,您可以对以一定间隔采样的帧执行相同的操作。当然,这不是一个完美的保证,但它在实践中应该会很好地工作。

当然,您必须选择对转换过程产生的变化类型不变的指标,或者考虑比较函数中的预期变化。

关于unit-testing - 测试图像/视频转换类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3226942/

相关文章:

android - 线程上的 robolectric runOnUiThread 不起作用

Python dir() 不显示包中的所有模块

unit-testing - 如何使用 SolrJ 禁用 solr 日志记录?

Android:如何以原始大小显示图像

html - 为什么我的图像下面有空间?

android - 是否可以使用 junit 测试来测试本地值?

java - ANT Jenkins 单元测试 - 计算失败的测试

html - 移动网站 : Detecting when images have been disabled

testing - 基于现有立方体数据(但更大)创建测试立方体

python - 通过python脚本在虚拟机cmd中发送DOS命令