cvtest: Computer Vision Test
Unit Test, Integration Test, System Test, Acceptance Test for Computer Vision and Deep Learning
Do you want to test your output of computer vision application which is video or images?
Standard test for computer vision application
There isn't any standard test for computer vision program. I wrote many test by myself and I would like to share some of them here. For example, I write a program to test docker and check the processing time, memory usage, CPU usage, etc. In computer vision application sometime you need to check the output which is the image. How do you want to check it. I write some program to check the output which is the image and compare the ground truth. I check some well known methods such as PSNR, SSIM, Image quality, distortion, brightness, sharpness, etc. Furthermore, I check much different hardware and write some test for computer vision application base on different hardware architecture and Evaluation hardware.
Do you want to know your program Automatically adjusting brightness of image in the right way?, How do you know using generic sharpening kernel to remove blurriness is working?, How to do check FPS process?, Which OCR system work better for your input image?
check S3 bucket in AWS for image and video files and versioning
Check Docker load balancer, memory usage, ...
In general I would create a wrapper/adapter that only exposes the needed functionality of such an external dependency. Apart from being able to easer adapt to changes of the external dependency, we can also mock the adapter in our tests and let it do things we could not do so easily with the dependency itself. For our example, we could it have return a predefined image in our test and it is also easier to test if our code behaves properly in presence of failures (that are usually hard to trigger with the real thing.
How to convert programming languages: Matlab/Python/C/C++ and modern C++ 23
1. trace the images: what happens to each image and memory and copy and transit to that image
1. Using a table and each column transitions for each image
2. always check the call by reference or call by value
3. check the naming similarity
2. compare the output of each step: store data, matrix, array, and vector to the text file and compare compliantly also compare the differences because in image processing some times not exactly output same and different version of OpenCV also has different result
1. the version of the library
2. the function use which library
3. the input/output of the function and call by reference or call by value
3. The same function in Matlab, Python, C++, and OpenCV is different even change OS also make difference in output
4. test ... test ... line by line