コンピューターが一度に取得する何百もの画像があり、それらをできるだけ速く回転およびサイズ変更する必要があります。回転は、90 度、180 度、または 270 度で行われます。
現在、コマンド ライン ツールGraphicsMagickを使用して画像を回転させています。画像の回転 (5760*3840 ~ 22MP) には約 4 ~ 7 秒かかります。
次のpython コードは悲しいことに、同等の結果をもたらします
import cv
img = cv.LoadImage("image.jpg")
timg = cv.CreateImage((img.height,img.width), img.depth, img.channels) # transposed image
# rotate counter-clockwise
cv.Transpose(img,timg)
cv.Flip(timg,timg,flipMode=0)
cv.SaveImage("rotated_counter_clockwise.jpg", timg)
グラフィックカードの能力を使って画像を回転させるより速い方法はありますか? OpenCL と OpenGL が思い浮かびますが、パフォーマンスの向上が顕著になるかどうか疑問に思っています。
デバイスはできるだけ小さくする必要があるため、使用しているハードウェアはかなり限られています。
- インテル Atom D525 (1,8 Ghz)
- モビリティ Radeon HD 5430 シリーズ
- 4 GB の RAM
- SSD バーティリティ 3
ソフトウェアは、公式 (クローズド ソース) radeon ドライバーを搭載した debian 6 です。