ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
このチュートリアルでは、ビデオファイルからハードコードされた字幕を抽出する方法について学びます。 サンプル動画ファイルを使用して、ハードコーディングされた字幕をtxtファイルに抽出します。OCRプロセスを使用してハードコーディングされた字幕を抽出するC# .NETプログラムを開発します。 このチュートリアルはシンプルで分かりやすくしますので、初心者のC#プログラマーでも理解できるようにします。
効率的なOptical Character Recognitionが必要です。(OCR (光学式文字認識))字幕言語に関係なく、ビデオを処理して字幕ファイルを取得できるエンジン。
OCR結果を提供するライブラリは多数あります。 いくつかは有料であり、いくつかは使いにくく、またいくつかは効率的でないか正確でないため、無料で、効率的で、使いやすく、正確な結果を提供するライブラリを見つけることは非常に困難です。
IronOCRは、開発目的で無料で使用でき、商用利用には1ヶ月間の無料トライアルを提供しています。 150を超える言語をサポートし、他の多くのOCRライブラリよりも高い精度を提供します。 それはまた、効率的で使いやすいです。 このライブラリをデモンストレーションに使用します。
IronOCRは、開発者がC#およびVB.Netアプリケーションから画像やPDFドキュメントを読み取り、テキストを抽出することを可能にします。IronOCRは、製品の高いパフォーマンスと正確性で知られており、Microsoft OCRとTesseract OCRの技術を組み合わせています。これにより、複雑なレイアウトや出版物、手書きのテキストに対しても高い認識率を誇ります。
IronOCRを活用することで、あなたのアプリケーションは自動化されたデータ抽出機能を備え、業務効率を大幅に向上させることができます。
IronOCRは、C#ソフトウェアエンジニアが .NETプロジェクトでOCR、バーコードスキャン、およびテキスト抽出を実行するのを支援するために、Iron Softwareによって開発および保守されているライブラリです。
IronOCRの特徴には以下が含まれます:
、ストリーム、およびPDFファイル
検索可能なPDFのエクスポート、hOCR / HTMLのエクスポート、および画像コンテンツのテキスト。
ナンバープレート番号を読み取るデモアプリケーションを開発しましょう。
最初のステップは、新しいプロジェクトを作成することです。
Visual Studioを開きます。 Create New Project をクリックし、Console Application プロジェクトテンプレートを選択します。
次へ ボタンをクリックし、プロジェクトの名前を入力してください。(「OCR字幕」と名付けましたが、お好きな名前を付けていただいて構いません。).
Next ボタンをクリックし、ターゲットフレームワークを選択してください。 最後に、「Create」ボタンをクリックしてプロジェクトを作成します。
プロジェクトは以下のように作成されます。
Visual Studio で新しいプロジェクトを作成する
次に、プロジェクトで使用するためにIronOCRライブラリをインストールする必要があります。 最も簡単な方法は、ソリューションのためのNuGetパッケージマネージャーを介してインストールすることです。
上部のメニューバーからToolsをクリックし、NuGet Package Manager > Manage NuGet Packages for Solutionを選択してください。次の図を参照してください。
Visual Studio に IronOCR をインストールする
次のウィンドウが表示されます。
Visual Studio NuGet パッケージマネージャー UI
参照をクリックして、IronOCRを検索してください。 IronOCRパッケージを選択し、以下に示すようにインストールボタンをクリックします。
NuGetパッケージマネージャーUIでIronOCRを検索
IronOCRライブラリがインストールされ、使用準備が整います。
ハードコードされた字幕を抽出するプログラムを書きましょう。
以下のスクリーンショットを使用して字幕を抽出します。
テキストが抽出されるサンプルビデオのスクリーンショット
次の名前空間を追加してください:
using IronOcr;
using IronOcr;
Imports IronOcr
名前空間の宣言の下に次のコードを書いてください。
var ocr = new IronTesseract();
using (var input = new OcrInput(@"D:\Liscence Plate\plate3.jpg"))
{
var result = ocr.Read(input);
Console.WriteLine(result.Text);
}
var ocr = new IronTesseract();
using (var input = new OcrInput(@"D:\Liscence Plate\plate3.jpg"))
{
var result = ocr.Read(input);
Console.WriteLine(result.Text);
}
Dim ocr = New IronTesseract()
Using input = New OcrInput("D:\Liscence Plate\plate3.jpg")
Dim result = ocr.Read(input)
Console.WriteLine(result.Text)
End Using
上記のコードは次のように動作します:
初期化IronTesseract
オブジェクト それは IronTesseract
のデフォルトインスタンスを作成します。
新しいOcrInput(OCR入力)入力画像ファイルまたはPDFドキュメントで生成されたオブジェクト OcrInput
は、複数ページのドキュメントのOCRを可能にし、OCR前に画像を強化することができるため、より速く、より正確な結果を得るための好ましい入力タイプです。
OCR入力オブジェクトからテキストを読み取り、OCR結果オブジェクトを返します。 ocr.Read
指定された入力スクリーンショットから字幕を抽出します。
result.Text
は、指定された入力から抽出されたすべてのコンテンツを返します。
サンプルプログラムは以下のコンソール出力を生成します:
サンプル画像からテキスト抽出を行う際にIronOCRを使用して生成されたコンソール出力
ビデオのフレームに、ビデオのタイトルと字幕の両方が含まれていると仮定しましょう。
長いビデオの一部で、ビデオのタイトルおよび字幕のテキスト領域が含まれています。
私たちの目標は、画像の下部領域からハードコーディングされた字幕を抽出することです。 この場合、字幕が表示されるテキスト領域を指定する必要があります。
System.Drawing.Rectangle
を使用して、ビデオフレームから字幕を読み取る領域を指定することができます。 測定単位は常にピクセルです。
以下のサンプルコードを使用してテキスト領域を指定します。
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
// a 41% improvement on speed
var contentArea = new CropRectangle(x: 189, y: 272, height: 252, width: 77);
input.AddImage(@"D:\subtitle\image.png", contentArea);
var result = ocr.Read(input);
Console.WriteLine(result.Text);
}
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
// a 41% improvement on speed
var contentArea = new CropRectangle(x: 189, y: 272, height: 252, width: 77);
input.AddImage(@"D:\subtitle\image.png", contentArea);
var result = ocr.Read(input);
Console.WriteLine(result.Text);
}
Dim ocr = New IronTesseract()
Using input = New OcrInput()
' a 41% improvement on speed
Dim contentArea = New CropRectangle(x:= 189, y:= 272, height:= 252, width:= 77)
input.AddImage("D:\subtitle\image.png", contentArea)
Dim result = ocr.Read(input)
Console.WriteLine(result.Text)
End Using
これにより41%の速度増加が実現し、具体的に指定することが可能になります。 contentArea
では、xとyの開始点を指定し、その後に必要な字幕領域の高さと幅を指定しています。
抽出した字幕をTXTファイルに保存しましょう。
var ocr = new IronTesseract();
using (var input = new OcrInput(@"D:\subtitle\subtitle1.png"))
{
var result = ocr.Read(input);
result.SaveAsTextFile(@"D:\subtitle\subtitlefile.txt");
}
var ocr = new IronTesseract();
using (var input = new OcrInput(@"D:\subtitle\subtitle1.png"))
{
var result = ocr.Read(input);
result.SaveAsTextFile(@"D:\subtitle\subtitlefile.txt");
}
Dim ocr = New IronTesseract()
Using input = New OcrInput("D:\subtitle\subtitle1.png")
Dim result = ocr.Read(input)
result.SaveAsTextFile("D:\subtitle\subtitlefile.txt")
End Using
result.SaveAsTextFile(テキストファイルとして保存)
出力パスを引数として受け取り、指定されたパスにファイルを保存します。
![C#で字幕をOCRする方法(チュートリアル)
図8: ビデオのタイトルおよびビデオの字幕のテキスト領域を含む長いビデオの単一フレーム](/static-assets/ocr/blog/subtitle-ocr-csharp-tutorial/subtitle-ocr-csharp-tutorial-8.webp)
長いビデオの一部で、ビデオのタイトルおよび字幕のテキスト領域が含まれています。
このチュートリアルでは、IronOCRを使用して、ビデオスクリーンショットから字幕を読み取る非常にシンプルなプログラムを開発する方法を学びました。 以下の内容を日本語に翻訳します:
"We can also"
「私たちもまた」地域を指定するテキストを抽出したい対象。
IronOCRは、以下の機能を提供しますOpenCV以下を日本語に翻訳してください:
For IronPDF, Iron Software offers a variety of licenses, including Lite License, Plus License, Professional License, and Unlimited License. The Lite License is suitable for small projects, while the Plus License offers more features for larger applications. The Professional License provides extensive capabilities for enterprise-level needs, and the Unlimited License offers unrestricted usage. The licenses are designed to cater to different project sizes and requirements, ensuring that developers can choose the best fit for their needs.
IronPDFは、Iron Softwareによって提供されるライセンスの一部としてLite License、Plus License、Professional License、およびUnlimited Licenseを含みます。Lite Licenseは小規模なプロジェクトに適しており、Plus Licenseはより大規模なアプリケーションに対応した多くの機能を提供します。Professional Licenseは企業レベルのニーズに対応する広範な機能を備えており、Unlimited Licenseは無制限の使用を可能にします。これらのライセンスは、異なるプロジェクトの規模や要件に応じて設計されており、開発者が自分のニーズに最適な選択をできるようにします。コンピュータビジョン. 私たちは、IronOCRによってぼやけた画像や低解像度の画像からテキストを読み取ることができることを確認しました。 このライブラリは効率的で高精度を提供します。 127以上の言語に完全対応しています。 開発には無料であり、実運用に制限はありません。
要約すると、IronOCR は以下を提供します:
画像およびスキャンされたドキュメントをスキャンして読み取る機能
サポート世界の150以上の言語
.NET 6、5、Core、Standard、Frameworkをサポート
IronOCRは、Iron Softwareのライブラリスイートの一部であり、PDFの読み書き, Excelファイルの操作, 画像からテキストを読み取る、およびウェブサイトからコンテンツをスクレイピング. 完全セットを購入Iron Suiteこちらのコンテンツを以下の通り日本語に翻訳してください:
for the価格2つの個別ライブラリー。
9つの .NET API製品 オフィス文書用