2012-01-08 13 views
-5

私はムービーのスクリーンショットから字幕を取得します。 例 PHPでスクリーンショットから字幕を取得するには?

それは

をつかむだろうねえ、なぜ私たちのすべては、ちょうどハァッ、リラックスしませんか?

字幕とは関係ありません。それはスクリーンショットです。これは字幕であるため、フォントタイプのサイズなどがわかります。

私はあなたのほとんどがPHP OCRライブラリを言うだろうが、バックグラウンドは常に異なるので、動作しないように思えます。

+0

あなたの質問が本当に分かりません。 – nmagerko

+3

'それはうまくいかないようです.' - あなたは試しましたか?私はおそらくそうではありませんが、少なくとも試してみてください*。それがうまくいかない理由は、ほとんど何もないからです。 PHPのサポートをあらかじめ構築しているものはまったくありません。 – DaveRandom

+0

「うまくいかないように見えますが、試してみましたか?(OCRライブラリ)」字幕は一般的にシーンの一番下にあるので、多くの画像をトリミングすることができます。 – Alex

答えて

2

背景が異なる場合は問題ありません。画像ライブラリを使用して、テキストの色以外のものを削除することができます。

:ここ

はここで結果がどのように見えるかだ、それは#000000#f5f5f5より低い任意の色を置き換え、私が何を意味するかのまともなアイデアを提供します簡単な例だ

<?php 
$im = imagecreatefromjpeg("img.jpg"); 

for ($x = imagesx($im); $x--;) 
{ 
    for ($y = imagesy($im); $y--;) 
    { 
     $rgb = imagecolorat($im, $x, $y); 

     if ((($rgb >> 16) & 0xFF) <= 245 
      && (($rgb >> 8) & 0xFF) <= 245 
      && ($rgb & 0xFF) <= 245) 
     { 
      $black = imagecolorallocate($im, 0, 0, 0); 
      imagesetpixel($im, $x, $y, $black); 
     } 
    } 
} 

header("Content-Type: image/jpeg"); 
imagejpeg($im); 

字幕が最下部にあることを知っているので、おそらく上の部分のほとんどを切り取ることができます。次に、OCRライブラリを介して実行します。

PHPの場合はPhpOCRですが、最初に例文を教えてください。

おそらく、外部のOCRライブラリやコマンドラインツールを使用してPHPから呼び出す方が良いでしょう。外部ツールの場合、tesseractocropusがあります(私はocropusもGoogleによってスポンサーされていると信じています)。

+0

ありがとう。これは、前処理に役立ちます。その後、私はサーバー側のソリューションに取り組むべきだと思います。 PHPはこれを行うのに十分ではありません。 – SNaRe

関連する問題