2010-12-29 10 views
2

私は、画像処理のために画像を展開し、PIL(Python Imaging Library)を使用するプログラムからWebアプリケーションを作りたいと考えています。私はWeb開発の初心者ですが、Javaサーブレットや(Python用の)WSGIなどを使って、アプリケーションのかなり高価な画像処理コンポーネントをWebサーバーに置くべきかどうかは不明です。 HTML5キャンバス。私はサーバー上で画像処理を行う裸のweb.py appを作ったが、私の最初のテストでは、合成された画像をHTTP経由でクライアントに送信する際にかなりのレイテンシを示していた(小さい200x200ピクセル画像)。あなたの助言は何ですか?どのようにこの問題にアプローチしますか?ウェブアプリケーション用の画像処理:サーバーまたはブラウザでですか?

ありがとうございます!

答えて

0

高可用性サイトを計画している場合は、クライアントの処理とメモリの消費電力を使用するのが理想的ですが、HTML5はまだ使用されているブラウザのほとんどでは完全にサポートされていません。おそらく、現時点ではサーバー側の編集を使用する方がよいでしょう。可能であればアップロード時に画像を処理し、編集した画像を保存して、1度に1枚ずつ処理するだけで済みます。アプリでこれが可能かどうかはわかりません。

0

一部のクラウド処理ソリューションサーバー側を実装することを検討することがあります。このようにして、ユーザーの数に応じてスケーラビリティが向上します。行われている画像処理の種類については言及していませんが、複雑なアルゴリズムでは非常に集中的になることがあります。

1

サーバー側とブラウザ側の両方で画像を処理できます。 java.awt.Imageを使用してJavaサーブレットでサーバー上にイメージを生成し、HTML5 Canvasを使用してブラウザ内のイメージのプレゼンテーションを操作/注釈を付けます。レイテンシは、ブラウザへの送信ではなく、サーバ上の画像の処理によって引き起こされる可能性が最も高いです。サーバー上のイメージを処理する時間があるため、イメージを非同期に処理して、ajaxスタイルで配信してユーザーのブラウザをロックアウトしないようにする必要があります。 JavaScriptのModernizrを使用して、ユーザーのブラウザにHTML5のサポートがあるかどうかを検出できます。