rgba(チャネルごとに8ビット)の画像を含む文字列を処理しているので、文字列の4文字ごとに1ピクセルがあり、各文字はそのピクセルの1チャンネルです例えば:文字列からn文字ごとにn文字を効率的に取得
#4x4 pixel image
img_str = 'rgbargbargbargba'
は今本当に速い使用しているアルファチャンネルを抽出し、はるかに大きなイメージを想像してみてください。
img_str_a = img_str[3::4]
# result applying this to the 4x4 image would be 'aaaa'
これは、1350x765の画像の周りを2ミリ秒で実行されます。しかし今はRGBチャンネルを抽出し、4x4画像で 'rgbrgbrgbrgb'のような文字列で終わらせる必要があります。私はこれを試しました:
img_str_rgb = ''.join('' if i%4 == 0 else char for i, char in enumerate(img_str, 1))
これはうまくいますが、同じ1350x765画像で約700msかかります。それは私がビデオを処理しているので、たくさんありますので、はるかに少ない時間が必要です。代わりに、単一の文字を結合する
なぜ「numpy」を使用しないのですか? – Daniel
あなたがしようとしていることを理解するには、さらに多くの入力と期待される出力が役立ちます。 –
こんにちはダニエル、私はnumpyで試していない、いくつかのテストを行います。お返事ありがとう – ciclopez