<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AI - プログラミングで遊ブログ</title>
	<atom:link href="https://lemon818.com/tag/ai/feed/" rel="self" type="application/rss+xml" />
	<link>https://lemon818.com</link>
	<description>現役システムエンジニアが趣味でプログラミングする自由気ままなブログ</description>
	<lastBuildDate>Tue, 18 May 2021 16:00:42 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>	<item>
		<title>【Python】CentOS で画像から文字起こしをするサイトをつくったよ！</title>
		<link>https://lemon818.com/gazo-moziokoshi/</link>
		
		<dc:creator><![CDATA[Take]]></dc:creator>
		<pubDate>Tue, 18 May 2021 15:10:10 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[自作ゲーム]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[pytesseract]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[tesseract-ocr]]></category>
		<category><![CDATA[文字起こし]]></category>
		<category><![CDATA[画像]]></category>
		<guid isPermaLink="false">https://lemon818.com/?p=5483</guid>

					<description><![CDATA[Pythonで画像から文字起こしをするサイトをつくりました！！！ &#160; &#160; どーもTakeです。 このたび兄弟ブログである「スーパー開発ブログ」で Pythonで画像から文字起こしをするサイトをつくりま…]]></description>
										<content:encoded><![CDATA[<div class="sc_frame_wrap solid yellow">
<div class="sc_frame "><strong><span style="color: #000000;">Pythonで画像から文字起こしをするサイトをつくりました！！！</span></strong></div>
</div>
<p>&nbsp;</p>
<p><img fetchpriority="high" decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2021/05/gazouai.gif" alt="" width="664" height="546" class="aligncenter size-full wp-image-5484" /></p>
<p>&nbsp;</p>
<p>どーもTakeです。</p>
<p>このたび兄弟ブログである「<a href="https://superaikun.com/">スーパー開発ブログ</a>」で <strong><span style="color: #000000;">Pythonで画像から文字起こしをするサイトをつくりました！！！</span></strong></p>
<p>記事は<a href="https://superaikun.com/gazoMoziokoshi">こちら</a>です。</p>
<p>&nbsp;</p>
<p>このページを作るのがかなり大変でした。。。。</p>
<p>CentOs7というサーバ上で「tesseract-ocr」と「pytesseract」というパッケージを使ってやったんですが、うまくいかないことばかり、、、</p>
<p>なので、構築手順を簡単にページにまとめました！</p>
<p>よければこのページを参考に作ってみてください！</p>
<p>&nbsp;</p>
<div class="sc_frame_wrap block blue">
<div class="sc_frame_title">この記事でわかること！</div>
<div class="sc_frame ">
<div class="sc_frame_text">
<div class="sc_designlist ol square solid blue">
<ol>
<li>画像から文字起こしするための環境構築する方法</li>
<li>実際にテスト用の Python スクリプトをつくって動作させるまで</li>
</ol>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
<h2>画像から文字起こしするための環境構築</h2>
<p>&nbsp;</p>
<p>画像から文字起こしするための環境構築の方法について記述します。</p>
<p>この通りやればいけますが、下記を実行して<strong>エラーが出たら大抵うまくいきませんので、全部うまくいったことを確認してください。</strong></p>
<p>&nbsp;</p>
<h3>「tesseract-ocr」と「pytesseract」をインストールする</h3>
<p>&nbsp;</p>
<p>下記コマンドを実行してパッケージを入れます。</p><pre class="crayon-plain-tag"># yum install gcc gcc-c++ make
# yum install autoconf automake libtool
# yum install libjpeg-devel libpng-devel libtiff-devel zlib-devel</pre><p>
&nbsp;</p>
<p>つぎに「tesseract-ocr」を実行するために必要な「leptonica」を入れます。</p><pre class="crayon-plain-tag"># wget http://www.leptonica.org/source/leptonica-1.76.0.tar.gz
# tar -zxvf leptonica-1.76.0.tar.gz
# ./configure
# make
# make install</pre><p>
&nbsp;</p>
<p>つぎに vim コマンドで「/etc/profile」に下記内容を追記します。</p><pre class="crayon-plain-tag">export LD_LIBRARY_PATH=$LD_LIBRARY_PAYT:/usr/local/lib 
export LIBLEPT_HEADERSDIR=/usr/local/include 
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig 
carried out source /etc/profileMake it effective</pre><p>
&nbsp;</p>
<p>そんで「tesseract-ocr」を入れます。</p>
<p>git コマンドが入っていない場合「yum install git」で入れます。</p><pre class="crayon-plain-tag"># git clone -b master https://github.com/tesseract-ocr/tesseract.git tesseract-ocr
# ./autogen.sh
# ./configure 
# make 
# make install
# ldconfig</pre><p>
&nbsp;</p>
<h3>「tessdata」で言語パッケージをとってくる</h3>
<p>&nbsp;</p>
<p>「tessdata」っていう言語パッケージを取ってきます。</p>
<p>下記コマンドを実行します。</p><pre class="crayon-plain-tag">git clone https://github.com/tesseract-ocr/tessdata.git
mv tessdata /usr/local/share/tessdata</pre><p>
&nbsp;</p>
<p>あとは実際に動くか試してみます。</p><pre class="crayon-plain-tag">$ tesseract ims.png out -| jen</pre><p>
&nbsp;</p>
<p>上記は「img.png」って画像を読み込ませて「out」（テキストとして出力）されます。</p>
<p>日本語を文字起こししたい場合は jpn で言語指定します。</p>
<p>実行後に「Error」となく実行できればOK、out.txtの中身を確認して正常に動いていれば問題なしです。</p>
<p>&nbsp;</p>
<h4>ポイント！</h4>
<p>&nbsp;</p>
<p>「mv tessdata /usr/local/share/tessdata」を<span style="color: #ff0000;"><strong>絶対に忘れないこと</strong></span>！！！</p>
<p>しかも「cp」コマンド（コピー）ではなく「mv」コマンド（移動）であること！です！</p>
<p>なんでかわからないですが、「cp」コマンドだと旨く読み込まれなかったです。</p>
<p>&nbsp;</p>
<p>わたしはそもそも「mv」コマンドを忘れて実行してしまい下のようなエラーがでて私は詰みました笑</p><pre class="crayon-plain-tag"># 実行しようとしたときの出来事
$ tesseract ims.png out -| jen
Error in pixReaddenTiff: function not present
Error in pixReadMem: tiff: no pix returned
Error in pixaGenerateFontFromStrina: pix not made
Error in bnfCreate: font pixa not made Tesseract Open Source OCR Engine v5.0.0-alpha-20210401-118-g1c77 with Leptonica
Error in pixReadStreamPng: function not present
Error in pixReadStrean: png: no pix returned
Error in pixRead: pix not read Error during processing</pre><p>
&nbsp;</p>
<h3>「pytesseract 」をインストールする</h3>
<p>&nbsp;</p>
<p>ここまでくればあとは「pip install pytesseract 」を実行します。</p>
<p>ここまでエラーなしでいけていればOKです。</p>
<p>&nbsp;</p>
<p>参考サイト：</p>
<ul>
<li><a href="https://www.programmersought.com/article/70164685281/">https://www.programmersought.com/article/70164685281/</a></li>
<li><a href="https://github.com/tex2e/ocr-jpn">https://github.com/tex2e/ocr-jpn</a></li>
</ul>
<p>&nbsp;</p>
<h2>実際にPythonコードを書いてみる</h2>
<p>&nbsp;</p>
<p>実際に「tesseract」を python上で動作させます。</p>
<p>下記内容を pythonファイルとして保存（今回は test.py）とします。</p>
<p>&nbsp;</p><pre class="crayon-plain-tag">from pytesseract import pytesseract
from PIL import Image

# 読み込み対象ファイルの指定
img = Image.open("./img.png", "r")

# tesseractコマンドのインストールパス
pytesseract.tesseract_cmd = "/usr/local/bin/tesseract"

# 文字列として出力できる。
result = pytesseract.image_to_string(img, lang="eng+jpn")

print(result)</pre><p>
&nbsp;</p>
<p>そして「python test.py 」と実行すればコマンドライン上に画像に含まれるメッセージが出力されます。</p>
<p>&nbsp;</p>
<p>処理の中身は超簡単です。</p>
<p>まず img.png っていう画像ファイルを読み込んで「/usr/local/tesseract」を呼び出して実行して変数に格納し、</p>
<p>その変数を出力するだけのスクリプトです。</p>
<p>&nbsp;</p>
<h2>最後に</h2>
<p>&nbsp;</p>
<p>いかがでしたでしょうか？</p>
<p><span style="color: #000000;">Pythonで画像から文字起こしをする方法を解説しました。</span></p>
<p>&nbsp;</p>
<p>わたしの兄弟ブログである「<a href="https://superaikun.com/">スーパー開発ブログ</a>」の<a href="https://superaikun.com/gazoMoziokoshi">こちら</a>の記事に実際に動作するものが乗っています。</p>
<p>ただ英語は精度がかなりいいんですが、日本語が精度が悪いです。。。</p>
<p>ですが、結構面白いサイトなのでぜひチェックして見てください！</p>
<p>ではでは。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
