JP2020182021A - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP2020182021A JP2020182021A JP2019081893A JP2019081893A JP2020182021A JP 2020182021 A JP2020182021 A JP 2020182021A JP 2019081893 A JP2019081893 A JP 2019081893A JP 2019081893 A JP2019081893 A JP 2019081893A JP 2020182021 A JP2020182021 A JP 2020182021A
- Authority
- JP
- Japan
- Prior art keywords
- document
- image
- area
- mfp
- detected
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Editing Of Facsimile Originals (AREA)
Abstract
【課題】マルチクロップ処理時の原稿認識処理の検知精度を高め、原稿台に載置された複数の原稿を漏れなく検知できるようにする。【解決手段】マルチクロップ処理時の原稿認識処理において、第1の手法と当該第1の手法とは異なる第2の手法を用いて、スキャン画像における原稿領域を検知する。その際、第1の手法で検知する原稿領域と第2の手法で検知する原稿領域とは排他的な関係となるようにする。【選択図】図15
Description
本発明は、スキャン画像のマルチクロップ処理に関する。
従来、スキャナ装置の原稿台上に領収書や、名刺、各種証明書などの原稿を複数枚並べてスキャンし、そのスキャン画像に対して原稿認識処理を行い、認識した原稿の画像をスキャン画像から切り出すマルチクロップ処理がある。特許文献1には、エッジを抽出する手法では原稿が検知できなかった場合に、オブジェクトを検出する手法を用いて再度原稿検知を行うことにより、原稿の検知精度を上げる手法が開示されている。
上記特許文献1の手法では、原稿台に置かれた複数の原稿の中の1つでもエッジ抽出にて検知に成功した場合は、検知できなかった残りの原稿に対してオブジェクト検出による原稿検知は行われない。つまり、エッジ抽出にて1つの原稿でも検知に成功してしまうと、残りの原稿を検知することができなくなってしまう。
本発明は、上記課題に対応するべく、マルチクロップ処理時の原稿認識処理の検知精度を高め、原稿台に載置された複数の原稿を漏れなく検知できるようにすることを目的とする。
本開示に係る画像処理装置は、複数の原稿をまとめてスキャンして得られたスキャン画像に対する原稿認識処理を行う画像処理装置であって、第1の手法を用いて前記スキャン画像における原稿領域を検知する第1検知手段と、前記第1検知手段による検知を行った後に、前記第1の手法とは異なる第2の手法を用いて前記スキャン画像における原稿領域を検知する第2検知手段と、を備え、前記第1検知手段が検知する原稿領域と前記第2検知手段が検知する原稿領域とは排他的な関係にある、ことを特徴とする。
本発明によれば、マルチクロップ処理時の原稿認識処理の検知精度が高まる。これにより、原稿台に複数の原稿を載置した場合における原稿の検知漏れを低減することが可能になる。
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
[実施形態1]
<システム構成>
図1は、本実施形態に係る、画像処理システム100の全体構成を示す図である。画像処理システム100は、MFP(Multi Function Peripheral)110と、インターネット上でクラウドサービスを提供するサーバ装置120及び130とを含む。MFP110は、インターネットを介してサーバ装置120及び130と通信可能に接続されている。
<システム構成>
図1は、本実施形態に係る、画像処理システム100の全体構成を示す図である。画像処理システム100は、MFP(Multi Function Peripheral)110と、インターネット上でクラウドサービスを提供するサーバ装置120及び130とを含む。MFP110は、インターネットを介してサーバ装置120及び130と通信可能に接続されている。
MFP110は、スキャン機能を有する情報処理装置の一例である。MFP110は、スキャン機能に加え印刷機能やBOX保存機能といった複数の機能を有する複合機である。サーバ装置120及び130は、共にクラウドサービスを提供する情報処理装置の一例である。本実施形態のサーバ装置120は、MFP110から受け取ったスキャン画像データに対しマルチクロップ処理を含む画像解析を行ったり、別のサービスを提供するサーバ装置130に対しMFP110からのリクエストを転送したりするクラウドサービスを提供する。以下、サーバ装置120が提供するクラウドサービスを「MFP連携サービス」と呼ぶこととする。サーバ装置130は、経費精算を効率的に行うためのクラウドサービス(以下、「経費精算サービス」と呼ぶ。)を提供する。経費精算サービスでは、領収書の画像と当該領収書の日付等の付加情報(メタデータ)を関連付けて保存・管理したり、領収書を受領した本人以外がその電子化作業を行う場合に、当該作業を行う者(代理申請者)を設定したりすることができる。以下、MFP連携サービスを提供するサーバ装置120を「MFP連携サーバ」と呼び、経費精算サービスを提供するサーバ装置130を「経費精算サーバ」と呼ぶこととする。
図1に示す画像処理システム100の構成は一例であって、これに限定されない。例えば、MFP連携サーバ120の機能をMFP110が兼ね備えていてもよい。また、MFP連携サーバ120はインターネット上ではなくLAN(Local Area Network)経由でMFP110と接続されていてもよい。また、本実施形態では、電子化作業の対象文書として領収書を例に説明を行うが、対象文書は領収書に限定されるものではない。
<MFPのハードウェア構成>
図2は、MFP110のハードウェア構成を示すブロック図である。MFP110は、制御部210、操作部220、プリンタ部230及びスキャナ部240で構成される。制御部210は、さらに以下の各部211〜218で構成され、MFP110全体の動作を制御する。CPU211は、ROM212に記憶された様々な制御プログラム(後述のソフトウェア構成図で示す各種機能に対応するプログラム)を読み出して実行する。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。なお、本実施例では1つのCPU211が1つのメモリ(RAM213またはHDD214)を用いて後述のフローチャートに示す各処理を実行するものとするが、これに限定されない。例えば、複数のCPUや複数のRAMまたはHDDを協働させて各処理を実行してもよい。HDD214は、画像データや各種プログラムを記憶する大容量記憶部である。操作部I/F215は、操作部220と制御部210とを接続するインタフェースである。操作部220は、タッチパネルやハードキーを備えており、ユーザによる操作/入力/指示を受け付ける。プリンタI/F216は、プリンタ部230と制御部210とを接続するインタフェースである。印刷用の画像データはプリンタI/F216を介して制御部210からプリンタ部230へ転送され、紙等の記録媒体上に印刷される。スキャナI/F217は、スキャナ部240と制御部210とを接続するインタフェースである。スキャナ部240は、不図示の原稿台やADF(Auto Document Feeder)にセットされた原稿をスキャンして得られた画像(スキャン画像)を、スキャナI/F217を介して制御部210に入力する。スキャナ部240で生成されたスキャン画像のデータは、プリンタ部230で印刷したり(コピー出力)、HDD214に保存したり、LANを介して外部装置に送信したりすることができる。ネットワークI/F218は、制御部210(MFP110)をLANに接続するインタフェースである。MFP210は、ネットワークI/F218を用いて、スキャン画像データをMFP連携サーバ120に送信したり、MFP連携サーバ120から各種データを受信したりする。以上説明したMFP110のハードウェア構成は一例であり、必要に応じてその他の構成を備えるものであってもよいし、一部の構成を有していなくてもよい。
図2は、MFP110のハードウェア構成を示すブロック図である。MFP110は、制御部210、操作部220、プリンタ部230及びスキャナ部240で構成される。制御部210は、さらに以下の各部211〜218で構成され、MFP110全体の動作を制御する。CPU211は、ROM212に記憶された様々な制御プログラム(後述のソフトウェア構成図で示す各種機能に対応するプログラム)を読み出して実行する。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。なお、本実施例では1つのCPU211が1つのメモリ(RAM213またはHDD214)を用いて後述のフローチャートに示す各処理を実行するものとするが、これに限定されない。例えば、複数のCPUや複数のRAMまたはHDDを協働させて各処理を実行してもよい。HDD214は、画像データや各種プログラムを記憶する大容量記憶部である。操作部I/F215は、操作部220と制御部210とを接続するインタフェースである。操作部220は、タッチパネルやハードキーを備えており、ユーザによる操作/入力/指示を受け付ける。プリンタI/F216は、プリンタ部230と制御部210とを接続するインタフェースである。印刷用の画像データはプリンタI/F216を介して制御部210からプリンタ部230へ転送され、紙等の記録媒体上に印刷される。スキャナI/F217は、スキャナ部240と制御部210とを接続するインタフェースである。スキャナ部240は、不図示の原稿台やADF(Auto Document Feeder)にセットされた原稿をスキャンして得られた画像(スキャン画像)を、スキャナI/F217を介して制御部210に入力する。スキャナ部240で生成されたスキャン画像のデータは、プリンタ部230で印刷したり(コピー出力)、HDD214に保存したり、LANを介して外部装置に送信したりすることができる。ネットワークI/F218は、制御部210(MFP110)をLANに接続するインタフェースである。MFP210は、ネットワークI/F218を用いて、スキャン画像データをMFP連携サーバ120に送信したり、MFP連携サーバ120から各種データを受信したりする。以上説明したMFP110のハードウェア構成は一例であり、必要に応じてその他の構成を備えるものであってもよいし、一部の構成を有していなくてもよい。
<サーバ装置のハードウェア構成>
図3は、MFP連携サーバ120/経費精算サーバ130のハードウェア構成を示すブロック図である。MFP連携サーバ120と経費精算サーバ130は共通のハードウェア構成を有し、CPU311、ROM312、RAM313、HDD314及びネットワークI/F315で構成される。CPU311は、ROM312に記憶された制御プログラムを読み出して各種処理を実行することで、全体の動作を制御する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、画像データや各種プログラムを記憶する大容量記憶部である。ネットワークI/F315は、制御部310をインターネットに接続するインタフェースである。MFP連携サーバ120及び経費精算サーバ130は、ネットワークI/F315を介して他の装置(MFP110など)から様々な処理のリクエストを受け、当該リクエストに応じた処理結果を返す。
図3は、MFP連携サーバ120/経費精算サーバ130のハードウェア構成を示すブロック図である。MFP連携サーバ120と経費精算サーバ130は共通のハードウェア構成を有し、CPU311、ROM312、RAM313、HDD314及びネットワークI/F315で構成される。CPU311は、ROM312に記憶された制御プログラムを読み出して各種処理を実行することで、全体の動作を制御する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、画像データや各種プログラムを記憶する大容量記憶部である。ネットワークI/F315は、制御部310をインターネットに接続するインタフェースである。MFP連携サーバ120及び経費精算サーバ130は、ネットワークI/F315を介して他の装置(MFP110など)から様々な処理のリクエストを受け、当該リクエストに応じた処理結果を返す。
<画像処理システムのソフトウェア構成>
図4は、本実施形態に係る、画像処理システム100のソフトウェア構成を示すブロック図である。以下、画像処理システム100を構成するMFP110、MFP連携サーバ120及び経費精算サーバ130それぞれの役割に対応したソフトウェア構成を、順に説明する。なお、以下では、各装置が有する諸機能のうち、原稿としての領収書をスキャンして経費精算を行うまでの処理に関わる機能に絞って説明を行うものとする。
図4は、本実施形態に係る、画像処理システム100のソフトウェア構成を示すブロック図である。以下、画像処理システム100を構成するMFP110、MFP連携サーバ120及び経費精算サーバ130それぞれの役割に対応したソフトウェア構成を、順に説明する。なお、以下では、各装置が有する諸機能のうち、原稿としての領収書をスキャンして経費精算を行うまでの処理に関わる機能に絞って説明を行うものとする。
≪MFPのソフトウェア構成≫
MFP110の機能モジュールは、ネイティブ機能モジュール410とアディショナル機能モジュール420の2つに大別される。ネイティブ機能モジュール410はMFP110に標準的に備えられたアプリケーションであるのに対し、アディショナル機能モジュール420はMFP110に追加的にインストールされたアプリケーションである。アディショナル機能モジュール420は、Java(登録商標)をベースとしたアプリケーションであり、MFP110への機能追加を容易に実現できる。
MFP110の機能モジュールは、ネイティブ機能モジュール410とアディショナル機能モジュール420の2つに大別される。ネイティブ機能モジュール410はMFP110に標準的に備えられたアプリケーションであるのに対し、アディショナル機能モジュール420はMFP110に追加的にインストールされたアプリケーションである。アディショナル機能モジュール420は、Java(登録商標)をベースとしたアプリケーションであり、MFP110への機能追加を容易に実現できる。
ネイティブ機能モジュール410は、スキャン実行部411およびスキャン画像管理部412を有する。また、アディショナル機能モジュール420は、表示制御部421、スキャン制御部422、連携サービスリクエスト部423、画像処理部424を有する。
表示制御部421は、操作部220のタッチパネル機能を有する液晶表示部に、ユーザに対し必要な情報を提示し、ユーザによる各種操作を受け付けるユーザインタフェース用画面(UI画面)を表示する。ユーザによる各種操作には、例えば、外部装置であるMFP連携サーバ120へアクセスするためのログイン認証情報の入力、代理申請者が領収書の電子化作業を行う場合の代理申請対象者の選択、スキャン設定、スキャンの開始指示、メタデータの入力などがある。本実施形態における代表的なUI画面としては、MFP連携サーバ120から受け取った原稿認識処理結果に基づくプレビュー画面がある。ユーザは、操作部220に表示されたプレビュー画面にて、原稿認識処理によって検知された1又は複数の原稿に対応する原稿領域について、分割や結合といった修正指示を行うことができる。
スキャン制御部422は、UI画面でなされたユーザ操作(例えば「スキャン開始」ボタンの押下)に応じて、スキャン設定の情報と共にスキャン実行部411に対しスキャン処理の実行を指示する。スキャン実行部411は、スキャン制御部422からのスキャン処理の実行指示に従い、スキャナI/F217を介してスキャナ部240に原稿の読み取り動作を実行させ、スキャン画像データを生成する。生成したスキャン画像データは、スキャン画像管理部412によってHDD214に保存される。この際、保存されたスキャン画像データを一意に示すスキャン画像識別子の情報が、スキャン制御部422へ通知される。
連携サービスリクエスト部423は、MFP連携サーバ120に対して各種処理のリクエストを行ったり、そのレスポンスを受け取ったりする。各種処理には、例えば、ログイン認証、代理で経費精算できる代理申請対象者リストの取得、複数の領収書をスキャンして得られたスキャン画像データに対するマルチクロップ処理の実行、メタデータ項目情報の取得、メタデータの設定などが含まれる。MFP連携サーバ120とのやり取りには例えばRESTやSOAPなどの通信プロトコルが用いられる。
画像処理部424は、複数の領収書をスキャンして得られたスキャン画像データに対し所定の画像処理を行って、表示制御部421が表示するUI画面で用いられる画像を生成する。
≪サーバ装置のソフトウェア構成≫
まず、MFP連携サーバ120のソフトウェア構成について説明する。MFP連携サーバ120は、リクエスト制御部431、画像処理部432、経費精算リクエスト部433、データ管理部434、表示制御部435を有する。リクエスト制御部431は、外部装置からのリクエストを受信できる状態で待機しており、受信したリクエスト内容に応じて、画像処理部432、経費精算リクエスト部433、データ管理部434に対し所定の処理の実行を指示する。画像処理部432は、MFP110から送られてくるスキャン画像データに対して、マルチクロップ処理やOCR処理といった画像解析処理を行う。経費精算リクエスト部433は、経費精算サーバ130に対して経費精算サービスに関する各種処理のリクエストを行ったり、そのレスポンスを受け取ったりする。各種処理には例えば、代理申請対象者や経費タイプの一覧取得、マルチクロップ処理によって得られる個々の領収書に対応する画像の登録や各画像に対応するメタデータの設定などが含まれる。データ管理部434は、サーバ装置120で管理するユーザ情報や各種設定データ等を保持・管理する。表示制御部435は、インターネット経由で接続されたPCやモバイル端末(いずれも不図示)上で動作しているウェブブラウザからのリクエストを受けて、画面表示に必要な画面構成情報(HTML、CSS等)を返す。ユーザは、ウェブブラウザで表示される画面経由で、登録されているユーザ情報を確認したり、スキャン設定を変更したりできる。
まず、MFP連携サーバ120のソフトウェア構成について説明する。MFP連携サーバ120は、リクエスト制御部431、画像処理部432、経費精算リクエスト部433、データ管理部434、表示制御部435を有する。リクエスト制御部431は、外部装置からのリクエストを受信できる状態で待機しており、受信したリクエスト内容に応じて、画像処理部432、経費精算リクエスト部433、データ管理部434に対し所定の処理の実行を指示する。画像処理部432は、MFP110から送られてくるスキャン画像データに対して、マルチクロップ処理やOCR処理といった画像解析処理を行う。経費精算リクエスト部433は、経費精算サーバ130に対して経費精算サービスに関する各種処理のリクエストを行ったり、そのレスポンスを受け取ったりする。各種処理には例えば、代理申請対象者や経費タイプの一覧取得、マルチクロップ処理によって得られる個々の領収書に対応する画像の登録や各画像に対応するメタデータの設定などが含まれる。データ管理部434は、サーバ装置120で管理するユーザ情報や各種設定データ等を保持・管理する。表示制御部435は、インターネット経由で接続されたPCやモバイル端末(いずれも不図示)上で動作しているウェブブラウザからのリクエストを受けて、画面表示に必要な画面構成情報(HTML、CSS等)を返す。ユーザは、ウェブブラウザで表示される画面経由で、登録されているユーザ情報を確認したり、スキャン設定を変更したりできる。
次に、経費精算サーバ130のソフトウェア構成について説明する。経費精算サーバ130は、リクエスト制御部441、経費情報管理部442、表示制御部443を有する。リクエスト制御部441は、外部装置からのリクエストを受信できる状態で待機しており、本実施形態においてはMFP連携サーバ120からのリクエストに応じて、経費情報管理部442が管理する情報をMFP連携サーバ120に返す。表示制御部443は、インターネット経由で接続されたPCやモバイル端末(いずれも不図示)上で動作しているウェブブラウザからのリクエストを受けて、画面表示に必要な画面構成情報(HTML、CSS等)を返す。ユーザは、ウェブブラウザで表示される画面経由で、登録されている経費レポートの情報や領収書画像を含む経費情報を確認したりすることができる。
<画像処理システム全体の処理の流れ>
図5は、MFP110で領収書をスキャンし、クラウドサービスによって経費精算を行う際の装置間の処理の流れを示すシーケンス図である。図6はMFP110の起動時に表示されるメインメニューのUI画面(以下、「メイン画面」と表記)の一例を示す図である。経費精算サービスの利用に必要な専用のアプリケーションをMFP110にインストールすることで、メイン画面600上に「経費精算」ボタン601が表示されるようになる。そして、ユーザがメイン画面600内に表示されたメニューボタンの中から「経費精算」ボタン601を押下すると、図5のシーケンス図で示される一連の処理が開始する。以下、図5のシーケンス図に沿って、装置間のやり取りを時系列に説明する。なお、以下の説明において記号「S」はステップを表す。
図5は、MFP110で領収書をスキャンし、クラウドサービスによって経費精算を行う際の装置間の処理の流れを示すシーケンス図である。図6はMFP110の起動時に表示されるメインメニューのUI画面(以下、「メイン画面」と表記)の一例を示す図である。経費精算サービスの利用に必要な専用のアプリケーションをMFP110にインストールすることで、メイン画面600上に「経費精算」ボタン601が表示されるようになる。そして、ユーザがメイン画面600内に表示されたメニューボタンの中から「経費精算」ボタン601を押下すると、図5のシーケンス図で示される一連の処理が開始する。以下、図5のシーケンス図に沿って、装置間のやり取りを時系列に説明する。なお、以下の説明において記号「S」はステップを表す。
MFP110は、MFP連携サーバ120にアクセスするためのログイン認証の情報を入力するUI画面(以下、「ログイン画面」と表記)を操作部220に表示する(S501)。図7にログイン画面の一例を示す。ユーザが、予め登録されているユーザIDとパスワードを、ログイン画面700上の入力欄702及び703にそれぞれ入力し「ログイン」ボタン701を押下すると、ログイン認証のリクエストがMFP連携サーバ120に送信される(S502)。
ログイン認証のリクエストを受けたMFP連携サーバ120は、当該リクエストに含まれるユーザIDとパスワードを用いて認証処理を行う(S503)。認証処理の結果、正規のユーザであることが確認されれば、MFP連携サーバ120は、アクセストークンをMFP110に返す。以後、MFP110からMFP連携サーバ120に対して行う各種リクエストの際にこのアクセストークンを一緒に送ることで、ログイン中のユーザが特定される。本実施形態では、MFP連携サーバ120へのログインの完了によって、経費精算サーバ130へのログインも同時に完了するものとする。このためにユーザは、インターネット上のPC(不図示)のウェブブラウザ等を介して、MFP連携サービスを利用するためのユーザIDと経費精算サービスを利用するためのユーザIDとの紐づけを予め行っておく。これにより、MFP連携サーバ120へのログイン認証に成功すれば同時に経費精算サーバ130へのログイン認証も完了し、経費精算サーバ130にログインするための操作を省略できる。そして、MFP連携サーバ120においては、自装置にログインしたユーザからの経費精算サービスに関するリクエストにも対応可能となる。なお、ログイン認証の方法は一般的に公知な手法(Basic認証、Digest認証、OAuthを用いた認可等)を用いて行えばよい。
ログインが完了すると、MFP110は、代理申請対象者リストの取得リクエストをログインユーザのアクセストークンと共にMFP連携サーバ120に送信する(S504)。代理申請対象者リストとは、経費精算サービスにおいて本人以外の者が領収書の電子化作業を行う場合(代理申請)における、ログインユーザが代理申請者となり得る対象者を規定した名簿情報である。代理申請対象者リストには、例えばログインユーザが所属する部署の同僚など、同一のMFP110を使用する環境にある、自身と一定の関係にある他のユーザが含まれ、例えば管理者等によって予め作成される。代理申請対象者リストの取得リクエストを受信したMFP連携サーバ120は、アクセストークンで特定されるログインユーザの代理申請対象者リストの取得リクエストを、経費精算サーバ130に送信する(S505)。代理申請対象者リストの取得リクエストを受けた経費精算サーバ130は、ログインユーザについての代理申請対象者リストを読み出してMFP連携サーバ120に返す。そして、MFP連携サーバ120は、経費精算サーバ130から受け取った代理申請者リストをMFP110に送信する。これにより、図8に示すような、ログインユーザが代理申請者となり得る対象者の“UserID”と“UserName”の一覧情報が、MFP110で取得される。なお、経費精算サーバ130で保持している代理申請対象者リストをそのままMFP110に送信してもよいし、フォーマットの全部又は一部を変更して送信してもよい。
代理申請対象者リストを受信したMFP110は、申請者を設定するためのUI画面(以下、「申請者設定画面」と表記)を操作部220に表示する(S506)。図9に、申請者設定画面の一例を示す。申請者設定画面900の選択欄902には、代理申請対象者リストに含まれていたユーザ名に、ログインユーザ自身のユーザ名を加えた一覧が選択候補としてプルダウン表示される。ログインユーザは、本人として領収書の電子化作業を行う場合は自身のユーザ名を、代理申請者として第三者の領収書の電子化作業を行う場合は代理申請対象者のユーザ名を選択して、「次へ」ボタン901を押下する。
「次へ」ボタン901が押下されると、スキャン設定用のUI画面(以下、「スキャン設定画面」と表記)が操作部220に表示される(S507)。図10にスキャン設定画面の一例を示す。スキャン設定画面1000には、「スキャン開始」ボタン1001、カラー設定欄1002、解像度設定欄1003が存在する。「スキャン開始」ボタン1001は、原稿台にセットした原稿(本実施形態では、複数の領収書)に対するスキャン処理の開始を指示するためのボタンである。カラー設定欄1002では、スキャン時のカラーモードを設定する。例えばフルカラーやモノクロといった選択肢の中から指定できるようになっている。解像度設定欄1003では、スキャン時の解像度を設定する。例えば600dpiや1200dpiといった選択肢の中から指定できるようになっている。なお、カラーモードと解像度は設定項目の一例であって、これらすべてが存在しなくてもよいし、これら以外の設定項目が存在してもよい。また、カラーモードや解像度に関する選択肢を、経費精算サービスの要求する設定値のみに限定したりしてもよい。ログインユーザは、このようなスキャン設定画面1000を介してスキャン処理についての詳細な条件設定を行なう。スキャン設定を終えたログインユーザが、MFP110の原稿台にスキャン対象の領収書をセットし、「スキャン開始」ボタン1001を押下するとスキャンが実行される(S508)。図11は、3枚の領有書をスキャンする様子を示す図であり(a)は読み取り対象となる表面を下(フェイスダウン)にして原稿台上に各領収書が置かれている状態を示し、同(b)はそれを原稿台の内側から見た状態を示している。このようにして複数の領収書が同時にスキャンされる。スキャンの完了後、MFP110は、スキャンによって得られた画像データを、その解析リクエストと共にMFP連携サーバ120に送信する(S509)。
スキャン画像の解析リクエストを受けたMFP連携サーバ120では、リクエスト制御部431が画像処理部432に対し、解析処理の実行を指示する(S510)。その際、リクエスト制御部431は、受信した解析リクエストを一意に特定可能なリクエストIDをMFP110に返す。図12(a)にリクエストIDの一例を示す。そして、解析処理の実行指示を受けた画像処理部432は、スキャン画像に対する解析処理として、マルチクロップ処理の一部である原稿認識処理を実行する(S511)。本実施形態の原稿認識処理では、2種類の手法をそれぞれ用いて、原稿台に置かれた原稿を検知する。2種類の手法とは、エッジ抽出処理に基づく手法とオブジェクト検出処理に基づく手法であり、本実施形態の場合、エッジ抽出処理に基づく手法にて検知される原稿領域とオブジェクト検出処理に基づく手法にて検知される原稿領域とは、排他的な関係にある。以下、詳しく説明する。
本実施形態の原稿認識処理では、最初にエッジ抽出処理に基づく手法による原稿検知を行って、次にオブジェクト検出処理に基づく手法による原稿検知を行う。エッジ抽出処理は、隣り合う画素同士の輝度差を用いて、原稿の端に相当する画素部分を特定する処理である。一般的に、原稿台カバー(圧板)のスキャンされる側の面は白色であることから、紙の厚さ等によっては、原稿台カバーを被せてスキャンを行うと、領収書等の端がスキャン画像に表れないことがある。これに対しては、スキャン時に黒い紙を領収書等のスキャン対象の原稿の上に被せてスキャンしたり、原稿台カバーを開けてスキャンを実行したりすることで原稿の端がスキャン画像上で認識されるようにする対策もある。しかしながら、黒い紙を被せる場合は、ユーザが黒い紙を用意した上でスキャンする度に毎回黒い紙を乗せる必要があり手間である。また、原稿台カバーを開けてスキャンする場合は、領収書が折れ曲がっていたり、湾曲していたりするとその内容自体が鮮明に見えなくなったりする虞がある。そこで、本実施形態では、エッジ抽出処理でその端が特定できなかった原稿を、オブジェクト検出処理によって検知する。つまり、エッジ抽出処理にて検知された原稿領域についてはそのまま維持し、エッジ抽出処理では原稿領域が検知されなかった残りの領域の中から、オブジェクト検出処理によって原稿領域を検知する。こうすることで、トータルでの検知精度が向上する。オブジェクト検出処理では、まず、スキャン画像を一定の閾値で二値化し、得られた二値画像において隣接する黒画素の集合(黒画素塊)を囲む矩形のサイズが一定以上の領域をオブジェクトとして特定する。そして、各オブジェクトの並びやオブジェクト間の距離に基づき、略同等の傾きを持ち、かつ、一定の距離以内にあるオブジェクトのまとまり(オブジェクト群)を包含する矩形領域を、一つの原稿領域と判断する。さらに本実施形態の原稿認識処理では、オブジェクト検出処理によって検知した原稿領域が複数の原稿に対応する画像領域を含んでいる可能性(=分割の可能性)を判断し、分割する場合の予測位置の決定も行い、決定された分割予測位置の情報をユーザに提示する。本実施形態の原稿認識処理の詳細については後述する。原稿認識処理の結果は、その処理対象となったスキャン画像と共に、リクエスト制御部431で管理される。この際、原稿認識処理によって検知された原稿領域に対し、それぞれを一意に識別可能な文字列であるImageIDを紐付けて保存する。このImageIDは、例えば文字列の一部に通し番号を付けるなどして同じ文字列が重複して使用されないようにする必要がある。これに関しては、既に生成済みのImageIDを検索し存在しない文字列を割り当てる方法や、UUIDを生成して付与する方法などがある。
上記解析処理が行われている間、MFP110は、上述のリクエストIDを使用して、MFP連携サーバ120に対して定期的(例えば3秒毎など)に処理状況の問合せを行う(S512〜S512’)。この問合せは、MFP連携サーバ120からの解析処理の完了レスポンス(S513)が取得できるまで繰り返し実行される。MFP連携サーバ120は、処理状況の問合せを受けると、リクエストIDに対応する解析処理の進行状況を確認する。そして、完了していない場合は処理中を表す“processing”のレスポンス(図12(b)を参照)を返し、完了していた場合は完了を表す“completed”のレスポンス(図12(c)を参照)を返す。なお、処理が失敗した場合には“failed”など、処理中と完了以外を表すステータス情報のレスポンスが返ることもある。図12(c)に示すとおり、解析処理完了時のレスポンスには、ステータス情報に加えて、スキャン画像の解析結果としての原稿認識処理の結果情報を含む。図12(c)には、前述の図11で示した例とは異なる4枚の領収書をスキャンして得られたスキャン画像に対する原稿認識処理の結果情報が示されている。まず、“Status”には、完了を表す内容の文字列(completed)が入る。“Images”には、検知された原稿領域に対応する数分の、“ImageID”、“Accuracy”、“Points”の3つの情報が格納される。“ImageID”は、検知された各原稿領域を識別するID情報である。このImageIDを指定して取得リクエストをMFP連携サーバ120に送信することで、所望の原稿領域の画像を取得できる。“Accuracy”は、原稿を正しく検知できているかの度合いを、0.0〜1.0の少数値で表す精度情報である。本実施形態の精度情報は、その値が大きいほど正確に検知できていることを示し、エッジ抽出処理によって検知した場合は1.0、オブジェクト検出処理によって検知した場合は0.5とする。“Points”は、スキャン画像のどの位置に原稿領域があったかを示す座標情報である。座標情報は、スキャン画像の左上隅を原点(x,y)=(0,0)として、先頭から順に、各原稿領域の左上隅、右上隅、右下隅、左下隅の各位置を示している。“DivideCandidate”は、検知した1つの原稿領域内に複数の原稿に対応する画像領域が含まれる可能性がある場合に、当該原稿領域を、原稿単位の画像領域に分割するための情報である。“DivideCandidate”には、“DivideID”、“Point1”、“Point2”の3つの情報が含まれる。まず、“DivideID”は、分割が見込まれる原稿領域を識別するID情報である。“Point1”と“Point2”は、その予測される分割位置を示す始点と終点をそれぞれ示す座標情報である。
解析処理の完了レスポンスを受信した後、MFP110は、原稿認識処理による原稿の認識結果を示すプレビュー画面を表示する(S514)。図13(a)及び(b)に、複数の領収書に相当する画像領域が1つの原稿領域として検知された場合に表示されるプレビュー画面の一例を示す。図13(a)は縦に並べて置いた2枚の領収書に相当する画像領域を1つの原稿領域として検知した場合、図13(b)は横に並べて置いた2枚の領収書に相当する画像領域を1つの原稿領域として検知した場合である。ユーザは、原稿台に置いた各原稿が正しく認識されているかを、このようなプレビュー画面にて確認する。1つの原稿領域に複数の原稿(ここでは領収書)の画像領域が含まれていて、原稿領域を分割する修正が必要な場合は、ユーザは、プレビュー画面にて分割を指示する。ユーザの分割指示に応じて、プレビュー画面は更新される。ユーザ指示に基づくプレビュー画面の更新などの詳細については後述する。更新後のプレビュー画面にて原稿の認識状況を確認したユーザが、図13(a)及び(b)に示すプレビュー画面内の「送信」ボタン1305を押下すると、MFP110は、各原稿に対応した画像の登録リクエストをMFP連携サーバ120に送信する。この際、上述の分割指示がなされていた場合は、登録リクエストに先立って、1つの原稿領域を複数の原稿領域に分割するための分割リクエストが送信される(S515)。図14(a)は、分割リクエストの一例、同(b)は分割リクエストに対するレスポンスの一例を示す。図14(a)に示すとおり、分割リクエストには、上述の完了レスポンスに含まれていた“DivideID”の情報が入っている。
分割リクエストを受け取ったMFP連携サーバ120では、リクエスト制御部431が、分割リクエスト内のDivideIDと紐付いた分割位置情報から分割後の原稿単位の画像領域の座標を計算する。そして、リクエスト制御部431は、分割後の原稿領域それぞれに対して新たにImageIDを付与し、当該ImageIDの情報を含んだレスポンスをMFP110に返す。例えば、原稿認識処理の結果として前述の図12(c)に示す完了レスポンスが返されていた場合の分割リクエストに対しては、以下のような処理がなされる。
まず、ImageID=image0003の原稿領域の座標情報とDivideID=image0003-Divide0001の分割位置を示す座標情報を用いて、image0003で特定される原稿領域が、2つの原稿領域に分割される。いま、座標が“3011,621,3893,623,3890,1542,3010,1537”の原稿領域と、座標が“3010,1537,3890,1542,3887,2543,3009,2539”の原稿領域とに分割されることになる。そして、分割後の2つの新たな原稿領域それぞれに対し、新たに“image0004”と“image0005”のImageIDを生成して、それぞれのImageIDに対応付けて分割後の座標情報を保存する。そして、生成した分割後の各原稿領域に対応するImageID(ここではimage0004とimage0005)の情報が格納されたレスポンスが、MFP110に返される。なお、ユーザが分割指示を行っていない場合は、分割リクエストに基づくこれらの処理は実行されない。
分割後の新たなImageIDの情報を含むレスポンスを受け取ったMFP110は、続けて、原稿画像の登録リクエストをMFP連携サーバ120に送信する(S516)。図14(c)に、登録リクエストの一例を示す。この登録リクエストには、登録対象の各原稿領域に対応するimageIDの情報が格納される。図14(c)の例では、分割後の4つの原稿領域に対応した4つのImageID(image0001、image0002、image0004、image0005)が含まれている。仮に、ユーザが分割指示を行うことなく「送信」ボタン1305を押下していた場合は、3つのImageID(image0001、image0002、image0003)を含む登録リクエストが送信されることになる。
登録リクエストを受信したMFP連携サーバ120では、リクエスト制御部431が、当該登録リクエストに含まれているImageIDに対応する、スキャン画像と原稿領域の情報を取得して、画像処理部432に対し、原稿領域の切り出しを指示する(S517)。そして、当該指示を受けた画像処理部432は、スキャン画像と原稿領域の情報に基づいて、原稿毎の画像の切り出し処理を実行する(S518)。これにより、原稿台に載置された複数の原稿それぞれに対応する原稿単位の画像(以下、「クロップ画像」と呼ぶ。)が生成される。切り出し処理の際、画像処理部432では、座標情報を元にスキャン画像から原稿単位の画像領域を切り出した後、各原稿の辺が水平または垂直状態になるように傾きを補正する処理も併せて行なわれる。さらに、OCR処理を実行して、原稿内容の方向を検知して原稿の文字が正しい向きになるように方向を修正する回転処理も必要に応じて行われる。そして、リクエスト制御部431は、上述のようにして得られたクロップ画像のデータと共に登録リクエストを経費精算サーバ130に送信する(S519)。こうして、スキャン画像から切り出された領収書単位の画像が、経費精算サーバ130に登録される。そして、登録完了のレスポンスがMFP110に返されて処理が終了する。
なお、上述の説明では、S515の分割リクエストに対しては分割後の各原稿領域に対応するImageIDの情報が格納されたレスポンスを返すのみで、実際の切り出し処理は登録リクエスト後に行っている。これは、各原稿に対応する画像が必要になるのは登録段階であるためであるが、分割リクエストの時点で切り出し処理まで行っても構わない。この場合は、切り出し処理によって得られたクロップ画像をMFP連携サーバ120にて保持しておき、登録リクエストを受け取った段階で保持しておいたクロップ画像を読み出して、その登録処理を経費精算サーバ130に依頼するようにすればよい。
<原稿認識処理>
続いて、MFP連携サーバ120の画像処理部432が実行する、マルチクロップ処理の一部としての原稿認識処理について詳しく説明する。図15は、本実施形態に係る、原稿認識処理の詳細を示すフローチャートである。図15のフローに示す一連の処理は、MFP連携サーバ120の制御部310において、CPU311がHDD314に記憶された制御プログラムを実行することにより実現され、前述の解析リクエスト(S509)を受信することで開始される。なお、各処理の冒頭における記号「S」はステップを意味する。
続いて、MFP連携サーバ120の画像処理部432が実行する、マルチクロップ処理の一部としての原稿認識処理について詳しく説明する。図15は、本実施形態に係る、原稿認識処理の詳細を示すフローチャートである。図15のフローに示す一連の処理は、MFP連携サーバ120の制御部310において、CPU311がHDD314に記憶された制御プログラムを実行することにより実現され、前述の解析リクエスト(S509)を受信することで開始される。なお、各処理の冒頭における記号「S」はステップを意味する。
S1501では、入力スキャン画像に対してエッジ抽出処理が実行される。エッジ抽出処理には、例えばCanny法などの公知の方法を用いればよい。ここで、具体例を用いて説明する。図16(a)は、処理対象として入力されたスキャン画像を示す。スキャン画像1600は、前述の図13(a)のプレビュー画面1300のプレビューエリア1301に示されている例と同じであり、原稿台に載置された4枚の領収書をスキャンして得られた画像である。いま、スキャン画像1600において、左側の2枚の領収書については原稿の端が鮮明に見えているが、右側の2枚の領収書については原稿の端がほとんど現れていない状態である。図16(b)は、スキャン画像1600に対してエッジ抽出処理を行った結果を示している。図16(b)のエッジ抽出処理後の画像(エッジ抽出画像)1601では、左側の2枚の領収書の端が特定できているが、右側の2枚の領収書についてはその端が認識されていないのが分かる。
S1502では、エッジ抽出画像に基づき原稿領域が特定される。具体的には、Hough変換等を行って、抽出されたエッジのうち直線成分を判断し、その直線が作る角度が直角に近い矩形領域を見つけ出し、その縦及び横の長さが一定量以上の矩形領域を原稿領域と特定する。この場合において、“一定量”に関しては、例えば、縦横両方とも4cm以上など、スキャン対象の原稿のサイズを考慮して決定すればよい。図16(c)は、図16(b)のエッジ抽出画像1601において特定された原稿領域を示している。この例では、スキャン画像1600における左側の2枚の領収書に対応する2つの原稿領域が特定される。
S1503では、入力スキャン画像に対してオブジェクト検出処理が実行される。図17(a)は、前述の図16(a)のスキャン画像1600に対してオブジェクト検出処理を行った結果を示している。4枚の領収書のそれぞれに記載された文字列部分がオブジェクトとして検出されているのが分かる。
S1504では、S1503で検出したオブジェクトのうち、S1502で特定した原稿領域と一部でも重なる領域を持つオブジェクトを除外する処理が実行される。図17(b)は、S1502で特定した原稿領域とS1503で検出したオブジェクトの両方を重ねて示した図である。本ステップの除外処理によって、既に原稿領域として特定された左側の2枚の領収書の文字列に相当するオブジェクトが削除され、右側の2枚の領収書の文字列に相当するオブジェクトだけが残っているのが分かる。
S1505では、除外後に残っているオブジェクト(以下、「残存オブジェクト」と呼ぶ。)を対象としてグループ化を行って、1つのまとまりのあるオブジェクト群を包含する矩形が設定される。例えば、残存オブジェクトそれぞれが持つ角度の最頻値を求め、求めた最頻値の角度に基づき、まとまりのあるオブジェクト群に外接する矩形を設定する。或いは、オブジェクト群を包含する外接矩形の上下左右に所定のマージンを持たせた一回り大きな矩形を設定する。領収書や名刺など一般的な原稿には余白領域が存在している。そのため、オブジェクト群の外縁ぎりぎりの外接矩形で切り出してしまうと、原稿の端部が切れてしまう虞があるため、矩形を設定する際にはマージンを持たせるのが望ましい。図17(d)は、図17(c)に示した残存オブジェクトを包含するように設定された矩形を示している。なお、残存オブジェクトの中に、それぞれ異なる角度を持つオブジェクト群が存在した場合には、同程度の角度を持つオブジェクトをグループ化し、得られたグループ毎に矩形を設定すればよい。また、矩形を設定する際の条件として、オブジェクトの数に閾値を設け、オブジェクト数が閾値未満の場合には矩形を設定しない(原稿領域として扱わない)ようにしてもよい。さらには、矩形の面積についても閾値を設け、閾値未満のサイズとなる場合には矩形を設定しないようにしてもよい。
S1506では、S1505で設定した矩形について(複数の矩形を設定した場合はそれぞれの矩形毎に)、その中に存在する隣接するオブジェクト同士の間隔が、一定以上あるかどうかが判定される。この判定処理によって、オブジェクト検出処理によって検知された1つの原稿領域の中に、複数の原稿に対応する画像領域が含まれているかどうかが判断される。具体的には、まず、設定された矩形の横の辺に平行で同じ長さの直線を原稿領域の縦方向について、縦の辺に平行で同じ長さの直線を原稿領域の横方向についてそれぞれ確認し、「オブジェクトが存在しないライン」を見つける。この際、矩形の端から最初のオブジェクトが存在するまでの間は原稿の余白に相当する領域なので、「オブジェクトが存在しないライン」として扱わない。そして、「オブジェクトが存在しないライン」が見つかった場合、それが何画素分連続するかを調べ、所定の画素数以上連続していれば、隣り合うオブジェクト同士の間隔が一定以上あると判定する。このとき、一定以上の間隔に相当する所定の画素数は、例えば3cmなど固定値に相当する画素数としてもよいし、オブジェクトのサイズの平均値等を元に決定してもよい。前述の図17(d)の例では、縦の辺に平行なラインを横方向に確認した場合は、「オブジェクトが存在しないライン」は存在しない。横の辺に平行なラインを縦方向に確認した場合は、「オブジェクトが存在しないライン」が17か所存在する。なお、オブジェクトの角度が斜めであった場合は、その角度に合わせた方向で「オブジェクトの存在しないライン」を確認する。このように、設定された矩形領域内のオブジェクトが存在しないラインと直交する方向におけるオブジェクト同士の間隔が一定以上あるかどうかが判定される。判定の結果、隣り合うオブジェクト同士の間隔が一定以上ある場合(すなわち、検知された1つの原稿領域の中に、複数の原稿に対応する画像領域が含まれていると判断される場合)は、S1507に進む。一方、間隔が一定以上ない場合は、本処理を終える。
S1507では、S1505で設定された矩形によって特定される原稿領域についての分割予測位置が決定される。具体的には、所定画素数以上の連続する「オブジェクトが存在しないライン」で構成されるライン群の中間の位置が、分割予測位置として決定される。図17(e)は、図17(d)の場合の分割予測位置を矢印と破線で示している。このようにして決定された分割予測位置を示す座標データは、解析完了時のレスポンスにおける“DivideCandidate”として、MFP連携サーバ120からMFP110へ返される。この例では、1つの分割予測位置しか決定していないが、所定画素数以上の連続する「オブジェクトが存在しないライン」で構成されるライン群が複数見つかった場合は、複数の分割予測位置が決定されることになる。なお、S1501でのエッジ抽出処理やS1503でのオブジェクト検出処理の手法については特に限定されず、公知の手法を適用すればよい。
以上が、本実施形態に係る原稿認識処理の内容である。なお、本フローにおいては、スキャン画像の全体に対してオブジェクト検出処理を行っていたが、エッジ抽出処理によって原稿領域が検知されなかった残りの領域に対してオブジェクト検出処理を行うようにしてもよい。その際には、スキャン対象の原稿サイズを考慮し、残りの領域のサイズが一定以上の場合にのみオブジェクト検出処理を行うようにしてもよい。このようにオブジェクト検出処理の対象領域をスキャン画像の一部に限定する場合、前述のS1504のオブジェクト除外処理を省略することができる。
<MFPの処理詳細>
続いて、MFP110における動作に着目して、上述の画像処理システムで経費精算を行う場合の処理について詳しく説明する。図18は、MFP110での経費精算処理の流れを示すフローチャートである。この一連の処理は、制御部210において、CPU211がHDD214に記憶された制御プログラムを実行することにより実現され、前述のメイン画面600での「経費精算」ボタン601の押下に応答して開始される。以下、図16に示すフローチャートに沿って詳しく説明する。なお、各処理の冒頭における記号「S」はステップを意味する。
続いて、MFP110における動作に着目して、上述の画像処理システムで経費精算を行う場合の処理について詳しく説明する。図18は、MFP110での経費精算処理の流れを示すフローチャートである。この一連の処理は、制御部210において、CPU211がHDD214に記憶された制御プログラムを実行することにより実現され、前述のメイン画面600での「経費精算」ボタン601の押下に応答して開始される。以下、図16に示すフローチャートに沿って詳しく説明する。なお、各処理の冒頭における記号「S」はステップを意味する。
S1801において、表示制御部421は、前述のログイン画面700を表示する。ログイン画面700上でユーザ名とパスワードが入力欄702及び703にそれぞれ入力され、「ログイン」ボタン701の押下が検知されると、S1802に進む。
S1802において、連携サービスリクエスト部423は、ログイン認証リクエストをMFP連携サーバ120に送信する。MFP連携サーバ120でのログイン認証によって正規のユーザであることが確認されると、連携サービスリクエスト部423は、アクセストークンをMFP連携サーバ120から受信する。
アクセストークンを受信した連携サービスリクエスト部423は、S1803において、代理申請対象者リストの取得リクエストをアクセストークンと共にMFP連携サーバ120に送信する。そして、代理申請対象者リストをMFP連携サーバ120経由で経費精算サーバ130から受信すると、それを表示制御部421に渡す。
S1804において、表示制御部421は、受け取った代理申請対象者リストに基づいて前述の申請者設定画面900を操作部220に表示する。このとき、申請者設定画面900の選択欄902には、ログイン中の本人のユーザ名が初期値として表示され、代理申請対象者が選択されることなく「次へ」ボタン901が押下された場合は、本人申請として経費精算サービスに領収書画像の登録等を行うことになる。ログインユーザによって、いずれかのユーザ名が選択され、「次へ」ボタン901の押下が検知されると、S1805へ進む。なお、代理申請対象者リストにユーザ名が存在しない(リストの中身が空)であれば、本ステップ自体がスキップされる。
S1805において、表示制御部421は、前述のスキャン設定画面1000を操作部220に表示する。ログインユーザによって原稿台に領収書がセットされ、「スキャン開始」ボタン1001の押下が検知されると、表示制御部421は、スキャン制御部422に対してその旨を通知する。
通知を受けたスキャン制御部422は、S1806において、スキャン実行部411に対してスキャン処理の実行を指示する。当該指示を受けてスキャン実行部411は、原稿台に置かれた領収書をスキャンする。スキャンによって生成されたスキャン画像データは、画像データ保存部412に保存され、当該スキャン画像を特定可能な識別子がスキャン制御部421に通知される。この際、スキャンの実行中である旨を示すメッセージ画面(不図示)が操作部220上に表示されるようにしてもよい。
次に、S1807において、連携サービスリクエスト部423は、スキャン制御部421を介してスキャン画像データを取得し、MFP連携サーバ120にその解析リクエストと共に送信する。当該解析リクエストに基づき、MFP連携サーバ120では、受信したスキャン画像データに対して、前述のマルチクロップ処理が実行される。その際、MFP連携サーバ120のリクエスト制御部431からリクエストIDが返される。
リクエストIDを取得した連携サービスリクエスト部423は、S1808において、処理ステータスの取得リクエストをリクエストIDと共にMFP連携サーバ120に送信する。当該取得リクエストに基づき、MFP連携サーバ120は、リクエストIDで特定されるマルチクロップ処理の進行状況に応じたレスポンスをMFP110に返す。
S1809において、連携サービスリクエスト部423は、MFP連携サーバ120から受け取ったレスポンスが処理中を示す内容(図12(b)を参照)であった場合はS1808に戻る。そして、所定時間(例えば数秒程度)の経過を待って、再び処理ステータスの取得リクエストをMFP連携サーバ120に送信する。受け取ったレスポンスが完了を示す内容(図12(c)を参照)であった場合は、S1810に進む。
S1810において、表示制御部421は、前述のプレビュー画面1300を操作部220に表示する。ここで、前述の図13(a)を参照して、プレビュー画面について詳しく説明する。いま、プレビュー画面1300におけるプレビューエリア1301には、実線で示す第1検知枠1302と、破線で示す第2検知枠1303が表示されている。第1検知枠1302は、エッジ抽出処理に基づき特定された原稿領域に対応しており、当該検知枠が原稿の外縁を表している精度が高い。一方、第2検知枠は、オブジェクト検出処理に基づき特定された原稿領域に対応しており、当該検知枠が原稿の外縁を表している精度は、第1検知枠よりも低い。これら第1検知枠1302及び第2検知枠1303は、図12(c)の完了レスポンスに含まれる解析情報(原稿認識処理の結果情報)に基づき画像処理部424にて生成され、スキャン画像に重ねて表示される。第1検知枠1302は、各ImageIDで特定される原稿領域のうち、Accuracyが1.0のものについて、Pointsで示す座標情報を用いて生成される。また、第2検知枠1303は、Accuracyが0.5の画像領域のPointsで示す座標情報を用いて生成される。そして、ユーザが両者の違いを見た目で識別できるように、異なる表示態様(例えば、枠の線幅や色等を異ならせる)にて、双方の検知枠を表示する。そして、第2検知枠1303が重畳表示された原稿領域について分割することが見込まれる場合、当該原稿領域を複数の原稿領域に分割する指示をユーザが行うためのボタン(以下、「分割ボタン」と呼ぶ。)が表示される。この分割ボタンは、原稿領域のどこで分割したらよいかを直感的に認識できるように上述の分割予測位置を示すように配置される。また、分割ボタンには、分割方向を示す情報を付加してもよい。本実施形態では、分割方向を示す両方向矢印を分割ボタン内に表示するようにしている。図13(a)の例では、第2検知枠1303の辺上であって、かつ、完了レスポンス内のDivideCandidateに含まれるPoint1の座標位置とPoint2の座標位置とを結んだ線上に分割ボタン1304が表示されている。そして、本実施例では、分割ボタン1304を、分割予測位置の始点を表すPoint1の座標位置がその中心にくるように配置している。しかし、分割ボタン1304の位置はこれに限定されず、Point1の座標位置とPoint2の座標位置とを結んだ線上やその近傍など、どこで分割することになるかをユーザが認識可能な任意の位置に配置すればよい。また、図13(a)のプレビュー画面1300で示すように、Point1の座標位置とPoint2の座標位置とを結ぶ線が横方向に延びる場合は縦方向に分割するように、分割後の境界を表す線を表示する。また、図13(b)のプレビュー画面1300’で示すように、Point1の座標位置とPoint2の座標位置とを結ぶ線が縦方向に延びる場合は横方向に分割するように、分割後の境界を表す線が表示されることになる。また、分割ボタン1304は、第2検知枠1303を表す矩形の傾き(角度)に合わせて表示するようにしてもよい。
ユーザによって分割ボタン1304(又は1304’)が押下されると、S1811において、表示制御部421は、完了レスポンスに含まれるDivideCandidateの情報に基づき、プレビュー画面を更新する。図13(c)のプレビュー画面1310は、図13(a)のプレビュー画面1300の更新後の状態を示している。更新後のプレビュー画面1310では、第2検知枠1303が上下2つに分割され、上の原稿に対応する枠1312と下の原稿に対応する枠1313に分離している。さらに、分割ボタン1304が表示されていた位置に結合ボタン1311が表示されている。ユーザは、この結合ボタン1311を押下することで、更新後のプレビュー画面1310に表示された2つの枠1312及び1313を、元の第2検知枠1303に戻すことができる。つまり、結合ボタン1311を使用することによりユーザは、誤って分割ボタン1304を押下してしまっても当該操作をキャンセルすることができる。ユーザは、このような更新後のプレビュー画面1310にて各原稿の認識状態を確認し、問題がなければ、「送信」ボタン1305を押下する。
ユーザが「送信」ボタン1305を押下すると、S1812では、分割指示がなされているか(その時点で分割ボタン1304が押下されているか)によって、処理の切り分けが行われる。分割指示がなされていればS1813に進む。一方、分割指示がなされていなければ、S1813をスキップしてS1814に進む。
S1813において、連携サービスリクエスト部423は、前述の分割リクエストをMFP連携サーバ120に送信する。分割リクエストを受けたMFP連携サーバ120では、リクエスト制御部431が、分割リクエスト内のDivideIDに基づき、分割位置を示す座標情報に従って分割対象の原稿領域に対し分割を実行した時の分割後の原稿領域を決定する。そして、分割後の各原稿領域に対し、それぞれを一意に示すImageIDを付与する。そして、分割後の各原稿領域に付与されたImageIDの情報を含むレスポンスが、MFP110に返される。
S1814において、連携サービスリクエスト部423は、登録リクエストをMFP連携サーバ120に送信する。前述のとおり、登録リクエストには、登録対象の原稿単位の画像(ここでは領収書画像)の、スキャン画像における原稿領域を示すImageIDが含まれる。登録リクエストを受けたMFP連携サーバ120では、領収書画像を経費精算サーバ130に登録するための処理が行われる。具体的には、まず、リクエスト制御部431が、登録リクエスト内のImageIDに基づきスキャン画像から原稿領域を切り出すための座標情報を取得し、画像処理部432に対して領収書画像の切り出し処理を指示する。当該指示を受けた画像処理部432は、経費精算サーバ130に登録するための領収書画像を生成する。そして、経費精算リクエスト部433が、アクセストークンに紐づいた経費精算サーバ130のユーザ情報を取得し、登録リクエストを当該ユーザ情報と紐付けて経費精算サーバ130に送信する。この登録リクエストを受けた経費精算サーバ130では、リクエスト制御部441の指示に基づき、経費情報管理部442が領収書画像の登録処理を行う。そして、リクエスト制御部441は、Stautusに登録完了を表す“completed”の文字列が格納されたレスポンスをMFP連携サーバ120に返す。この登録完了のレスポンスは、MFP連携サーバ120のリクエスト制御部431を介して、MFP110に返される。
以上が、本実施形態に係る、MFP110を中心とした経費精算処理の内容である。
<変形例>
上述の実施形態において、分割を実行した際には、その分割位置に隣接するオブジェク同士の間隔などの情報を、当該分割を指示したユーザと紐付けて保持しておくようにしてもよい。この場合、同一ユーザが次回以降ログインした際に、保持しておいた履歴情報を参照して、自動的に分割ボタン1304を押下した後の状態を表示させることができる。これにより、ユーザの手間を省くことができ利便性が向上する。
上述の実施形態において、分割を実行した際には、その分割位置に隣接するオブジェク同士の間隔などの情報を、当該分割を指示したユーザと紐付けて保持しておくようにしてもよい。この場合、同一ユーザが次回以降ログインした際に、保持しておいた履歴情報を参照して、自動的に分割ボタン1304を押下した後の状態を表示させることができる。これにより、ユーザの手間を省くことができ利便性が向上する。
また、プレビュー画面の初期表示状態を、図13(a)の状態ではなく、図13(c)の状態としてもよい。すなわち、プレビュー画面を最初に表示する段階で、第2検知枠1303を分割予測位置に基づき2つの枠1312及び1313に分割して表示し、さらに当該分割を行った位置に結合ボタン1311を表示するようにしてもよい。
[実施形態2]
実施形態1では、プレビュー画面上に分割ボタンを表示する際の分割予測位置を、原稿認識処理の中で、隣接するオブジェクト同士の間隔を元に決定していた(図15のフローチャートのS1507を参照)。そのため、並べて置いた2枚の原稿の間隔が一定以上ないと(S1506でNoの場合)、プレビュー画面に分割ボタンが表示されないことになる。図19(a)に、分割ボタンの表示がないプレビュー画面の一例を示す。図19(a)のプレビュー画面1900においては、縦に並べて置いた2枚の領収書の間隔が狭かったために、第2検知枠1901に分割ボタンが表示されていない。
実施形態1では、プレビュー画面上に分割ボタンを表示する際の分割予測位置を、原稿認識処理の中で、隣接するオブジェクト同士の間隔を元に決定していた(図15のフローチャートのS1507を参照)。そのため、並べて置いた2枚の原稿の間隔が一定以上ないと(S1506でNoの場合)、プレビュー画面に分割ボタンが表示されないことになる。図19(a)に、分割ボタンの表示がないプレビュー画面の一例を示す。図19(a)のプレビュー画面1900においては、縦に並べて置いた2枚の領収書の間隔が狭かったために、第2検知枠1901に分割ボタンが表示されていない。
そこで、図19(a)の状態のプレビュー画面が表示されるケースであっても、ユーザが任意の位置で原稿領域の分割が行えるようにする態様を、実施形態2として説明する。なお、システム構成といった基本的な構成は実施形態1と共通であり特に異なるところはないので、以下では、本実施形態の特徴的構成、すなわち、ユーザが所望の位置に分割ボタンを表示させるための操作・処理を中心に説明を行うこととする。
いま、実施形態1で説明した図18のフローチャートのS1810において、MFP110の操作部220上に表示されたプレビュー画面の初期表示状態が、前述の図19(a)の状態であったとする。このような状態下で、本実施形態においては、原稿領域を分割したい位置(すなわち、分割ボタンを表示させたい位置)をユーザが指定できるようにする。指定方法としては、例えば、操作部220がタッチパネル機能を有していれば、プレビュー画面1900上の第2検知枠1901内の任意の位置をユーザにタッチ操作させる。図19(b)は、プレビュー画面1900上にてユーザが自身の指1902を使ったタッチ操作の様子を示す図である。この場合のユーザの意図としては、上下に並べて置いた2枚の領収書それぞれに対応する画像が得られるように、第2検知枠1901に対応する原稿領域を上下に2分割するような分割位置を指定していることになる。このタッチ操作を契機としてプレビュー画面の更新がなされ得るという意味で、ここでのタッチ操作が実施形態1における分割ボタンの押下に相当することになる。なお、ユーザによる分割位置の指定をマウス等で行っても構わない。このようなユーザによるタッチ操作を表示制御部421が検知すると、連携サービスリクエスト部423が、ユーザが指定した位置で原稿領域が分割できるかどうかを確認するためのリクエスト(以下、「分割判定リクエスト」と呼ぶ。)を、MFP連携サーバ120に送信する。図20(a)に分割判定リクエストの一例を示す。分割判定リクエストに含まれる“DividePoint”は、ユーザが指定した位置の座標情報である。
分割判定リクエストを受け取ったMFP連携サーバ120では、リクエスト制御部431が、DividePointの座標情報を取得し、当該座標情報によって特定される位置によって原稿領域の分割が可能かどうかを判定する。具体的には、まず、ユーザが指定した位置を含んでいる第2検知枠内の各オブジェクトの角度について最頻値を求める。そして、最頻値となった角度に合わせて、ユーザが指定した位置から垂直方向及び水平方向に直線を延ばし、それぞれの直線上にオブジェクトが存在するかどうかを確認する。そして、いずれかの方向の直線上にオブジェクトが存在しない場合は、その方向に分割可能と判断し、オブジェクトが存在しなかった直線と第2検知枠の両端との交点の座標情報を含むレスポンスを、MFP110に返す。いずれの方向の直線上にもオブジェクトが存在しない場合は、垂直方向と水平方向のどちらがよりオブジェクト同士の間隔が大きいかを判断する。そして、垂直方向の方がオブジェクト同士の間隔が大きい場合は、水平方向に分割可能と判断し、ユーザが指定した位置から水平方向に延びる直線と第2検知枠の両端との交点の座標情報を含むレスポンスをMFP110に返す。一方、水平方向の方がオブジェクト同士の間隔が大きい場合は、垂直方向に分割可能と判断し、ユーザが指定した位置から垂直方向に延びる直線と第2検知枠の両端との交点の座標情報を含むレスポンスをMFP110に返す。そして、いずれの方向の直線上にもオブジェクトが存在する場合は、ユーザが指定した位置では原稿領域を分割できないと判断し、“Status”に分割不可能を表す文字列(error)を格納したレスポンスを返す。図20(b)は、分割判定リクエストに対するレスポンスの一例であり、図19(b)の例におけるユーザが指定した位置にて分割可能と判断された場合のレスポンスを示している。“Status”に分割可能を表す文字列(succeeded)が格納されている点を除き、“Images”に格納されている内容は、図12(c)で示した解析処理完了時のレスポンスと同様である。もちろん、この場合のPoint1とPoint2の座標情報で特定される位置は、分割可能と判断したときの上述の座標位置である。
分割判定リクエストに対する上記いずれかのレスポンスを受け取ったMFP110では、表示制御部421が、受け取ったレスポンスに含まれる情報に基づき、プレビュー画面1900を更新する(S1811)。図19(c)のプレビュー画面1910は、図19(a)のプレビュー画面1300の更新後の状態を示している。更新後のプレビュー画面1910では、第2検知枠1901に対応する原稿領域を上下2つに分割する際の分割線1911が表示されている。さらに、当該分割をキャンセルするための結合ボタン1912が表示されている。これ以降の処理は、実施形態1と同じであるので説明を省く。
以上が、本実施形態に係る、分割ボタンがプレビュー画面に表示されないケースに対応したMFP110における経費精算処理の流れである。
<変形例>
なお、本実施形態において、ユーザのタッチ操作等に従って分割を実行した場合、その分割位置に隣接するオブジェク同士の間隔の情報を、当該分割を指示したユーザと紐付けて保持しておくこともできる。そして、同一ユーザが次回以降ログインした際に、保持しておいた履歴情報を参照して、オブジェクト同士の間隔が前回のタッチ操作で分割したときの間隔以上の時に、分割ボタンを自動で表示させるようにする。これにより、ユーザの手間を省くことができ利便性が向上する。
なお、本実施形態において、ユーザのタッチ操作等に従って分割を実行した場合、その分割位置に隣接するオブジェク同士の間隔の情報を、当該分割を指示したユーザと紐付けて保持しておくこともできる。そして、同一ユーザが次回以降ログインした際に、保持しておいた履歴情報を参照して、オブジェクト同士の間隔が前回のタッチ操作で分割したときの間隔以上の時に、分割ボタンを自動で表示させるようにする。これにより、ユーザの手間を省くことができ利便性が向上する。
[実施形態3]
実施形態1の図15のフローチャートの説明で述べたとおり、オブジェクト検出処理によって原稿領域を特定する際の矩形の設定においては、原稿の余白を考慮してマージンを取ることが望ましい。しかし、マージンを取っていても、原稿によっては用意したマージン以上の余白が存在し、設定した矩形(=第2検知枠)の中に原稿が収まりきらない可能性がある。そこで、プレビュー画面に表示された第2検知枠の各辺をユーザが調整できるようにする態様を、実施形態3として説明する。
実施形態1の図15のフローチャートの説明で述べたとおり、オブジェクト検出処理によって原稿領域を特定する際の矩形の設定においては、原稿の余白を考慮してマージンを取ることが望ましい。しかし、マージンを取っていても、原稿によっては用意したマージン以上の余白が存在し、設定した矩形(=第2検知枠)の中に原稿が収まりきらない可能性がある。そこで、プレビュー画面に表示された第2検知枠の各辺をユーザが調整できるようにする態様を、実施形態3として説明する。
図21は、実施形態2の図19(c)に示した更新後のプレビュー画面1910をベースとした、本実施形態に係るプレビュー画面の一例を示す図である。第2検知枠1901の各辺の近く(この例では、辺の中央付近)に、辺の位置を変更するための調整ボタン2101が表示されている。この調整ボタン2101は、例えば第2検知枠1901に対するタッチ操作や不図示の専用ボタンの押下等に応じて表示される。ユーザは、各辺に対応した調整ボタン2101を操作(例えば、ドラッグアンドドロップ)して、原稿のサイズに合うように辺の位置を調整する。なお、図21(c)のプレビュー画面2100では、第2検知枠1901の辺だけでなく、分割線1911に対しても調整ボタン2101を設け、分割位置も微調整できるようにしている。調整ボタン2101によって分割位置が変更された場合は、それに伴って分割ボタン1912の位置も変化する。調整ボタン2101を用いて第2検知枠の辺の位置や分割位置の調整を行った場合、前述の登録リクエストには、ImageIDの情報に加えて、調整後の各原稿領域の外縁を表す枠の4点座標の情報も格納される。図14(d)に、本実施形態に係る登録リクエストの一例を示す。
上記登録リクエストを受け取ったMFP連携サーバ120では、リクエスト制御部431が、当該登録リクエストに含まれる座標情報を使用して、スキャン画像から各原稿に対応する画像領域の切り出し処理を行って、原稿単位の画像を得る。
本実施形態によれば、予め決めたマージンでは原稿の余白が切れてしまうような場合でも、ユーザが原稿のサイズに合わせて、スキャン画像から切り出す際の原稿領域を調整することができる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (9)
- 複数の原稿をまとめてスキャンして得られたスキャン画像に対する原稿認識処理を行う画像処理装置であって、
第1の手法を用いて前記スキャン画像における原稿領域を検知する第1検知手段と、
前記第1検知手段による検知を行った後に、前記第1の手法とは異なる第2の手法を用いて前記スキャン画像における原稿領域を検知する第2検知手段と、
を備え、
前記第1検知手段が検知する原稿領域と前記第2検知手段が検知する原稿領域とは排他的な関係にある、
ことを特徴とする画像処理装置。 - 前記第1の手法は、前記スキャン画像における隣り合う画素の輝度差を用いて前記原稿の端を特定するエッジ抽出処理に基づく手法であり、
前記第2の手法は、前記スキャン画像における黒画素の塊をオブジェクトとして特定するオブジェクト検出処理に基づく手法である、
ことを特徴とする請求項1に記載の画像処理装置。 - 前記第2検知手段は、前記オブジェクト検出処理によって特定したオブジェクトに対し、前記第1検知手段にて検知された原稿領域にその一部が含まれるオブジェクトを除外する処理を行い、除外後に残ったオブジェクトをグループ化して得られたオブジェクト群を包含する所定の領域を、前記原稿領域として検知する、ことを特徴とする請求項2に記載の画像処理装置。
- 前記第2検知手段は、前記スキャン画像のうち、前記第1検知手段によって前記原稿領域が検知されなかった残りの画像領域に対して、前記オブジェクト検出処理を行い、検出されたオブジェクトをグループ化して得られたオブジェクト群を包含する所定の領域を、前記原稿領域として検知する、ことを特徴とする請求項2に記載の画像処理装置。
- 前記第2検知手段は、前記残りの画像領域のサイズが一定以上の場合にのみ前記オブジェクト検出処理を行うことを特徴とする請求項4に記載の画像処理装置。
- 前記グループ化は、略同等の傾きを持ち、かつ、一定の距離以内にあるオブジェクトのまとまりを1つのオブジェクト群とする処理である、ことを特徴とする請求項3又は4に記載の画像処理装置。
- 前記所定の領域は、前記オブジェクト群を包含する外接矩形に所定のマージンを持たせた矩形の領域である、ことを特徴とする請求項3又は4に記載の画像処理装置。
- 複数の原稿をまとめてスキャンして得られたスキャン画像に対する原稿認識処理を行う画像処理方法であって、
第1の手法を用いて前記スキャン画像における原稿領域を検知する第1検知ステップと、
前記第1検知ステップによる検知を行った後に、前記第1の手法とは異なる第2の手法を用いて前記スキャン画像における原稿領域を検知する第2検知ステップと、
を含み、
前記第1検知ステップにて検知する原稿領域と前記第2検知ステップにて検知する原稿領域とは排他的な関係にある、
ことを特徴とする画像処理方法。 - コンピュータを、請求項1乃至7のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019081893A JP2020182021A (ja) | 2019-04-23 | 2019-04-23 | 情報処理装置、情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019081893A JP2020182021A (ja) | 2019-04-23 | 2019-04-23 | 情報処理装置、情報処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020182021A true JP2020182021A (ja) | 2020-11-05 |
Family
ID=73024741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019081893A Pending JP2020182021A (ja) | 2019-04-23 | 2019-04-23 | 情報処理装置、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020182021A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021128356A (ja) * | 2020-02-10 | 2021-09-02 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
JP7268764B1 (ja) | 2022-01-14 | 2023-05-08 | 凸版印刷株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
-
2019
- 2019-04-23 JP JP2019081893A patent/JP2020182021A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021128356A (ja) * | 2020-02-10 | 2021-09-02 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
JP7415634B2 (ja) | 2020-02-10 | 2024-01-17 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
JP7268764B1 (ja) | 2022-01-14 | 2023-05-08 | 凸版印刷株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
JP2023103825A (ja) * | 2022-01-14 | 2023-07-27 | 凸版印刷株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7234024B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
US20170257493A1 (en) | Server apparatus providing portable information terminal and image forming apparatus with cloud image processing service | |
US10091396B2 (en) | Information analysis system and information analysis method | |
JP7337553B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
US8693034B2 (en) | Image processing method, apparatus, and computer-readable storage medium for computer program that retrieves a condition input screen | |
KR20210094465A (ko) | 문서를 전자화하기 위한 화상 처리 시스템, 그 제어 방법, 및 저장 매체 | |
JP2019068324A (ja) | スキャン画像にファイル名を設定するための装置、その制御方法及びプログラム | |
US8493586B2 (en) | Work flow system for deciding whether to execute the work flow based on function restriction information | |
JP7317561B2 (ja) | タッチパネルを用いた文字入力のための画像処理装置、その制御方法及びプログラム | |
JP2022096218A (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム | |
JP2023107989A (ja) | ユーザ操作のためのガイダンスを表示する画像処理装置、その制御方法及びプログラム | |
JP2019040251A (ja) | スキャン画像にファイル名等を設定するための装置、その制御方法及びプログラム | |
JP2022092917A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2020182021A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2020136728A (ja) | 画像処理装置、システム、方法およびプログラム | |
US20150237043A1 (en) | Image processing apparatus, and authentication processing method in the same | |
JP2020178283A (ja) | タッチパネルを用いた文字入力のための画像処理装置、その制御方法及びプログラム | |
US11252290B2 (en) | Image processing apparatus, image processing method and storage medium | |
JP2021103846A (ja) | 情報処理装置、情報処理システム、情報処理方法及びプログラム | |
US11553095B2 (en) | Information processing apparatus, control method of information processing apparatuses, scanner apparatus, control method of scanner apparatus, and recording medium | |
JP2020178280A (ja) | スキャン画像にプロパティを設定するための画像処理装置、その制御方法及びプログラム | |
JP2021164132A (ja) | 画像処理システム、及びプログラム | |
US11758060B2 (en) | Information processing apparatus, method of controlling information processing apparatus, and storage medium | |
JP2020127076A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2022137727A (ja) | 情報処理装置、情報処理システム、その制御方法及びプログラム |