簡體   English   中英

覆盆子pi圖像裁剪非常慢

[英]raspberry pi image cropping very slow

我目前正在從事一個在樹莓派上捕獲和處理照片的項目。 照片是從Nikon D5200相機中取出的6000X4000約2 mb。 一切工作正常,我已經用Java進行了概念驗證,並希望根據樹莓上使用哪種語言更快將其轉換為python或C。

沒問題的是圖像需要裁剪並重新調整大小,這在樹莓中花費了很長時間。 在Java中,讀取圖像,裁剪和寫入新圖像的整個過程大約需要2分鍾。

我也嘗試過ImageMagick,但是在命令行中,這甚至需要花費3分鍾。

我用一個小的python腳本將其減少到20秒,但這對於我的項目來說仍然有點長。

目前,我正在安裝OpenCV來檢查它是否更快,此過程大約需要4個小時,因此我想在此期間我可以在這里提問。

是否有人有任何好的主意或庫來加快裁剪和調整圖像大小的過程。

以下是我使用的python代碼

import Image

def crop_image(input_image, output_image, start_x, start_y, width, height):
    """Pass input name image, output name image, x coordinate to start croping, y     coordinate to start croping, width to crop, height to crop """
input_img = Image.open(input_image)
box = (start_x, start_y, start_x + width, start_y + height)
output_img = input_img.crop(box)
output_img.save(output_image +".jpg")
def main():
   crop_image("test.jpg","output", 1000, 0, 4000, 4000)

if __name__ == '__main__': main()

第一種方法(不包含精靈)

import pyglet
#from pyglet.gl import *

image = pyglet.resource.image('test.jpg')
texture = image.get_texture()
## -- In case you plan on rendering the image, use the following gl set:
#gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MAG_FILTER, gl.GL_NEAREST)
texture.width = 1024
texture.height = 768
texture.get_region(256, 192,771, 576)
texture.save('wham.png') # <- To save as JPG again, install PIL

第二次嘗試(帶有精靈,未完成)

import pyglet, time
start = time.time() #DEBUG
texture = pyglet.image.load('test.jpg')
print('Loaded image in',time.time()-start,'sec') #DEBUG
sprite = pyglet.sprite.Sprite(texture)
print('Converted to sprite in',time.time()-start,'sec') #DEBUG
print(sprite.width) #DEBUG
# Gives: 6000
sprite.scale = 0.5
print('Rescaled image in',time.time()-start,'sec') #DEBUG
print(sprite.width) #DEBUG
# Gives: 3000

兩種解決方案在一台速度極慢的PC上運行,運行速度慢的PC都在Windows XP下運行約3-5秒。我什至無法計算正在運行的應用程序的數量,包括主動病毒掃描等。但是請注意,我可以記住如何將一個精靈保存到磁盤,您需要訪問該精靈內的AbstractImage數據容器才能將其取出。

您將嚴重受限於磁盤/存儲卡I / O。 我的圖像是16MB 6000x4000像素。當加載速度僅為3秒時,我感到驚訝。

您嘗試過jpegtran 它提供jpeg的無損裁剪。 它應該在libjpeg-progs軟件包中。 我懷疑對圖像進行裁剪以使其裁剪,然后對其進行重新編碼對於SD卡而言實在是太多了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM