-5

映画のスクリーンショットから字幕を取得します。例 ここに画像の説明を入力してください

それはつかむでしょう

ねえ、どうしてみんなリラックスしてみませんか?

字幕とは関係ありません。スクリーンショットです。字幕なので、フォントの種類の大きさなどがわかりやすくなります。

ほとんどの人がPHPOCRライブラリと言うことは知っていますが、背景は常に異なるため、機能しないように見えます。

4

1 に答える 1

2

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

これは、私が何を意味するかについてのまともなアイデアを与える簡単な例#f5f5f5です#000000

<?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 が後援していると思います)。

于 2012-01-08T17:32:54.173 に答える