(57)【要約】【課題】回転後の第１読取り画像の向きと回転後の第２読取り画像の向きとを揃えることができる情報処理装置を提供する。【解決手段】原稿の第１面を読み取った第１読取り画像と、原稿の第１面とは反対側の第２面を読み取った第２読取り画像と、を取得する取得部と、情報処理部とを備え、情報処理部は、第１読取り画像に対する文字認識処理により特定された第１読取り画像の向きである第１文字認識画像向き、および第２読取り画像に対する文字認識処理により特定された第２読取り画像の向きである第２文字認識画像向きのうち、いずれかの文字認識画像向きを選択し、情報処理部は、選択した文字認識画像向きに基づいて、第１読取り画像と第２読取り画像とを回転させる。【選択図】図１６
2020088736.tif 000002
【特許請求の範囲】
【請求項１】
原稿の第１面を読み取った第１読取り画像と、前記原稿の前記第１面とは反対側の第２面を読み取った第２読取り画像と、を取得する取得部と、
情報処理部と、を備え、
前記情報処理部は、前記第１読取り画像に対する文字認識処理により特定された前記第１読取り画像の向きである第１文字認識画像向き、および前記第２読取り画像に対する文字認識処理により特定された前記第２読取り画像の向きである第２文字認識画像向きのうち、いずれかの文字認識画像向きを選択し、
前記情報処理部は、選択した前記文字認識画像向きに基づいて、前記第１読取り画像と前記第２読取り画像とを回転させることを特徴とする情報処理装置。
【請求項２】
前記情報処理部は、前記第１文字認識画像向きに対する信頼度である第１画像向き信頼度が、前記第２文字認識画像向きに対する信頼度である第２画像向き信頼度よりも大きいか否かを判断し、
前記情報処理部は、前記第１画像向き信頼度が前記第２画像向き信頼度よりも大きいと判断したときには、前記第１文字認識画像向きおよび前記第２文字認識画像向きのうち、前記第１文字認識画像向きを選択し、前記第１画像向き信頼度が前記第２画像向き信頼度よりも小さいと判断したときには、前記第１文字認識画像向きおよび前記第２文字認識画像向きのうち、前記第２文字認識画像向きを選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理部は、前記第１画像向き信頼度および前記第２画像向き信頼度が閾値よりも小さいか否かを判断し、
前記情報処理部は、前記第１画像向き信頼度および前記第２画像向き信頼度が前記閾値よりも小さいと判断したときに、前記第１読取り画像に対して文字認識処理以外の画像解析処理を行うことで、前記第１読取り画像の向きを特定し、前記第２読取り画像に対して文字認識処理以外の画像解析処理を行うことで、前記第２読取り画像の向きを特定し、
前記情報処理部は、前記第１読取り画像に対する文字認識処理以外の画像解析処理により特定された前記第１読取り画像の向きである第１非文字認識画像向きに基づいて、前記第１読取り画像を回転させ、前記第２読取り画像に対する文字認識処理以外の画像解析処理により特定された前記第２読取り画像の向きである第２非文字認識画像向きに基づいて、前記第２読取り画像を回転させることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記情報処理部は、前記第１面のヘッダー領域およびフッター領域の少なくとも一方を含む第１端部領域に対する文字認識処理を行うことで、前記第１端部領域に含まれる文字の向きを特定し、前記第１端部領域に含まれる文字について特定された向きである第１端部文字向きに基づいて、前記第１読取り画像の向きを特定し、
前記情報処理部は、前記第２面のヘッダー領域およびフッター領域の少なくとも一方を含む第２端部領域に対する文字認識処理を行うことで、前記第２端部領域に含まれる文字の向きを特定し、前記第２端部領域に含まれる文字について特定された向きである第２端部文字向きに基づいて、前記第２読取り画像の向きを特定することを特徴とする請求項１ないし３のいずれか一項に記載の情報処理装置。
【請求項５】
前記情報処理部は、前記第１面のうち前記ヘッダー領域でなく前記フッター領域でもない第１非端部領域に対する文字認識処理を行うことで、前記第１非端部領域に含まれる文字の向きを特定し、前記第１非端部領域に含まれる文字について特定された向きである第１非端部文字向きよりも、前記第１端部文字向きに大きい重みを付けることにより、前記第１読取り画像の向きを特定し、
前記情報処理部は、前記第２面のうち前記ヘッダー領域でなく前記フッター領域でもない第２非端部領域に対する文字認識処理を行うことで、前記第２非端部領域に含まれる文字の向きを特定し、前記第２非端部領域に含まれる文字について特定された向きである第２非端部文字向きよりも、前記第２端部文字向きに大きい重みを付けることにより、前記第２読取り画像の向きを特定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
原稿の第１面から読み取られた第１読取り画像と、前記原稿の前記第１面とは反対側の第２面から読み取られた第２読取り画像と、を取得し、
前記第１読取り画像に対する文字認識処理により特定された前記第１読取り画像の向きである第１文字認識画像向き、および前記第２読取り画像に対する文字認識処理により特定された前記第２読取り画像の向きである第２文字認識画像向きのうち、いずれかの文字認識画像向きを選択し、
選択した前記文字認識画像向きに基づいて、前記第１読取り画像と前記第２読取り画像とを回転させる
ことを特徴とする情報処理装置の画像回転方法。
【請求項７】
コンピューターに、
原稿の第１面から読み取られた第１読取り画像と、前記原稿の前記第１面とは反対側の第２面から読み取られた第２読取り画像と、を取得するステップと、
前記第１読取り画像に対する文字認識処理により特定された前記第１読取り画像の向きである第１文字認識画像向き、および前記第２読取り画像に対する文字認識処理により特定された前記第２読取り画像の向きである第２文字認識画像向きのうち、いずれかの文字認識画像向きを選択するステップと、
選択した前記文字認識画像向きに基づいて、前記第１読取り画像と前記第２読取り画像とを回転させるステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿から読み取られた読取り画像を回転させる情報処理装置、情報処理装置の画像回転方法、およびプログラムに関するものである。
【背景技術】
【０００２】
従来、特許文献１が開示するように、原稿から読み取られた読取り画像に対する文字認識処理を行うことで、読取り画像の向きを特定し、特定された読取り画像の向きに基づいて、読取り画像を回転させる画像読取装置が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１９４９１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の原稿読取装置により、原稿の両面を読み取り、原稿の第１面の第１読取り画像の向きに基づき第１読取り画像を回転させ、原稿の第２面の第２読取り画像の向きに基づき第１読取り画像を回転させた場合、回転後の第１読取り画像の向きと回転後の第２読取り画像の向きとが違ってしまうことがあった。例えば、第１読取り画像および第２読取り画像の一方については、文字認識処理により正しく向きが特定されたが、第１読取り画像および第２読取り画像の他方については、文字認識処理により誤って向きが特定された場合または第２読取り画像の向きを特定できなかった場合に、回転後の第１読取り画像の向きと回転後の第２読取り画像の向きとを揃えることができなかった。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、原稿の第１面を読み取った第１読取り画像と、原稿の第１面とは反対側の第２面を読み取った第２読取り画像と、を取得する取得部と、情報処理部と、を備え、情報処理部は、第１読取り画像に対する文字認識処理により特定された第１読取り画像の向きである第１文字認識画像向き、および第２読取り画像に対する文字認識処理により特定された第２読取り画像の向きである第２文字認識画像向きのうち、いずれかの文字認識画像向きを選択し、情報処理部は、選択した文字認識画像向きに基づいて、第１読取り画像と第２読取り画像とを回転させる。
【０００６】
本発明の情報処理装置の画像回転方法は、原稿の第１面から読み取られた第１読取り画像と、原稿の第１面とは反対側の第２面から読み取られた第２読取り画像と、を取得し、第１読取り画像に対する文字認識処理により特定された第１読取り画像の向きである第１文字認識画像向き、および第２読取り画像に対する文字認識処理により特定された第２読取り画像の向きである第２文字認識画像向きのうち、いずれかの文字認識画像向きを選択し、選択した文字認識画像向きに基づいて、第１読取り画像と第２読取り画像とを回転させる。
【０００７】
本発明のプログラムは、コンピューターに、原稿の第１面から読み取られた第１読取り画像と、原稿の第１面とは反対側の第２面から読み取られた第２読取り画像と、を取得するステップと、第１読取り画像に対する文字認識処理により特定された第１読取り画像の向きである第１文字認識画像向き、および第２読取り画像に対する文字認識処理により特定された第２読取り画像の向きである第２文字認識画像向きのうち、いずれかの文字認識画像向きを選択するステップと、選択した文字認識画像向きに基づいて、第１読取り画像と第２読取り画像とを回転させるステップと、を実行させる。
【図面の簡単な説明】
【０００８】
【図１】読取り装置および情報処理装置を備えた読取りシステムを示す図である。
【図２】読取り装置および情報処理装置のブロック図である。
【図３】第１原稿の第１面を示す図である。
【図４】第１原稿の第２面を示す図である。
【図５】第２原稿の第１面を示す図である。
【図６】第２原稿の第２面を示す図である。
【図７】第３原稿の第１面を示す図である。
【図８】第３原稿の第２面を示す図である。
【図９】第１原稿の読取り後、個別回転処理および連動回転処理が行われない場合に、処理側表示部に表示された第１読取り画像および第２読取り画像を示す図である。
【図１０】第２原稿の読取り後、個別回転処理および連動回転処理が行われない場合に、処理側表示部に表示された第１読取り画像および第２読取り画像を示す図である。
【図１１】第３原稿の読取り後、個別回転処理および連動回転処理が行われない場合に、処理側表示部に表示された第１読取り画像および第２読取り画像を示す図である。
【図１２】個別回転処理を示すフローチャートである。
【図１３】第１原稿の読取り後、個別回転処理が行われた場合に、処理側表示部に表示された第１読取り画像および第２読取り画像を示す図である。
【図１４】第２原稿の読取り後、個別回転処理が行われた場合に、処理側表示部に表示された第１読取り画像および第２読取り画像を示す図である。
【図１５】第３原稿の読取り後、個別回転処理が行われた場合に、処理側表示部に表示された第１読取り画像および第２読取り画像を示す図である。
【図１６】連動回転処理を示すフローチャートである。
【図１７】第２原稿の読取り後、連動回転処理が行われた場合に、処理側表示部に表示された第１読取り画像および第２読取り画像を示す図である。
【図１８】第３原稿の読取り後、連動回転処理が行われた場合に、処理側表示部に表示された第１読取り画像および第２読取り画像を示す図である。
【図１９】原稿の第１端部領域および第１非端部領域を示す図である。
【発明を実施するための形態】
【０００９】
以下、情報処理装置、情報処理装置の画像回転方法およびプログラムの一実施形態について説明する。なお、画像そのもの、および画像を表示するための画像データは、特に区別せずに、画像と称される。
【００１０】
図１に基づいて、読取りシステムＳｙについて説明する。読取りシステムＳｙは、読取り装置１と、情報処理装置１０１とを備えている。読取り装置１と情報処理装置１０１とは、通信可能に接続されている。
【００１１】
読取り装置１は、ＡＤＦ３（Auto Document Feeder）と、第１読取り部５と、第２読取り部７とを備えている。
【００１２】
ＡＤＦ３は、セット部９にセットされた原稿２０１を搬送する。ＡＤＦ３は、セット部９と、供給ローラー１１と、複数の搬送ローラー対１３と、搬送モーター１５と、排出部１７とを備えている。セット部９には、原稿２０１がセットされる。なお、本実施形態では、セット部９にセットされた原稿２０１の両面のうち、斜め下方を向いた面、すなわちセット部９と向かい合った面、を第１面２０３といい、斜め上方を向いた面、すなわちセット部９とは反対側を向いた面、を第２面２０５という。供給ローラー１１は、セット部９にセットされた原稿２０１を、搬送モーター１５を駆動源として、排出部１７に向けて搬送する。搬送ローラー対１３は、供給ローラー１１により搬送された原稿２０１を、搬送モーター１５を駆動源として、排出部１７に向けてさらに搬送する。排出部１７には、搬送ローラー対１３により搬送された原稿２０１が排出される。
【００１３】
第１読取り部５は、搬送される原稿２０１の第１面２０３と向かい合うように設けられており、原稿２０１の第１面２０３を読み取る。第１読取り部５は、図示省略したが、光源と、イメージセンサーとを備えている。第２読取り部７は、搬送される原稿２０１の第２面２０５と向かい合うように設けられており、原稿２０１の第２面２０５を読み取る。第２読取り部７は、図示省略したが、第１読取り部５と同様に、光源と、イメージセンサーとを備えている。
【００１４】
読取り装置１は、第１読取り部５および第２読取り部７を備えたことで、原稿２０１がセット部９から排出部１７まで搬送される間に、原稿２０１の第１面２０３と第２面２０５とを読み取ることができる。第１読取り部５により第１面２０３から読み取られた第１読取り画像２０７（図９等参照）と、第２読取り部７により第２面２０５から読み取られた第２読取り画像２０９（図９等参照）とは、情報処理装置１０１に送信される。なお、読取り装置１は、単一の読取り部を備え、ＡＤＦ３により原稿２０１を表裏反転させることにより、原稿２０１の第１面２０３と第２面２０５とを読み取る構成でもよい。
【００１５】
情報処理装置１０１は、読取り装置１を制御し、読取り装置１から送信された第１読取り画像２０７および第２読取り画像２０９を受信する。なお、情報処理装置１０１としては、例えば、パソコン、スマートフォン、タブレット端末などを用いることができる。
【００１６】
図２に基づいて、読取り装置１および情報処理装置１０１について説明する。読取り装置１は、上記したＡＤＦ３、第１読取り部５および第２読取り部７のほか、読取り側ＣＰＵ１９（Central Processing Unit）と、読取り側ＲＯＭ２１（Read Only Memory）と、読取り側ＲＡＭ２３（Random Access Memory）と、読取り側操作部２５と、読取り側表示部２７と、読取り側通信部２９とを備えている。
【００１７】
読取り側ＣＰＵ１９は、読取り側ＲＯＭ２１に記憶されたプログラムを、読取り側ＲＡＭ２３を用いて実行することにより、読取り装置１全体を統括的に制御する。読取り側操作部２５は、ユーザーからの操作を受け付ける。読取り側操作部２５としては、例えば、操作キーを用いることができる。読取り側表示部２７は、ユーザーに対して各種情報を表示する。読取り側表示部２７としては、例えば、液晶ディスプレーを用いることができる。なお、タッチパネル式ディスプレーを、読取り側操作部２５および読取り側表示部２７として機能させてもよい。読取り側通信部２９は、後述する処理側通信部１１５との間で、各種コマンドのほか、第１読取り画像２０７および第２読取り画像２０９を送受信する。
【００１８】
情報処理装置１０１は、処理側ＣＰＵ１０３と、処理側ＲＯＭ１０５と、処理側ＲＡＭ１０７と、外部記憶装置１０９と、処理側操作部１１１と、処理側表示部１１３と、処理側通信部１１５とを備えている。なお、処理側ＣＰＵ１０３は、「取得部」および「情報処理部」の一例である。取得部および情報処理部としては、１つに限られず、複数のＣＰＵによって構成するようにしてもよいし、処理側ＣＰＵ１０３に代えて、或いは処理側ＣＰＵ１０３と協働させて、ＡＳＩＣなどの処理回路を用いた構成としてもよい。また、処理側ＣＰＵ１０３は、「コンピューター」の一例である。コンピューターについても、上記と同様に、複数のＣＰＵによって構成してもよいし、処理側ＣＰＵ１０３に代えて、或いは処理側ＣＰＵ１０３と協働させて、ＡＳＩＣなどの処理回路を用いた構成としてもよい。
【００１９】
処理側ＣＰＵ１０３は、処理側ＲＯＭ１０５または外部記憶装置１０９に記憶されたプログラムを、処理側ＲＡＭ１０７を用いて実行することにより、情報処理装置１０１全体を統括的に制御する。外部記憶装置１０９は、各種プログラム、例えば、読取り装置１を制御するための制御プログラムであるスキャナードライバー、を記憶する。また、外部記憶装置１０９は、バッファーとして機能する処理側ＲＡＭ１０７を介して、読取り装置１から送信された第１読取り画像２０７および第２読取り画像２０９を記憶する。外部記憶装置１０９としては、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）を用いることができる。
【００２０】
処理側操作部１１１は、ユーザーからの操作を受け付ける。処理側操作部１１１としては、例えば、キーボード、マウスなどを用いることができる。処理側表示部１１３は、読取り装置１を操作するための操作画面、読取り装置１から送信された第１読取り画像２０７および第２読取り画像２０９、などの各種情報を表示する。処理側表示部１１３としては、例えば、液晶ディスプレーを用いることができる。なお、タッチパネル式ディスプレーを、処理側操作部１１１および処理側表示部１１３として機能させてもよい。処理側通信部１１５は、読取り側通信部２９との間で、各種コマンドのほか、第１読取り画像２０７および第２読取り画像２０９を送受信する。
【００２１】
図３ないし図８に基づいて、セット部９にセットされた第１原稿２０１ａ、第２原稿２０１ｂおよび第３原稿２０１ｃについて説明する。第１原稿２０１ａ、第２原稿２０１ｂおよび第３原稿２０１ｃは、いずれも、縦長且つ長辺綴じ原稿である。すなわち、各原稿２０１の第１面２０３における上辺２１１と、第２面２０５における上辺２１１とは、同じ辺である。セット部９には、通常、各原稿２０１の上辺２１１がＡＤＦ３による搬送方向３１の先方となるように、原稿２０１がセットされるが、本実施形態では、各原稿２０１の上辺２１１が搬送方向３１の後方となるように、原稿２０１がセットされたものとする。
【００２２】
図３は、第１原稿２０１ａの第１面２０３を示し、図４は、第１原稿２０１ａの第２面２０５を示す。第１原稿２０１ａの第１面２０３には、複数の文字２１３が正立した向きで印刷されている。同様に、第１原稿２０１ａの第２面２０５には、複数の文字２１３が正立した向きで印刷されている。
【００２３】
図５は、第２原稿２０１ｂの第１面２０３を示し、図６は、第２原稿２０１ｂの第２面２０５を示す。第２原稿２０１ｂの第１面２０３には、複数の文字２１３が正立した向きで印刷されている。一方、第２原稿２０１ｂの第２面２０５には、例えば「人物」を表すイラスト２１５が、正立した向きで印刷されている。すなわち、第２原稿２０１ｂの第２面２０５には、文字２１３が印刷されていない。
【００２４】
図７は、第３原稿２０１ｃの第１面２０３を示し、図８は、第３原稿２０１ｃの第２面２０５を示す。第３原稿２０１ｃの第１面２０３には、イラスト２１５が正立した向きで印刷されている。同様に、第３原稿２０１ｃの第２面２０５には、イラスト２１５が正立した向きで印刷されている。すなわち、第３原稿２０１ｃの第１面２０３および第２面２０５には、文字２１３が印刷されていない。
【００２５】
図９は、第１原稿２０１ａが読み取られた後、情報処理装置１０１が後述する個別回転処理および連動回転処理を実行しない場合に、処理側表示部１１３に表示された第１読取り画像２０７および第２読取り画像２０９を示す。図１０は、第２原稿２０１ｂが読み取られた後、情報処理装置１０１が個別回転処理および連動回転処理を実行しない場合に、処理側表示部１１３に表示された第１読取り画像２０７および第２読取り画像２０９を示す。図１１は、第３原稿２０１ｃが読み取られた後、情報処理装置１０１が個別回転処理および連動回転処理を実行しない場合に、処理側表示部１１３に表示された第１読取り画像２０７および第２読取り画像２０９を示す。
【００２６】
セット部９には、上述したように、各原稿２０１の上辺２１１が搬送方向３１の後方となるように、原稿２０１がセットされる。そのため、第１原稿２０１ａ、第２原稿２０１ｂおよび第３原稿２０１ｃのいずれについても、第１読取り画像２０７および第２読取り画像２０９が、正立した向きから１８０°回転した向きとなっている。
【００２７】
このように、第１読取り画像２０７或いは第２読取り画像２０９が正立した向きから回転していると、第１読取り画像２０７や第２読取り画像２０９に含まれる文字２１３やイラスト２１５等がユーザーにとって見づらいものとなる。そこで、情報処理装置１０１は、第１読取り画像２０７の向きおよび第２読取り画像２０９の向きを、自動的に補正するようにしている。情報処理装置１０１には、第１読取り画像２０７の向きおよび第２読取り画像２０９の向きを補正するために、個別回転処理と連動回転処理とが用意されている。なお、個別回転処理と連動回転処理とは、処理側表示部１１３に表示される操作画面において、ユーザーが選択可能となっている。
【００２８】
図１２に基づいて、個別回転処理について説明する。個別回転処理は、処理側ＣＰＵ１０３がスキャナードライバーを実行することで、実現される。なお、個別回転処理は、ハードウェアのみで実現されてもよい。
【００２９】
ステップＳ０１において、処理側ＣＰＵ１０３は、読取り装置１から送信された第１読取り画像２０７および第２読取り画像２０９を取得する。
【００３０】
ステップＳ０２において、処理側ＣＰＵ１０３は、第１読取り画像２０７に対して、文字認識処理を行うことで、第１読取り画像２０７の向きを特定する。すなわち、処理側ＣＰＵ１０３は、第１読取り画像２０７に含まれる文字２１３を検出し、検出された個々の文字２１３を、例えば、０°、９０°、１８０°および２７０°の反時計回りの回転角度で回転させ、予め登録された辞書とのマッチングを行う。処理側ＣＰＵ１０３は、０°、９０°、１８０°および２７０°のなかから、最も正しく文字認識できた回転角度を、その文字２１３の向きとして特定し、その回転角度を示す変数に投票する。処理側ＣＰＵ１０３は、検出されたすべての文字２１３に対して投票を行った結果から、最も投票数の多い回転角度を、第１読取り画像２０７の向きと特定する。
【００３１】
ステップＳ０３において、処理側ＣＰＵ１０３は、第２読取り画像２０９に対して、文字認識処理を行うことで、第２読取り画像２０９の向きを特定する。その具体的な手法は、ステップＳ０２と同様である。
【００３２】
ステップＳ０４において、処理側ＣＰＵ１０３は、ステップＳ０２において文字認識処理により特定された第１読取り画像２０７の向きである第１文字認識画像向きに基づいて、第１読取り画像２０７を回転させる。ここで、第１文字認識画像向きに基づいて第１読取り画像２０７を回転させるとは、第１文字認識画像向きをθ1°としたときに、第１読取り画像２０７を時計回りにθ1°或いは反時計回りに（３６０−θ1）°回転させることを意味する。例えば、情報処理装置１０１は、第１文字認識画像向きが９０°である場合には、第１読取り画像２０７を時計回りに９０°或いは反時計回りに２７０°回転させる。これにより、第１読取り画像２０７の向きが０°となるように、すなわち第１読取り画像２０７に含まれる文字２１３が正立した向きとなるように、第１読取り画像２０７の向きを補正することができる。
【００３３】
ステップＳ０５において、処理側ＣＰＵ１０３は、ステップＳ０３において文字認識処理により特定された第２読取り画像２０９の向きである第２文字認識画像向きに基づいて、第２読取り画像２０９を回転させる。ここで、第２文字認識画像向きに基づいて第２読取り画像２０９を回転させるとは、第１読取り画像２０７の場合と同様に、第２文字認識画像向きをθ2°としたときに、第２読取り画像２０９を時計回りにθ2°或いは反時計回りに（３６０−θ2）°回転させることを意味する。なお、第１読取り画像２０７の回転方向と、第２読取り画像２０９の回転方向とは、同じでもよく、反対でもよい。
【００３４】
ステップＳ０６において、処理側ＣＰＵ１０３は、回転後の第１読取り画像２０７と、回転後の第２読取り画像２０９とを、処理側表示部１１３に表示させ、個別回転処理を終了する。
【００３５】
ここで、より具体的に、ステップＳ０１において、処理側ＣＰＵ１０３が、第１原稿２０１ａから読み取られた第１読取り画像２０７および第２読取り画像２０９を取得した場合と、第２原稿２０１ｂから読み取られた第１読取り画像２０７および第２読取り画像２０９を取得した場合と、第３原稿２０１ｃから読み取られた第１読取り画像２０７および第２読取り画像２０９を取得した場合とについて、説明する。
【００３６】
ステップＳ０１において、処理側ＣＰＵ１０３が、第１原稿２０１ａから読み取られた第１読取り画像２０７および第２読取り画像２０９（図９参照）を取得した場合には、ステップＳ０２において、処理側ＣＰＵ１０３は、文字認識処理により第１読取り画像２０７の向きを１８０°と特定する。同様に、ステップＳ０３において、処理側ＣＰＵ１０３は、文字認識処理により第２読取り画像２０９の向きを１８０°と特定する。
【００３７】
ステップＳ０４において、処理側ＣＰＵ１０３は、文字認識処理により特定された第１読取り画像２０７の向きである第１文字認識画像向きが１８０°であるため、第１読取り画像２０７を、時計回りに１８０°或いは反時計回りに１８０°回転させる。これにより、第１読取り画像２０７の向きが０°に補正される。
【００３８】
ステップＳ０５において、処理側ＣＰＵ１０３は、文字認識処理により特定された第２読取り画像２０９の向きである第２文字認識画像向きが１８０°であるため、第２読取り画像２０９を、時計回りに１８０°或いは反時計回りに１８０°回転させる。これにより、第２読取り画像２０９の向きが０°に補正される。
【００３９】
ステップＳ０６において、処理側ＣＰＵ１０３は、図１３に示したように、回転後の第１読取り画像２０７、すなわち画像の向きが０°に補正された第１読取り画像２０７と、回転後の第２読取り画像２０９、すなわち画像の向きが０°に補正された第２読取り画像２０９と、を処理側表示部１１３に表示させる。
【００４０】
このように、処理側ＣＰＵ１０３が個別回転処理を行うことで、第１読取り画像２０７および第２読取り画像２０９のいずれについても、文字認識処理により正しく向きが特定された場合には、回転後の第１読取り画像２０７の向きと回転後の第２読取り画像２０９の向きとを、所望の向き、すなわち０°に揃えることができる。
【００４１】
ステップＳ０１において、処理側ＣＰＵ１０３が、第２原稿２０１ｂから読み取られた第１読取り画像２０７および第２読取り画像２０９（図１０参照）を取得した場合には、ステップＳ０２において、処理側ＣＰＵ１０３は、第１読取り画像２０７の向きを１８０°と特定する。
【００４２】
ステップＳ０３において、処理側ＣＰＵ１０３は、上述したように、第２原稿２０１ｂの第２面２０５には、文字２１３ではなく、イラスト２１５が印刷されていることから、文字認識処理によって第２読取り画像２０９の向きを正確に特定することができない。ここでは、第２読取り画像２０９の向きは本来１８０°であるが、処理側ＣＰＵ１０３は、第２読取り画像２０９の向きを誤って０°と特定したものとする。
【００４３】
ステップＳ０４において、処理側ＣＰＵ１０３は、文字認識処理により特定された第１読取り画像２０７の向きである第１文字認識画像向きが１８０°であるため、第１読取り画像２０７を、時計回りに１８０°或いは反時計回りに１８０°回転させる。これにより、第１読取り画像２０７の向きが０°に補正される。
【００４４】
ステップＳ０５において、処理側ＣＰＵ１０３は、文字認識処理により特定された第２読取り画像２０９の向きである第２文字認識画像向きが０°であるため、第２読取り画像２０９を、時計回りに０°或いは反時計回りに３６０°回転させる。すなわち、処理側ＣＰＵ１０３は、第２読取り画像２０９を実質的に回転させない。このため、第２読取り画像２０９の向きは、１８０°のままとなる。
【００４５】
ステップＳ０６において、処理側ＣＰＵ１０３は、図１４に示したように、回転後の第１読取り画像２０７、すなわち画像の向きが０°に補正された第１読取り画像２０７と、回転させなかった第２読取り画像２０９、すなわち画像の向きが１８０°のままの第２読取り画像２０９と、を処理側表示部１１３に表示させる。
【００４６】
このように、第１読取り画像２０７および第２読取り画像２０９の一方については、文字認識処理により正しく向きが特定されたが、第１読取り画像２０７および第２読取り画像２０９の他方については、文字認識処理により誤って向きが特定された場合には、処理側ＣＰＵ１０３が個別回転処理を行っても、回転後の第１読取り画像２０７の向きと回転後の第２読取り画像２０９の向きとを揃えることができない。
【００４７】
ステップＳ０１において、処理側ＣＰＵ１０３が、第３原稿２０１ｃから読み取られた第１読取り画像２０７および第２読取り画像２０９（図１１参照）を取得した場合、ステップＳ０２において、処理側ＣＰＵ１０３は、上述したように、第３原稿２０１ｃの第１面２０３には、文字２１３ではなく、イラスト２１５が印刷されていることから、文字認識処理によって第１読取り画像２０７の向きを正確に特定することができない。ここでは、第１読取り画像２０７の向きは本来１８０°であるが、処理側ＣＰＵ１０３は、第１読取り画像２０７の向きを誤って９０°と特定したものとする。
【００４８】
ステップＳ０３において、処理側ＣＰＵ１０３は、第３原稿２０１ｃの第２面２０５には、文字２１３ではなく、イラスト２１５が印刷されていることから、文字認識処理によって第２読取り画像２０９の向きを正確に特定することができない。ここでは、第２読取り画像２０９の向きは本来１８０°であるが、処理側ＣＰＵ１０３は、第２読取り画像２０９の向きを誤って０°と特定したものとする。
【００４９】
ステップＳ０４において、処理側ＣＰＵ１０３は、文字認識処理により特定された第１読取り画像２０７の向きである第１文字認識画像向きが９０°であるため、第１読取り画像２０７を、時計回りに９０°或いは反時計回りに２７０°回転させる。このため、第１読取り画像２０７の向きは、９０°となる。
【００５０】
ステップＳ０５において、処理側ＣＰＵ１０３は、文字認識処理により特定された第２読取り画像２０９の向きである第２文字認識画像向きが０°であるため、第２読取り画像２０９を、時計回りに０°或いは反時計回りに３６０°回転させる。すなわち、処理側ＣＰＵ１０３は、第２読取り画像２０９を実質的に回転させない。このため、第２読取り画像２０９の向きは、１８０°のままとなる。
【００５１】
ステップＳ０６において、処理側ＣＰＵ１０３は、図１５に示したように、回転後の第１読取り画像２０７、すなわち画像の向きが９０°となった第１読取り画像２０７と、回転させなかった第２読取り画像２０９、すなわち画像の向きが１８０°のままの第２読取り画像２０９と、を処理側表示部１１３に表示させる。
【００５２】
このように、第１読取り画像２０７および第２読取り画像２０９のいずれもが、文字認識処理により誤って向きが特定された場合には、処理側ＣＰＵ１０３が個別回転処理を行っても、回転後の第１読取り画像２０７の向きと回転後の第２読取り画像２０９の向きとを揃えることができない。
【００５３】
そこで、情報処理装置１０１は、第１読取り画像２０７および第２読取り画像２０９の少なくとも一方について、文字認識処理により誤って向きが特定された場合にも、回転後の第１読取り画像２０７の向きと回転後の第２読取り画像２０９の向きとを揃えることができる連動回転処理を備えている。
【００５４】
図１６に基づいて、連動回転処理について説明する。この連動回転処理は、「画像回転方法」の一例である。連動回転処理は、個別回転処理と同様に、処理側ＣＰＵ１０３がスキャナードライバーを実行することで、実現される。なお、連動回転処理は、ハードウェアのみで実現されてもよい。
【００５５】
ステップＳ１１において、処理側ＣＰＵ１０３は、読取り装置１から送信された第１読取り画像２０７および第２読取り画像２０９を取得する。
【００５６】
ステップＳ１２において、処理側ＣＰＵ１０３は、ステップＳ０２と同様に、第１読取り画像２０７に対して、文字認識処理を行うことで、第１読取り画像２０７の向きを特定する。さらに、処理側ＣＰＵ１０３は、特定された第１読取り画像２０７の向きに対する信頼度である第１画像向き信頼度を算出する。すなわち、処理側ＣＰＵ１０３は、第１読取り画像２０７に含まれる個々の文字２１３について、ステップＳ０２と同様に、最も正しく文字認識できた回転角度を示す変数に投票する。さらに、処理側ＣＰＵ１０３は、回転角度ごとに文字認識処理の信頼度を保存し、最も得票数の多い回転角度に対応する信頼度の平均値を、第１画像向き信頼度とする。
【００５７】
ステップＳ１３において、処理側ＣＰＵ１０３は、第２読取り画像２０９に対して、文字認識処理を行うことで、第２読取り画像２０９の向きを特定する。さらに、処理側ＣＰＵ１０３は、特定された第２読取り画像２０９の向きに対する信頼度である第２画像向き信頼度を算出する。その具体的な手法は、ステップＳ１２と同様である。
【００５８】
ステップＳ１４において、処理側ＣＰＵ１０３は、第１画像向き信頼度および第２画像向き信頼度がいずれも閾値よりも小さいか否かを判断する。閾値は、文字認識処理によって第１読取り画像２０７の向きや第２読取り画像２０９の向きを正確に特定することができないときに得られる信頼度よりも大きな値となるように、設定される。なお、閾値は、例えば、スキャナードライバーに予め設定されたものでもよく、処理側操作部１１１が受け付けたユーザーの選択操作に基づいて設定されたものでもよい。処理側ＣＰＵ１０３は、第１画像向き信頼度および第２画像向き信頼度の少なくとも一方が閾値以上である、と判断した場合（Ｓ１４；Ｎｏ）、ステップＳ１５に進む。
【００５９】
ステップＳ１５において、処理側ＣＰＵ１０３は、第１画像向き信頼度が、第２画像向き信頼度以上であるか否かを判断する。処理側ＣＰＵ１０３は、第１画像向き信頼度が、第２画像向き信頼度以上であると判断した場合（Ｓ１５；Ｙｅｓ）、ステップＳ１６に進む。
【００６０】
ステップＳ１６において、処理側ＣＰＵ１０３は、特定された第１読取り画像２０７の向きである第１文字認識画像向きに基づいて、第１読取り画像２０７および第２読取り画像２０９を回転させる。ここで、第１文字認識画像向きに基づいて第１読取り画像２０７および第２読取り画像２０９を回転させるとは、第１文字認識画像向きをθ1°としたときに、第１読取り画像２０７を時計回りにθ1°或いは反時計回りに（３６０−θ1）°回転させ、また、第２読取り画像２０９を時計回りにθ1°或いは反時計回りに（３６０−θ1）°回転させることを意味する。これにより、回転後の第１読取り画像２０７の向きと回転後の第２読取り画像２０９の向きとを揃えることができる。なお、第１読取り画像２０７の回転方向と、第２読取り画像２０９の回転方向とは、同じでもよく、反対でもよい。
【００６１】
一方、ステップＳ１５において、処理側ＣＰＵ１０３は、第１画像向き信頼度が、第２画像向き信頼度よりも小さいと判断した場合（Ｓ１５；Ｎｏ）、ステップＳ１７に進む。
【００６２】
ステップＳ１７において、処理側ＣＰＵ１０３は、特定された第２読取り画像２０９の向きである第２文字認識画像向きに基づいて、第１読取り画像２０７および第２読取り画像２０９を回転させる。ここで、第２文字認識画像向きに基づいて第１読取り画像２０７および第２読取り画像２０９を回転させるとは、第２文字認識画像向きをθ2°としたときに、第１読取り画像２０７を時計回りにθ2°或いは反時計回りに（３６０−θ2）°回転させ、また、第２読取り画像２０９を時計回りにθ2°或いは反時計回りに（３６０−θ2）°回転させることを意味する。これにより、回転後の第１読取り画像２０７の向きと回転後の第２読取り画像２０９の向きとを揃えることができる。なお、第１読取り画像２０７の回転方向と、第２読取り画像２０９の回転方向とは、同じでもよく、反対でもよい。
【００６３】
一方、ステップＳ１４において、処理側ＣＰＵ１０３は、第１画像向き信頼度および第２画像向き信頼度がいずれも閾値よりも小さい、と判断した場合（Ｓ１４；Ｙｅｓ）、ステップＳ１８に進む。
【００６４】
ステップＳ１８において、処理側ＣＰＵ１０３は、文字認識処理以外の画像解析処理により、第１読取り画像２０７の向きを特定する。文字認識処理以外の画像解析処理により、第１読取り画像２０７の向きを特定する方法としては、例えば、第１読取り画像２０７に含まれる「人物」の特徴部位の位置関係に基づいて画像の向きを特定する方法、第１読取り画像２０７に含まれる「空」および「地上」の位置関係に基づいて画像の向きを特定する方法、などを用いることができる。
【００６５】
ステップＳ１９において、処理側ＣＰＵ１０３は、文字認識処理以外の画像解析処理により、第２読取り画像２０９の向きを特定する。その具体的な手法は、ステップＳ１８と同様である。
【００６６】
ステップＳ２０において、処理側ＣＰＵ１０３は、文字認識処理以外の画像解析処理により特定された第１読取り画像２０７の向きである第１非文字認識画像向きに基づいて、第１読取り画像２０７を回転させる。ここで、第１非文字認識画像向きに基づいて第１読取り画像２０７を回転させるとは、第１非文字認識画像向きをα1°としたときに、第１読取り画像２０７を時計回りにα1°或いは反時計回りに（３６０−α1）°回転させることを意味する。これにより、第１読取り画像２０７の向きが０°となるように、すなわち第１読取り画像２０７に含まれるイラスト２１５等が正立した向きとなるように、第１読取り画像２０７の向きを補正することができる。
【００６７】
ステップＳ２１において、処理側ＣＰＵ１０３は、文字認識処理以外の画像解析処理により特定された第２読取り画像２０９の向きである第２非文字認識画像向きに基づいて、第２読取り画像２０９を回転させる。ここで、第２非文字認識画像向きに基づいて第２読取り画像２０９を回転させるとは、第２非文字認識画像向きをα2°としたときに、第２読取り画像２０９を時計回りにα2°或いは反時計回りに（３６０−α2）°回転させることを意味する。これにより、第２読取り画像２０９の向きが０°となるように、すなわち第２読取り画像２０９に含まれるイラスト２１５等が正立した向きとなるように、第２読取り画像２０９の向きを補正することができる。なお、第１読取り画像２０７の回転方向と、第２読取り画像２０９の回転方向とは、同じでもよく、反対でもよい。
【００６８】
ステップＳ２２において、処理側ＣＰＵ１０３は、回転後の第１読取り画像２０７と、回転後の第２読取り画像２０９とを、処理側表示部１１３に表示させ、連動回転処理を終了する。
【００６９】
ここで、より具体的に、ステップＳ１１において、処理側ＣＰＵ１０３が、第２原稿２０１ｂから読み取られた第１読取り画像２０７および第２読取り画像２０９を取得した場合と、第３原稿２０１ｃから読み取られた第１読取り画像２０７および第２読取り画像２０９を取得した場合とについて、説明する。
【００７０】
ステップＳ１１において、処理側ＣＰＵ１０３が、第２原稿２０１ｂから読み取られた第１読取り画像２０７および第２読取り画像２０９（図１０参照）を取得した場合には、ステップＳ１２において、処理側ＣＰＵ１０３は、文字認識処理により第１読取り画像２０７の向きを１８０°と特定し、第１画像向き信頼度を、Ｒ1と算出する。
【００７１】
ステップＳ１３において、処理側ＣＰＵ１０３は、上述したように、第２原稿２０１ｂの第２面２０５には、文字２１３ではなく、イラスト２１５が印刷されていることから、文字認識処理によって第２読取り画像２０９の向きを正確に特定することができない。ここでは、第２読取り画像２０９の向きは本来１８０°であるが、処理側ＣＰＵ１０３は、第２読取り画像２０９の向きを誤って０°と特定し、第２画像向き信頼度を、Ｒ2と算出したものとする。第２読取り画像２０９には、文字認識可能な文字２１３が含まれないため、第２画像向き信頼度（Ｒ2）は、第１画像向き信頼度（Ｒ1）より小さくなる。また、第１画像向き信頼度（Ｒ1）は、閾値よりも大きいが、第２画像向き信頼度（Ｒ2）は、閾値よりも小さい値である。
【００７２】
ステップＳ１４において、処理側ＣＰＵ１０３は、第１画像向き信頼度（Ｒ1）および第２画像向き信頼度（Ｒ2）のうち、第１画像向き信頼度が閾値以上であると判断し（Ｓ１４；Ｎｏ）、ステップＳ１５に進む。
【００７３】
ステップＳ１５において、処理側ＣＰＵ１０３は、第１画像向き信頼度（Ｒ1）が、第２画像向き信頼度（Ｒ2）以上であると判断し（Ｓ１５；Ｙｅｓ）、ステップＳ１６に進む。
【００７４】
ステップＳ１６において、処理側ＣＰＵ１０３は、文字認識処理により特定された第１読取り画像２０７の向きである第１文字認識画像向きが１８０°であるため、第１読取り画像２０７を、時計回りに１８０°或いは反時計回りに１８０°回転させ、第２読取り画像２０９を、時計回りに１８０°或いは反時計回りに１８０°回転させる。
【００７５】
ステップＳ２２において、処理側ＣＰＵ１０３は、図１７に示したように、回転後の第１読取り画像２０７、すなわち画像の向きが０°に補正された第１読取り画像２０７と、回転後の第２読取り画像２０９、すなわち画像の向きが０°に補正された第２読取り画像２０９と、を処理側表示部１１３に表示させる。
【００７６】
このように、処理側ＣＰＵ１０３が連動回転処理を行うことで、第１読取り画像２０７および第２読取り画像２０９の一方については、文字認識処理により正しく向きが特定されたが、第１読取り画像２０７および第２読取り画像２０９の他方については、文字認識処理により誤って向きが特定された場合にも、回転後の第１読取り画像２０７の向きと回転後の第２読取り画像２０９の向きとを、所望の向きに揃えることができる。なお、第２原稿２０１ｂの第２面２０５のように、イラスト２１５のみが印刷された場合に限らず、文字２１３が印刷されているが、文字認識可能な文字２１３が少ない場合にも、本構成は有用である。
【００７７】
ステップＳ１１において、処理側ＣＰＵ１０３が、第３原稿２０１ｃから読み取られた第１読取り画像２０７および第２読取り画像２０９（図１１参照）を取得した場合には、ステップＳ１２において、処理側ＣＰＵ１０３は、上述したように、第３原稿２０１ｃの第１面２０３には、文字２１３ではなく、イラスト２１５が印刷されていることから、文字認識処理によって第１読取り画像２０７の向きを正確に特定することができない。ここでは、第１読取り画像２０７の向きは本来１８０°であるが、処理側ＣＰＵ１０３は、第１読取り画像２０７の向きを誤って９０°と特定し、第１画像向き信頼度を、Ｒ3と算出したものとする。
【００７８】
ステップＳ１３において、処理側ＣＰＵ１０３は、第３原稿２０１ｃの第２面２０５には、文字２１３ではなく、イラスト２１５が印刷されていることから、文字認識処理によって第２読取り画像２０９の向きを正確に特定することができない。ここでは、第２読取り画像２０９の向きは本来１８０°であるが、処理側ＣＰＵ１０３は、第２読取り画像２０９の向きを誤って０°と特定し、第２画像向き信頼度を、Ｒ4と算出したものとする。第１画像向き信頼度（Ｒ3）および第２画像向き信頼度（Ｒ4）は、いずれも閾値以下の値である。
【００７９】
ステップＳ１４において、処理側ＣＰＵ１０３は、第１画像向き信頼度（Ｒ3）および第２画像向き信頼度（Ｒ4）がいずれも閾値以下であると判断し（Ｓ１４；Ｙｅｓ）、ステップＳ１８に進む。
【００８０】
ステップＳ１８において、処理側ＣＰＵ１０３は、文字認識処理以外の画像解析処理により、第１読取り画像２０７の向きを１８０°と特定する。同様に、ステップＳ１９において、処理側ＣＰＵ１０３は、文字認識処理以外の画像解析処理により、第２読取り画像２０９の向きを１８０°と特定する。
【００８１】
ステップＳ２０において、処理側ＣＰＵ１０３は、文字認識処理以外の画像解析処理により特定された第１読取り画像２０７の向きである第１非文字認識画像向きが１８０°であるため、第１読取り画像２０７を、時計回りに１８０°或いは反時計回りに１８０°回転させる。これにより、第１読取り画像２０７の向きが０°に補正される。
【００８２】
ステップＳ２１において、処理側ＣＰＵ１０３は、文字認識処理以外の画像解析処理により特定された第２読取り画像２０９の向きである第２非文字認識画像向きが１８０°であるため、第２読取り画像２０９を、時計回りに１８０°或いは反時計回りに１８０°回転させる。これにより、第２読取り画像２０９の向きが０°に補正される。
【００８３】
ステップＳ２２において、処理側ＣＰＵ１０３は、図１８に示したように、回転後の第１読取り画像２０７、すなわち画像の向きが０°に補正された第１読取り画像２０７と、回転後の第２読取り画像２０９、すなわち画像の向きが０°に補正された第２読取り画像２０９と、を処理側表示部１１３に表示させる。
【００８４】
このように、処理側ＣＰＵ１０３が連動回転処理を行うことで、第１読取り画像２０７および第２読取り画像２０９のいずれについても、文字認識処理により誤って向きが特定された場合にも、回転後の第１読取り画像２０７の向きと回転後の第２読取り画像２０９の向きとを、所望の向きに揃えることができる。なお、第３原稿２０１ｃの第１面２０３或いは第２面２０５のように、イラスト２１５のみが印刷された場合に限らず、文字２１３が印刷されているが、文字認識可能な文字２１３が少ない場合にも、本構成は有用である。
【００８５】
続いて、個別回転処理や連動回転処理において行われる文字認識処理の変形例について説明する。図１９に示すように、原稿２０１のヘッダー領域２１７およびフッター領域２１９には、通常、日付、ファイル名、頁番号等の文字２１３が含まれ、イラスト２１５等が含まれることが少ない。一方、原稿２０１のヘッダー領域２１７でなくフッター領域２１９でもない領域には、ヘッダー領域２１７およびフッター領域２１９に比べ、イラスト２１５等が含まれることが多い。そのため、ヘッダー領域２１７でなくフッター領域２１９でもない領域に含まれるイラスト２１５等を、文字認識処理により誤って文字２１３と認識してしまい、その結果、第１読取り画像２０７の向きを誤って特定するおそれがある。
【００８６】
そこで、処理側ＣＰＵ１０３は、原稿２０１の第１面２０３のうち、ヘッダー領域２１７およびフッター領域２１９が含まれる第１端部領域２２１のみに対して文字認識処理を行い、第１端部領域２２１に含まれる文字２１３について特定された向きである第１端部文字向きに基づいて、第１読取り画像２０７の向きを特定してもよい。処理側ＣＰＵ１０３は、原稿２０１の上辺２１１から第１寸法の範囲にある領域と、原稿２０１の下辺２２３から第２寸法の範囲にある領域とを、第１端部領域２２１とする。なお、第１寸法および第２寸法は、例えば、スキャナードライバーに予め設定されたものでもよく、処理側操作部１１１が受け付けたユーザーの選択操作に基づいて設定されたものでもよい。また、第１端部領域２２１には、ヘッダー領域２１７およびフッター領域２１９の少なくとも一方が含まれればよい。このように、第１端部領域２２１のみに対して文字認識を行うことで、ヘッダー領域２１７でなくフッター領域２１９でもない領域に含まれるイラスト２１５等を、文字認識により誤って文字２１３と認識することを回避することができる。このため、ヘッダー領域２１７でなくフッター領域２１９でもない領域にイラスト２１５等が含まれる場合にも、第１読取り画像２０７の向きを精度良く特定することができる。
【００８７】
また、さらなる変形例として、処理側ＣＰＵ１０３は、以下のように文字認識処理を行ってもよい。まず、処理側ＣＰＵ１０３は、第１端部領域２２１に対する文字認識処理を行うことで、第１端部領域２２１に含まれる文字２１３の向きを特定する。また、処理側ＣＰＵ１０３は、第１面２０３のうちヘッダー領域２１７でなくフッター領域２１９でもない領域である第１非端部領域２２５に対する文字認識処理を行うことで、第１非端部領域２２５に含まれる文字２１３の向きを特定する。続いて、処理側ＣＰＵ１０３は、第１非端部領域２２５に含まれる文字２１３について特定された向きである第１非端部文字向きよりも、第１端部領域２２１に含まれる文字２１３について特定された向きである第１端部文字向きに、大きい重みを付けることにより、第１読取り画像２０７の向きを特定する。すなわち、処理側ＣＰＵ１０３は、上述したように、特定された文字２１３の向きに対して投票を行う際に、第１非端部文字向きよりも第１端部文字向きに大きい重みを付ける。これにより、第１端部領域２２１に含まれるイラスト２１５を、文字認識により誤って文字２１３と認識した場合にも、その影響を低減することができる。このため、第１非端部領域２２５にイラスト２１５等が含まれる場合にも、第１読取り画像２０７の向きを精度良く特定することができる。
【００８８】
なお、これらの変形例は、第２面２０５から読み取られた第２読取り画像２０９についても、同様に適用可能である。すなわち、処理側ＣＰＵ１０３は、原稿２０１の第２面２０５のうち、ヘッダー領域２１７およびフッター領域２１９の少なくとも一方が含まれる第２端部領域（図示省略）のみに対して文字認識処理を行い、第２端部領域に含まれる文字２１３について特定された向きである第２端部文字向きに基づいて、第２読取り画像２０９の向きを特定してもよい。また、処理側ＣＰＵ１０３は、第２面２０５のうちヘッダー領域２１７でなくフッター領域２１９でもない領域である第２非端部領域に含まれる文字２１３について特定された向きである第２非端部文字向きよりも、第２端部領域に含まれる文字２１３について特定された向きである第２端部文字向きに、大きい重みを付けることにより、第２読取り画像２０９の向きを特定してもよい。
【００８９】
処理側ＣＰＵ１０３は、第１文字認識画像向きおよび第２文字認識画像向きのいずれかを選択する方法として、上記の実施形態とは逆に、信頼度が小さい方を選択してもよい。すなわち、処理側ＣＰＵ１０３は、第１画像向き信頼度が第２画像向き信頼度よりも大きいと判断したときに、第２文字認識画像向きを選択し、第１画像向き信頼度が第２画像向き信頼度よりも小さいと判断したときに、第１文字認識画像向きを選択してもよい。また、処理側ＣＰＵ１０３は、処理側操作部１１１が受け付けたユーザーの選択操作に基づいて、第１文字認識画像向きおよび第２文字認識画像向きのいずれかを選択してもよい。
【００９０】
処理側ＣＰＵ１０３は、第１画像向き信頼度および第２画像向き信頼度がいずれも閾値よりも小さい場合に、文字認識処理以外の画像解析処理により特定された第１読取り画像２０７の向きに対する信頼度と、文字認識処理以外の画像解析処理により特定された第２読取り画像２０９の向きに対する信頼度と、を比較し、信頼度が大きい方の画像の向きに基づいて、第１読取り画像２０７と第２読取り画像２０９とを回転させてもよい。
【００９１】
処理側ＣＰＵ１０３は、回転後の第１読取り画像２０７および回転後の第２読取り画像２０９を、処理側表示部１１３に表示させる構成に限定されず、例えば、読取り側表示部２７に表示させてもよく、情報処理装置１０１と通信可能に接続された他の装置に出力してもよい。
【００９２】
セット部９に複数の原稿２０１がセットされ、複数の原稿２０１が連続して読み取られた場合には、１枚目の原稿２０１について得られた第１文字認識画像向きおよび第２文字認識画像向きのうち、選択された画像向きを、２枚目以降の原稿２０１に適用してもよい。例えば、１枚目の原稿２０１について得られた第１文字認識画像向き（２７０°）および第２文字認識画像向き（９０°）のうち、第１文字認識画像向き（２７０°）が選択されたとする。この場合、１枚目の原稿２０１から読み取られた第１読取り画像２０７および第２読取り画像２０９を、１枚目の原稿２０１について選択された第１文字認識画像向き（２７０°）に基づいて回転させると共に、２枚目以降の原稿２０１から読み取られた第１読取り画像２０７および第２読取り画像２０９についても、１枚目の原稿２０１について選択された第１文字認識画像向き（２７０°）に基づいて回転させてもよい。これにより、２枚目以降の原稿２０１について、第１読取り画像２０７の向きおよび第２読取り画像２０９の向きを特定する処理と、第１文字認識画像向きおよび第２文字認識画像向きのいずれかを選択する処理とを、省略することができる。
【００９３】
文字認識処理を、情報処理装置１０１が行う構成に限定されず、読取り装置１が行う構成でもよい。すなわち、読取り装置１が、文字認識処理により第１読取り画像２０７の向きおよび第２読取り画像２０９の向きを特定し、情報処理装置１０１が、第１文字認識画像向きおよび第２文字認識画像向きを、読取り装置１から取得する構成でもよい。
【００９４】
読取り装置１は、上記の実施形態や変形例をそれぞれ組み合わせた構成でもよい。また、読取り装置１は、上記の実施形態および変形例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採用可能であることは言うまでもない。
【００９５】
以下、情報処理装置、情報処理装置の画像回転方法およびプログラムについて付記する。
原稿の第１面を読み取った第１読取り画像と、原稿の第１面とは反対側の第２面を読み取った第２読取り画像と、を取得する取得部と、情報処理部と、を備え、情報処理部は、第１読取り画像に対する文字認識処理により特定された第１読取り画像の向きである第１文字認識画像向き、および第２読取り画像に対する文字認識処理により特定された第２読取り画像の向きである第２文字認識画像向きのうち、いずれかの文字認識画像向きを選択し、情報処理部は、選択した文字認識画像向きに基づいて、第１読取り画像と第２読取り画像とを回転させる。
【００９６】
この構成によれば、第１文字認識画像向きおよび第２文字認識画像向きのいずれか一方に基づいて、第１読取り画像と第２読取り画像とを回転させる。したがって、第１読取り画像および第２読取り画像の一方については、文字認識処理により正しく向きが特定されたが、第１読取り画像および第２読取り画像の他方については、文字認識処理により誤って向きが特定された場合にも、回転後の第１読取り画像の向きと回転後の第２読取り画像の向きとを、揃えることができる。
【００９７】
この場合、情報処理部は、第１文字認識画像向きに対する信頼度である第１画像向き信頼度が、第２文字認識画像向きに対する信頼度である第２画像向き信頼度よりも大きいか否かを判断し、情報処理部は、第１画像向き信頼度が第２画像向き信頼度よりも大きいと判断したときには、第１文字認識画像向きおよび第２文字認識画像向きのうち、第１文字認識画像向きを選択し、第１画像向き信頼度が第２画像向き信頼度よりも小さいと判断したときには、第１文字認識画像向きおよび第２文字認識画像向きのうち、第２文字認識画像向きを選択することが好ましい。
【００９８】
この構成によれば、第１文字認識画像向きおよび第２文字認識画像向きのうち、信頼度が大きい方に基づいて、第１読取り画像と第２読取り画像とを回転させる。したがって、第１読取り画像および第２読取り画像の一方については、文字認識処理により正しく向きが特定されたが、第１読取り画像および第２読取り画像の他方については、文字認識処理により誤って向きが特定された場合にも、回転後の第１読取り画像の向きと回転後の第２読取り画像の向きとを、所望の向きに揃えることができる。
【００９９】
この場合、情報処理部は、第１画像向き信頼度および第２画像向き信頼度が閾値よりも小さいか否かを判断し、情報処理部は、第１画像向き信頼度および第２画像向き信頼度が閾値よりも小さいと判断したときに、第１読取り画像に対して文字認識処理以外の画像解析処理を行うことで、第１読取り画像の向きを特定し、第２読取り画像に対して文字認識処理以外の画像解析処理を行うことで、第２読取り画像の向きを特定し、情報処理部は、第１読取り画像に対する文字認識処理以外の画像解析処理により特定された第１読取り画像の向きである第１非文字認識画像向きに基づいて、第１読取り画像を回転させ、第２読取り画像に対する文字認識処理以外の画像解析処理により特定された第２読取り画像の向きである第２非文字認識画像向きに基づいて、第２読取り画像を回転させることが好ましい。
【０１００】
この構成によれば、第１画像向き信頼度および第２画像向き信頼度が閾値よりも小さいときに、第１非文字認識画像向きに基づいて、第１読取り画像を回転させ、第２非文字認識画像向きに基づいて、第２読取り画像を回転させる。したがって、第１読取り画像および第２読取り画像のいずれについても、文字認識処理により誤って向きが特定された場合にも、回転後の第１読取り画像の向きと回転後の第２読取り画像の向きとを、所望の向きに揃えることができる。
【０１０１】
この場合、情報処理部は、第１面のヘッダー領域およびフッター領域の少なくとも一方を含む第１端部領域に対する文字認識処理を行うことで、第１端部領域に含まれる文字の向きを特定し、第１端部領域に含まれる文字について特定された向きである第１端部文字向きに基づいて、第１読取り画像の向きを特定し、情報処理部は、第２面のヘッダー領域およびフッター領域の少なくとも一方を含む第２端部領域に対する文字認識処理を行うことで、第２端部領域に含まれる文字の向きを特定し、第２端部領域に含まれる文字について特定された向きである第２端部文字向きに基づいて、第２読取り画像の向きを特定することが好ましい。
【０１０２】
この構成によれば、第１面のうちヘッダー領域でなくフッター領域でもない領域に含まれるイラスト等を、文字認識により誤って文字と認識することを回避できる。このため、ヘッダー領域でなくフッター領域でもない領域にイラスト等が含まれる場合にも、第１読取り画像の向きを、精度良く特定することができる。同様に、第２面のうちヘッダー領域でなくフッター領域でもない領域に含まれるイラスト等を、文字認識により誤って文字と認識することを回避できる。このため、ヘッダー領域でなくフッター領域でもない領域にイラスト等が含まれる場合にも、第２読取り画像の向きを、精度良く特定することができる。
【０１０３】
この場合、情報処理部は、第１面のうちヘッダー領域でなくフッター領域でもない第１非端部領域に対する文字認識処理を行うことで、第１非端部領域に含まれる文字の向きを特定し、第１非端部領域に含まれる文字について特定された向きである第１非端部文字向きよりも、第１端部文字向きに大きい重みを付けることにより、第１読取り画像の向きを特定し、情報処理部は、第２面のうちヘッダー領域でなくフッター領域でもない第２非端部領域に対する文字認識処理を行うことで、第２非端部領域に含まれる文字の向きを特定し、第２非端部領域に含まれる文字について特定された向きである第２非端部文字向きよりも、第２端部文字向きに大きい重みを付けることにより、第２読取り画像の向きを特定することが好ましい。
【０１０４】
この構成によれば、第１非端部領域に含まれるイラスト等を、文字認識により誤って文字と認識した場合にも、その影響を低減することができる。このため、第１非端部領域にイラスト等が含まれる場合にも、第１読取り画像の向きを、精度良く特定することができる。同様に、第２非端部領域に含まれるイラスト等を、文字認識により誤って文字と認識した場合にも、その影響を低減することができる。このため、第２非端部領域にイラスト等が含まれる場合にも、第２読取り画像の向きを、精度良く特定することができる。
【０１０５】
情報処理装置の画像回転方法は、原稿の第１面から読み取られた第１読取り画像と、原稿の第１面とは反対側の第２面から読み取られた第２読取り画像と、を取得し、第１読取り画像に対する文字認識処理により特定された第１読取り画像の向きである第１文字認識画像向き、および第２読取り画像に対する文字認識処理により特定された第２読取り画像の向きである第２文字認識画像向きのうち、いずれかの文字認識画像向きを選択し、選択した文字認識画像向きに基づいて、第１読取り画像と第２読取り画像とを回転させる。
【０１０６】
この構成によれば、第１文字認識画像向きおよび第２文字認識画像向きのいずれか一方に基づいて、第１読取り画像と第２読取り画像とを回転させる。したがって、第１読取り画像および第２読取り画像の一方については、文字認識処理により正しく向きが特定されたが、第１読取り画像および第２読取り画像の他方については、文字認識処理により誤って向きが特定された場合にも、回転後の第１読取り画像の向きと回転後の第２読取り画像の向きとを、揃えることができる。
【０１０７】
プログラムは、コンピューターに、原稿の第１面から読み取られた第１読取り画像と、原稿の第１面とは反対側の第２面から読み取られた第２読取り画像と、を取得するステップと、第１読取り画像に対する文字認識処理により特定された第１読取り画像の向きである第１文字認識画像向き、および第２読取り画像に対する文字認識処理により特定された第２読取り画像の向きである第２文字認識画像向きのうち、いずれかの文字認識画像向きを選択するステップと、選択した文字認識画像向きに基づいて、第１読取り画像と第２読取り画像とを回転させるステップと、を実行させる。
【０１０８】
この構成によれば、第１文字認識画像向きおよび第２文字認識画像向きのいずれか一方に基づいて、第１読取り画像と第２読取り画像とを回転させる。したがって、第１読取り画像および第２読取り画像の一方については、文字認識処理により正しく向きが特定されたが、第１読取り画像および第２読取り画像の他方については、文字認識処理により誤って向きが特定された場合にも、回転後の第１読取り画像の向きと回転後の第２読取り画像の向きとを、揃えることができる。
【符号の説明】
【０１０９】
１０１…情報処理装置、１０３…処理側ＣＰＵ、２０１…原稿、２０３…第１面、２０５…第２面、２０７…第１読取り画像、２０９…第２読取り画像、２１７…ヘッダー領域、２１９…フッター領域、２２１…第１端部領域、２２５…第１非端部領域。
【図１】
2020088736.tif 000003
【図２】
2020088736.tif 000004
【図３】
2020088736.tif 000005
【図４】
2020088736.tif 000006
【図５】
2020088736.tif 000007
【図６】
2020088736.tif 000008
【図７】
2020088736.tif 000009
【図８】
2020088736.tif 000010
【図９】
2020088736.tif 000011
【図１０】
2020088736.tif 000012
【図１１】
2020088736.tif 000013
【図１２】
2020088736.tif 000014
【図１３】
2020088736.tif 000015
【図１４】
2020088736.tif 000016
【図１５】
2020088736.tif 000017
【図１６】
2020088736.tif 000018
【図１７】
2020088736.tif 000019
【図１８】
2020088736.tif 000020
【図１９】
2020088736.tif 000021