我们的计算机一次获取数百张图像,我们需要尽可能快地旋转和调整它们的大小。旋转 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,但我们想知道性能提升是否会显着。
我们使用的硬件相当有限,因为设备应该尽可能小。
- 英特尔凌动 D525 (1,8 Ghz)
- 移动 Radeon HD 5430 系列
- 4 GB 内存
- SSD 垂直 3
该软件是带有官方(闭源)radeon 驱动程序的 debian 6。