PhotoTools65

言語処理系およびライブラリごとの画像処理時間を比較

言語処理系(JavaScript, Python, C++, Java, C#.NET)およびライブラリ(OpenCV, Pillow)ごとに、簡単な画像処理を行う時間を計測した。

処理内容

カラー画像に対して、グレースケール変換と二値化を行う。

元画像

結果画像

実装方法

処理系ごとにありがちな実装を再現した。完全に同一の処理ではなく、入出力データ形式や細かな処理方式(メモリ確保有無や丸め処理など)が異なる。
時間計測範囲の実装を以下に示すが、この前後で画像入出力を行い、正常にグレースケール変換と二値化が行われることを確認した。

処理時間計測

実験画像

4094x3780画素
7230x5428画素
14364x11356画素

※ 4094x3780画素の画像は国土地理院の空中写真

処理時間計測値(単位:ms)

処理時間グラフ表示

実験画像(選択した画像の処理時間をグラフ表示する)

※ C#.NETの処理時間はグラフ描画エリアに収まっていない

感触