2011-01-31 23 views
0

私のウェブアプリケーションでは、自分自身のパスポートスタイルの写真をアップロードする必要があります。 (IDカードプリンタを使用して、1「×1」顔ショットを印刷する(72 DPI)アプリケーション内で表示する アップロードされた画像DPIとサイズが印刷可能であることを確認してください

  • 印刷可能な画像を複数のサイズの

    • ウェブアバター:この写真は、いくつかの画像を生成するために使用されます300 dpi)の
    • 印刷可能な画像は、標準的なプリンタでレポートに印刷する(300+ DPI)

    私は、ユーザーが選択できるように)jqueryのベースの画像クロップツール(おそらくJCropを使用するつもりです彼らの顔のまわりの領域と画像の残りの部分を無視します。

    アップロードされる画像の解像度が、カードプリンタと通常のプリンタ(1インチx 1インチ以上)に印刷できるほど高い解像度であることを確認する方法はありますか?

    私の理解では、EXIM dpi情報は信頼できません。作物で選択したサイズは、生のイメージで少なくとも300x300ピクセルに等しいことを確認するだけですか?

    これはjavascriptまたはサーバー(Javaを使用しています)のクライアントで処理するのが最善でしょうか?

  • +2

    オリジナル画像のDPIは無関係です。あなたが気にするのは、出力デバイスのDPIと、出力画像のサイズです。あなたは1x1インチ* 300 DPIなので、300x300ピクセルを求めるのは間違いありません。 –

    +0

    @マーク - ありがとう、ありがとう。だから私は、画像の選択された領域が画像のほとんど(80 +%)を消費する顔のショットを含むことを確認する必要がある – Tauren

    答えて

    1

    画像の解像度が300dpiで高品質で印刷できるようにするには、ユーザーが選択している部分を確認するだけです。

    JCropをすばやく見てから、選択したイメージパートの座標にshowCoords()を使って簡単にアクセスできるようです。

    これで、選択した画像部分のサイズをピクセル単位で知ることができます。これは今あなたが300dpiであなたのイメージを印刷したいかどうかによって決まります。

    したがって、米国の300dpiの手紙の場合、2550x3300pxである必要があります。 DIN A4では2480x3508ピクセルになります。あなたはJCropから単に長方形の寸法はピクセル単位であるどのように大きな計算し、それはあなたが300dpiの時に希望のサイズに印刷するには十分大きいですかどうかを確認し得る座標のうちので

    ...

    希望に役立ちます。 ..

    編集:

    あなたがイメージが正しいことを確認するには、私はそれはあなたが使用するPythonスクリプトを使用して試みることができる画像の約80%を満たす顔をしているわけれますOpenCV ... OpenCVはすでに基本的な顔検出アルゴリズムを提供しています。だから、アップロードされた画像に顔検出アルゴリズムを実行させて、顔が含まれているかどうかを調べることができます。

    +0

    ありがとう、それは本質的に私が考えていたものです。私は1 "x1"を印刷する必要があるので、300x300ピクセルで十分です。私はより大きな問題は、画像に、中央に位置し、画像の約80%を消費する単一の顔が含まれていることを確認する方法です。 – Tauren

    +0

    私は顔の検出に関するあなたの質問についての答えにsomethignを編集しました。たぶんそれは役立ちます... – evident

    +0

    はい、サーバー側の顔の検出おそらく最高のソリューションです。私はPythonを使用していませんが、OpenCVを見ていきます。参考までに、顔検出を行うためのクライアント側のJS/Canvasソリューションを以下に示します。https://github.com/jaysalvat/jquery.fectionetection – Tauren

    関連する問題