現在、ラズベリー Pi で写真をキャプチャして処理するプロジェクトに取り組んでいます。写真は、ニコン 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()