PhotoTools65

Compare image processing times for each language processing system and library

For each language processing system(JavaScript, Python, C++, Java, C#.NET) and library(OpenCV, Pillow), I measured the time it took to perform simple image processing.

Processing

Color images are converted to grayscale and binarized.

Original image

Result Image

Implement

I reproduced the implementation that is typical for each processing system. It is not completely identical processing, but the input/output data format and detailed processing methods (whether or not memory is allocated, rounding, etc.) are different.
The implementation of the time measurement range is shown below. Image input and output was performed before and after this, and it was confirmed that grayscale conversion and binarization were performed correctly.

Processing time measurement

Test Image

4094x3780pixel
7230x5428pixel
14364x11356pixel

※ The 4094x3780pixel image is an aerial photograph taken by the Geospatial Information Authority of Japan.

Processing time measurement value (unit: ms)

Processing time graph display

Test images (Graph showing processing time for selected images)

※ C#.NET processing time does not fit in the graph drawing area.

Feel