0
我有一个问题涉及到一些图像处理算法的单元测试。以图像旋转为例,为了执行图像旋转,通常我们需要两个参数:一个是旋转角度,另一个是重新采样方法,执行图像旋转的函数然后具有以下签名:图像旋转单元测试
void rotate_image(const Image &image, const double rotationAngle, const int rotationMethod, Image &rotatedImage);
那么,我们如何设计一个好的单元测试框架来测试这个函数呢?目前我唯一能找到的解决方案是:首先通过使用其他先进的软件包(例如,旋转角度和重新采样方法)获取地面实况图像(即旋转图像) ,MATLAB图像处理工具箱);之后获得使用实现的功能的旋转后的图像;最后,比较两张图片。如果差分图像的绝对和小于阈值,则该函数通过单元测试。我想知道是否有其他解决方案可以解决这个问题。谢谢。
如果结果是完全确定的,您可以生成旋转后的图像,直观地验证它(在查看器中打开并验证它确实旋转),将其序列化为文件,然后在单元测试中调用该函数并进行比较存储的(参考)结果。 – utnapistim
对于单元测试,您可以创建您自己的(简单)图像,其中可以*手工计算预期结果*。 – Jarod42