(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-18
(45)【発行日】2022-10-26
(54)【発明の名称】画像処理装置、および、コンピュータプログラム
(51)【国際特許分類】
B41J 3/01 20060101AFI20221019BHJP
H04N 1/387 20060101ALI20221019BHJP
B41J 5/30 20060101ALI20221019BHJP
【FI】
B41J3/01
H04N1/387
B41J5/30 Z
(21)【出願番号】P 2018086272
(22)【出願日】2018-04-27
【審査請求日】2021-03-30
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110001058
【氏名又は名称】鳳国際弁理士法人
(72)【発明者】
【氏名】長谷川 智彦
(72)【発明者】
【氏名】梶川 佳史
【審査官】加藤 昌伸
(56)【参考文献】
【文献】特開2011-150621(JP,A)
【文献】特開2009-056631(JP,A)
【文献】特開2009-130718(JP,A)
【文献】特開2009-083365(JP,A)
【文献】特開昭63-301073(JP,A)
【文献】特開2013-167967(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B41J 5/00 - 5/52
B41J 21/00 - 21/18
B41J 3/01 - 3/54
B41J 3/62
(57)【特許請求の範囲】
【請求項1】
印刷媒体を印刷ヘッドに対して相対的に移動させ、移動される前記印刷媒体に前記印刷ヘッドを用いて画像を印刷する印刷実行部のための画像処理装置であって、
対象画像データを取得する画像取得部であって、前記対象画像データに基づく対象画像は、複数個のバーコードを含む第1オブジェクト領域を含み、前記複数個のバーコードは、第1方向に延びるバーを有する第1バーコードと、前記第1方向とは異なる第2方向に延びるバーを有する第2バーコードと、を含む、前記画像取得部と、
前記対象画像データを用いて、前記対象画像内の前記複数個のバーコードを特定するバーコード特定部と、
前記第1オブジェクト領域内の画像の印刷方向を決定する方向決定部であって、前記印刷方向は、前記印刷実行部によって、前記第1オブジェクト領域内の画像が前記印刷媒体に印刷される際に前記印刷媒体が前記印刷ヘッドに対して相対的に移動する方向と対応する方向であり、前記印刷方向は、前記第1方向と前記第2方向とのうちのいずれか一方に基づく方向に決定される、前記方向決定部と、
前記対象画像データを用いて、決定済みの前記印刷方向で前記第1オブジェクト領域内の画像を印刷するための印刷データを生成する印刷データ生成部と、
前記印刷データを前記印刷実行部に出力する印刷データ出力部と、
を備え、
前記方向決定部は、
前記第1バーコードが特定種のバーコードであって、かつ、前記第2バーコードが前記特定種のバーコードとは異なる場合に、前記第1方向に基づく方向を前記印刷方向として決定し、
前記第2バーコードが前記特定種のバーコードであって、かつ、前記第1バーコードが前記特定種のバーコードとは異なる場合に、前記第2方向に基づく方向を前記印刷方向として決定し、
前記特定種のバーコードは、CODE128と、JANと、CODE39と、NW-7と、のうちの少なくとも1種である、画像処理装置。
【請求項2】
印刷媒体を印刷ヘッドに対して相対的に移動させ、移動される前記印刷媒体に前記印刷ヘッドを用いて画像を印刷する印刷実行部のための画像処理装置であって、
対象画像データを取得する画像取得部であって、前記対象画像データに基づく対象画像は、第1バーコードと第2バーコードとを含む複数個のバーコードを含む第1オブジェクト領域と、前記第1バーコードと前記第2バーコードとのうちの少なくとも一方を含む1個以上のバーコードを含む第2オブジェクト領域と、を含み、前記第1バーコードは、第1方向に延びるバーを有し、前記第2バーコードは、前記第1方向とは異なる第2方向に延びるバーを有する、前記画像取得部と、
前記対象画像データを用いて、前記対象画像内の前記複数個のバーコードを特定するバーコード特定部と、
前記第1バーコードおよび前記第2バーコードの種類と、前記第1バーコードおよび前記第2バーコードの個数と、の少なくとも一方に基づいて、前記第1オブジェクト領域内の画像の印刷方向を決定する方向決定部であって、前記印刷方向は、前記印刷実行部によって、前記第1オブジェクト領域内の画像が前記印刷媒体に印刷される際に前記印刷媒体が前記印刷ヘッドに対して相対的に移動する方向と対応する方向であり、前記印刷方向は、前記第1方向と前記第2方向とのうちのいずれか一方に基づく方向に決定される、前記方向決定部と、
前記対象画像データを用いて、決定済みの前記印刷方向で前記第1オブジェクト領域内の画像を印刷するための印刷データを生成する印刷データ生成部と、
前記印刷データを前記印刷実行部に出力する印刷データ出力部と、
を備え、
前記方向決定部は、前記第1オブジェクト領域内の前記第1バーコードおよび前記第2バーコードの種類と、前記第1オブジェクト領域内の前記第1バーコードおよび前記第2バーコードの個数と、の少なくとも一方に基づいて、前記印刷方向を決定できない場合に、前記第2オブジェクト領域内の前記第1バーコードおよび前記第2バーコードの種類と、前記第2オブジェクト領域内の前記第1バーコードおよび前記第2バーコードの個数と、の少なくとも一方に基づいて、前記印刷方向を決定する、画像処理装置。
【請求項3】
印刷媒体を印刷ヘッドに対して相対的に移動させ、移動される前記印刷媒体に前記印刷ヘッドを用いて画像を印刷する印刷実行部のための画像処理装置であって、
対象画像データを取得する画像取得部であって、前記対象画像データに基づく対象画像は、複数個のバーコードを含む第1オブジェクト領域を含み、前記複数個のバーコードは、第1方向に延びるバーを有する第1バーコードと、前記第1方向とは異なる第2方向に延びるバーを有する第2バーコードと、を含む、前記画像取得部と、
前記対象画像データを用いて、前記対象画像内の前記複数個のバーコードを特定するバーコード特定部と、
前記第1バーコードおよび前記第2バーコードの種類と、前記第1バーコードおよび前記第2バーコードの個数と、の少なくとも一方に基づいて、前記第1オブジェクト領域内の画像の印刷方向を決定する方向決定部であって、前記印刷方向は、前記印刷実行部によって、前記第1オブジェクト領域内の画像が前記印刷媒体に印刷される際に前記印刷媒体が前記印刷ヘッドに対して相対的に移動する方向と対応する方向であり、前記印刷方向は、前記第1方向と前記第2方向とのうちのいずれか一方に基づく方向に決定される、前記方向決定部と、
前記対象画像データを用いて、決定済みの前記印刷方向で前記第1オブジェクト領域内の画像を印刷するための印刷データを生成する印刷データ生成部と、
前記印刷データを前記印刷実行部に出力する印刷データ出力部と、
を備え、
前記印刷データ生成部は、
前記第1オブジェクト領域内の画像を前記印刷媒体に応じたサイズに縮小する縮小処理を実行し
縮小済みの前記第1オブジェクト領域内の画像を印刷するための前記印刷データを生成し、
前記方向決定部は、前記第1バーコードおよび前記第2バーコードの種類と、前記第1バーコードおよび前記第2バーコードの個数と、の少なくとも一方に基づいて、前記印刷方向を決定できない場合に、前記第1方向に基づく方向と、前記第2方向に基づく方向と、のうち、前記縮小処理による縮小の程度が小さくなる方向を、前記印刷方向として決定する、画像処理装置。
【請求項4】
物品に貼り付けられるラベル用のシートを印刷ヘッドに対して相対的に移動させ、移動される前記シートに前記印刷ヘッドを用いて画像を印刷するラベル用の印刷実行部のための画像処理装置であって、
対象画像データを取得する画像取得部であって、前記対象画像データに基づく対象画像は、複数個のバーコードを含む第1オブジェクト領域を含み、前記複数個のバーコードは、第1方向に延びるバーを有する第1バーコードと、前記第1方向とは異なる第2方向に延びるバーを有する第2バーコードと、を含む、前記画像取得部と、
前記対象画像データを用いて、前記対象画像内の前記複数個のバーコードを特定するバーコード特定部と、
前記第1バーコードおよび前記第2バーコードの種類と、前記第1バーコードおよび前記第2バーコードの個数と、の少なくとも一方に基づいて、前記第1オブジェクト領域内の画像の印刷方向を決定する方向決定部であって、前記印刷方向は、前記印刷実行部によって、前記第1オブジェクト領域内の画像が前記シートに印刷される際に前記シートが前記印刷ヘッドに対して相対的に移動する方向と対応する方向であり、前記印刷方向は、前記第1方向と前記第2方向とのうちのいずれか一方に基づく方向に決定される、前記方向決定部と、
前記対象画像データを用いて、決定済みの前記印刷方向で前記第1オブジェクト領域内の画像を印刷するための印刷データを生成する印刷データ生成部と、
前記印刷データを前記印刷実行部に出力する印刷データ出力部と、
を備える、画像処理装置。
【請求項5】
請求項4に記載の画像処理装置であって、
前記方向決定部は、
前記第1バーコードの個数が前記第2バーコードの個数よりも多い場合に、前記第1方向に基づく方向を前記印刷方向として決定し、
前記第2バーコードの個数が前記第1バーコードの個数よりも多い場合に、前記第2方向に基づく方向を前記印刷方向として決定する、画像処理装置。
【請求項6】
印刷媒体を印刷ヘッドに対して相対的に移動させ、移動される前記印刷媒体に前記印刷ヘッドを用いて画像を印刷する印刷実行部のためのコンピュータプログラムであって、
対象画像データを取得する画像取得機能であって、前記対象画像データに基づく対象画像は、複数個のバーコードを含む第1オブジェクト領域を含み、前記複数個のバーコードは、第1方向に延びるバーを有する第1バーコードと、前記第1方向とは異なる第2方向に延びるバーを有する第2バーコードと、を含む、前記画像取得機能と、
前記対象画像データを用いて、前記対象画像内の前記複数個のバーコードを特定するバーコード特定機能と、
前記第1オブジェクト領域内の画像の印刷方向を決定する方向決定機能であって、前記印刷方向は、前記印刷実行部によって、前記第1オブジェクト領域内の画像が前記印刷媒体に印刷される際に前記印刷媒体が前記印刷ヘッドに対して相対的に移動する方向と対応する方向であり、前記印刷方向は、前記第1方向と前記第2方向とのうちのいずれか一方に基づく方向に決定される、前記方向決定機能と、
前記対象画像データを用いて、決定済みの前記印刷方向で前記第1オブジェクト領域内の画像を印刷するための印刷データを生成する印刷データ生成機能と、
前記印刷データを前記印刷実行部に出力する印刷データ出力機能と、
をコンピュータに実現させ、
前記方向決定機能は、
前記第1バーコードが特定種のバーコードであって、かつ、前記第2バーコードが前記特定種のバーコードとは異なる場合に、前記第1方向に基づく方向を前記印刷方向として決定し、
前記第2バーコードが前記特定種のバーコードであって、かつ、前記第1バーコードが前記特定種のバーコードとは異なる場合に、前記第2方向に基づく方向を前記印刷方向として決定し、
前記特定種のバーコードは、CODE128と、JANと、CODE39と、NW-7と、のうちの少なくとも1種である、コンピュータプログラム。
【請求項7】
印刷媒体を印刷ヘッドに対して相対的に移動させ、移動される前記印刷媒体に前記印刷ヘッドを用いて画像を印刷する印刷実行部のためのコンピュータプログラムであって、
対象画像データを取得する画像取得機能であって、前記対象画像データに基づく対象画像は、第1バーコードと第2バーコードとを含む複数個のバーコードを含む第1オブジェクト領域と、前記第1バーコードと前記第2バーコードとのうちの少なくとも一方を含む1個以上のバーコードを含む第2オブジェクト領域と、を含み、前記第1バーコードは、第1方向に延びるバーを有し、前記第2バーコードは、前記第1方向とは異なる第2方向に延びるバーを有する、前記画像取得機能と、
前記対象画像データを用いて、前記対象画像内の前記複数個のバーコードを特定するバーコード特定機能と、
前記第1バーコードおよび前記第2バーコードの種類と、前記第1バーコードおよび前記第2バーコードの個数と、の少なくとも一方に基づいて、前記第1オブジェクト領域内の画像の印刷方向を決定する方向決定機能であって、前記印刷方向は、前記印刷実行部によって、前記第1オブジェクト領域内の画像が前記印刷媒体に印刷される際に前記印刷媒体が前記印刷ヘッドに対して相対的に移動する方向と対応する方向であり、前記印刷方向は、前記第1方向と前記第2方向とのうちのいずれか一方に基づく方向に決定される、前記方向決定機能と、
前記対象画像データを用いて、決定済みの前記印刷方向で前記第1オブジェクト領域内の画像を印刷するための印刷データを生成する印刷データ生成機能と、
前記印刷データを前記印刷実行部に出力する印刷データ出力機能と、
をコンピュータに実現させ、
前記方向決定
機能は、前記第1オブジェクト領域内の前記第1バーコードおよび前記第2バーコードの種類と、前記第1オブジェクト領域内の前記第1バーコードおよび前記第2バーコードの個数と、の少なくとも一方に基づいて、前記印刷方向を決定できない場合に、前記第2オブジェクト領域内の前記第1バーコードおよび前記第2バーコードの種類と、前記第2オブジェクト領域内の前記第1バーコードおよび前記第2バーコードの個数と、の少なくとも一方に基づいて、前記印刷方向を決定する、コンピュータプログラム。
【請求項8】
印刷媒体を印刷ヘッドに対して相対的に移動させ、移動される前記印刷媒体に前記印刷ヘッドを用いて画像を印刷する印刷実行部のためのコンピュータプログラムであって、
対象画像データを取得する画像取得機能であって、前記対象画像データに基づく対象画像は、複数個のバーコードを含む第1オブジェクト領域を含み、前記複数個のバーコードは、第1方向に延びるバーを有する第1バーコードと、前記第1方向とは異なる第2方向に延びるバーを有する第2バーコードと、を含む、前記画像取得機能と、
前記対象画像データを用いて、前記対象画像内の前記複数個のバーコードを特定するバーコード特定機能と、
前記第1バーコードおよび前記第2バーコードの種類と、前記第1バーコードおよび前記第2バーコードの個数と、の少なくとも一方に基づいて、前記第1オブジェクト領域内の画像の印刷方向を決定する方向決定機能であって、前記印刷方向は、前記印刷実行部によって、前記第1オブジェクト領域内の画像が前記印刷媒体に印刷される際に前記印刷媒体が前記印刷ヘッドに対して相対的に移動する方向と対応する方向であり、前記印刷方向は、前記第1方向と前記第2方向とのうちのいずれか一方に基づく方向に決定される、前記方向決定機能と、
前記対象画像データを用いて、決定済みの前記印刷方向で前記第1オブジェクト領域内の画像を印刷するための印刷データを生成する印刷データ生成機能と、
前記印刷データを前記印刷実行部に出力する印刷データ出力機能と、
をコンピュータに実現させ、
前記印刷データ生成機能は、
前記第1オブジェクト領域内の画像を前記印刷媒体に応じたサイズに縮小する縮小処理を実行し
縮小済みの前記第1オブジェクト領域内の画像を印刷するための前記印刷データを生成し、
前記方向決定機能は、前記第1バーコードおよび前記第2バーコードの種類と、前記第1バーコードおよび前記第2バーコードの個数と、の少なくとも一方に基づいて、前記印刷方向を決定できない場合に、前記第1方向に基づく方向と、前記第2方向に基づく方向と、のうち、前記縮小処理による縮小の程度が小さくなる方向を、前記印刷方向として決定する、コンピュータプログラム。
【請求項9】
物品に貼り付けられるラベル用のシートを印刷ヘッドに対して相対的に移動させ、移動される前記シートに前記印刷ヘッドを用いて画像を印刷するラベル用の印刷実行部のためのコンピュータプログラムであって、
対象画像データを取得する画像取得機能であって、前記対象画像データに基づく対象画像は、複数個のバーコードを含む第1オブジェクト領域を含み、前記複数個のバーコードは、第1方向に延びるバーを有する第1バーコードと、前記第1方向とは異なる第2方向に延びるバーを有する第2バーコードと、を含む、前記画像取得機能と、
前記対象画像データを用いて、前記対象画像内の前記複数個のバーコードを特定するバーコード特定機能と、
前記第1バーコードおよび前記第2バーコードの種類と、前記第1バーコードおよび前記第2バーコードの個数と、の少なくとも一方に基づいて、前記第1オブジェクト領域内の画像の印刷方向を決定する方向決定機能であって、前記印刷方向は、前記印刷実行部によって、前記第1オブジェクト領域内の画像が前記シートに印刷される際に前記シートが前記印刷ヘッドに対して相対的に移動する方向と対応する方向であり、前記印刷方向は、前記第1方向と前記第2方向とのうちのいずれか一方に基づく方向に決定される、前記方向決定機能と、
前記対象画像データを用いて、決定済みの前記印刷方向で前記第1オブジェクト領域内の画像を印刷するための印刷データを生成する印刷データ生成機能と、
前記印刷データを前記印刷実行部に出力する印刷データ出力機能と、
をコンピュータに実現させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、バーコードを含む画像に対する画像処理に関する。
【背景技術】
【0002】
特許文献1に開示された画像形成装置では、バーコードを印刷する際に、バーコードのバーの方向と印刷時の現像方向とが一致するように、画像を回転させる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記技術では、複数個のバーコードが含まれる画像を印刷する場合については想定されていない。
【0005】
本明細書は、複数個のバーコードを含む画像を適切に印刷できる技術を開示する。
【課題を解決するための手段】
【0006】
本明細書に開示された技術は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【0007】
[適用例1]印刷媒体を印刷ヘッドに対して相対的に移動させ、移動される前記印刷媒体に前記印刷ヘッドを用いて画像を印刷する印刷実行部のための画像処理装置であって、対象画像データを取得する画像取得部であって、前記対象画像データに基づく対象画像は、複数個のバーコードを含む第1オブジェクト領域を含み、前記複数個のバーコードは、第1方向に延びるバーを有する第1バーコードと、前記第1方向とは異なる第2方向に延びるバーを有する第2バーコードと、を含む、前記画像取得部と、前記対象画像データを用いて、前記対象画像内の前記複数個のバーコードを特定するバーコード特定部と、前記第1バーコードおよび前記第2バーコードの種類と、前記第1バーコードおよび前記第2バーコードの個数と、の少なくとも一方に基づいて、前記第1オブジェクト領域内の画像の印刷方向を決定する方向決定部であって、前記印刷方向は、前記印刷実行部によって、前記第1オブジェクト領域内の画像が前記印刷媒体に印刷される際に前記印刷媒体が前記印刷ヘッドに対して相対的に移動する方向と対応する方向であり、前記印刷方向は、前記第1方向と前記第2方向とのうちのいずれか一方に基づく方向に決定される、前記方向決定部と、前記対象画像データを用いて、決定済みの前記印刷方向で前記第1オブジェクト領域内の画像を印刷するための印刷データを生成する印刷データ生成部と、前記印刷データを前記印刷実行部に出力する印刷データ出力部と、を備える、画像処理装置。
【0008】
上記構成によれば、第1バーコードおよび第2バーコードの種類と、第1バーコードおよび第2バーコードの個数と、の少なくとも一方に基づいて、複数個のバーコードを含む第1オブジェクト領域内の画像の印刷方向が決定される。この結果、複数個のバーコードを含む画像が適切に印刷され得る。
[適用例2]
適用例1に記載の画像処理装置であって、
前記方向決定部は、
前記第1バーコードの個数が前記第2バーコードの個数よりも多い場合に、前記第1方向に基づく方向を前記印刷方向として決定し、
前記第2バーコードの個数が前記第1バーコードの個数よりも多い場合に、前記第2方向に基づく方向を前記印刷方向として決定する、画像処理装置。
[適用例3]
適用例1に記載の画像処理装置であって、
前記方向決定部は、
前記第1バーコードが特定種のバーコードであって、かつ、前記第2バーコードが前記特定種のバーコードとは異なる場合に、前記第1方向に基づく方向を前記印刷方向として決定し、
前記第2バーコードが前記特定種のバーコードであって、かつ、前記第1バーコードが前記特定種のバーコードとは異なる場合に、前記第2方向に基づく方向を前記印刷方向として決定する、画像処理装置。
[適用例4]
適用例1~3のいずれかに記載の画像処理装置であって、
前記対象画像は、さらに、前記第1バーコードと前記第2バーコードとのうちの少なくとも一方を含む1個以上のバーコードを含む第2オブジェクト領域を含み、
前記方向決定部は、前記第1オブジェクト領域内の前記第1バーコードおよび前記第2バーコードの種類と、前記第1オブジェクト領域内の前記第1バーコードおよび前記第2バーコードの個数と、の少なくとも一方に基づいて、前記印刷方向を決定できない場合に、前記第2オブジェクト領域内の前記第1バーコードおよび前記第2バーコードの種類と、前記第2オブジェクト領域内の前記第1バーコードおよび前記第2バーコードの個数と、の少なくとも一方に基づいて、前記印刷方向を決定する、画像処理装置。
[適用例5]
適用例1~3のいずれかに記載の画像処理装置であって、
前記印刷データ生成部は、
前記第1オブジェクト領域内の画像を前記印刷媒体に応じたサイズに縮小する縮小処理を実行し
縮小済みの前記第1オブジェクト領域内の画像を印刷するための前記印刷データを生成し、
前記方向決定部は、前記第1バーコードおよび前記第2バーコードの種類と、前記第1バーコードおよび前記第2バーコードの個数と、の少なくとも一方に基づいて、前記印刷方向を決定できない場合に、前記第1方向に基づく方向と、前記第2方向に基づく方向と、のうち、前記縮小処理による縮小の程度が小さくなる方向を、前記印刷方向として決定する、画像処理装置。
[適用例6]
適用例1~5のいずれかに記載の画像処理装置であって、
前記印刷データ出力部は、物品に貼り付けられるラベル用のシートを前記印刷媒体として画像を印刷するラベル用の前記印刷実行部に、前記印刷データを出力する、画像処理装置。
【0009】
なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、印刷装置、印刷方法、画像処理方法、これら装置の機能または上記方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【0010】
なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、印刷装置、印刷方法、画像処理方法、これら装置の機能または上記方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【0011】
【
図1】ラベルプリンタ100と端末装置200との構成を示すブロック図である。
【
図5】処理済みのラベル画像FIa、FIbの一例を示す図である。
【
図6】ラベル領域特定処理のフローチャートである。
【
図7】対象画像OIのオブジェクト範囲内の画像の一例を示す図である。
【
図10】バーコードラベル縮小処理のフローチャートである。
【
図11】バーコードラベル縮小処理の説明図である。
【発明を実施するための形態】
【0012】
A.実施例:
A-1:画像処理装置の構成
次に、実施の形態を実施例に基づき説明する。
図1は、実施例における印刷実行部としてのラベルプリンタ100と、実施例における画像処理装置としての端末装置200と、の構成を示すブロック図である。
【0013】
端末装置200は、ユーザが利用する計算機であり、例えば、パーソナルコンピュータやスマートフォンである。端末装置200は、端末装置200のコントローラとしてのCPU210と、RAMなどの揮発性記憶装置220と、ハードディスクドライブやフラッシュメモリなどの不揮発性記憶装置230と、液晶ディスプレイなどの表示部240と、キーボードやマウスなどの操作部250と、通信インタフェース(IF)270と、を備えている。端末装置200は、通信インタフェース270を介して、ラベルプリンタ100などの外部装置と通信可能に接続される。通信インタフェース270は、例えば、USBインタフェースなどの有線インタフェースや、ブルートゥース(登録商標)やIEEE802.11などの無線インタフェースである。
【0014】
揮発性記憶装置220は、CPU210が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置230には、コンピュータプログラムPG2が格納されている。揮発性記憶装置220や不揮発性記憶装置230は、端末装置200の内部メモリである。
【0015】
コンピュータプログラムPG2は、インターネットを介して接続されたサーバからダウンロードされる形態で提供される。これに代えて、コンピュータプログラムPG2は、例えば、CD-ROMなどに記録された形態や、端末装置200の製造時に不揮発性記憶装置230に予め格納される形態にて提供され得る。CPU210は、コンピュータプログラムPG2を実行することにより、後述するラベル印刷処理を実行する。
【0016】
ラベルプリンタ100は、物品に貼り付けられるラベル用のシートに画像を印刷する印刷装置である。ラベルプリンタ100は、ラベルプリンタ100のコントローラとしてのCPU110と、RAMなどの揮発性記憶装置120と、フラッシュメモリなどの不揮発性記憶装置130と、複数個のボタンなどの操作部150と、印刷機構160と、通信インタフェース(IF)170と、を備えている。ラベルプリンタ100は、通信インタフェース170を介して、端末装置200などの外部装置と通信可能に接続される。通信インタフェース170は、例えば、USBインタフェースなどの有線インタフェースや、ブルートゥース(登録商標)やIEEE802.11などの無線インタフェースである。
【0017】
揮発性記憶装置120は、CPU110が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置130には、コンピュータプログラムPG1が格納されている。揮発性記憶装置120や不揮発性記憶装置130は、ラベルプリンタ100の内部メモリである。コンピュータプログラムPG1は、ラベルプリンタ100の製造時に不揮発性記憶装置130に予め格納される形態にて提供される。これに代えて、コンピュータプログラムPG1は、インターネットを介して接続されたサーバからダウンロードされる形態や、端末装置200から送信される形態で提供され得る。CPU210は、コンピュータプログラムPG1を実行することにより、例えば、端末装置200から送信される印刷画像データに従って、ラベル用のシートに画像を印刷する。
【0018】
図2は、ラベルプリンタ100の斜視図である。
図2(A)の斜視図は、カバー5が閉じられた状態のラベルプリンタ100の外観を示し、
図2(B)の斜視図は、カバー5が開けられた状態のラベルプリンタ100の外観を示す。
図2(A)に示すように、ラベルプリンタ100の筺体2には、上方に開平可能に取り付けられたカバー5と、前部に設けられたトレー6と、上述した操作部150を構成する複数個のボタン7と、ロール3(
図2(B))を切断するカッター(図示省略)を操作するカッターレバー9と、が設けられている。
【0019】
図2(B)に示すように、筺体2の内部には、ラベル用のシートが巻かれたロール3が収容されるシート収容部4が形成されている。ラベル用のシートは、感熱シートで構成されたシート本体の片面に、物品に貼り付けるための粘着剤層を介して剥離紙が貼り合わされた帯状のシートである。ラベル用のシートにラベル画像が印刷された後に、ラベル用のシートのうち、ラベル画像が印刷された部分がカッターによってロール3から分離される。そして、ラベル画像が印刷されたシート本体から剥離紙が分離され、ラベル画像が印刷されたシート本体は、粘着剤層を介して物品に貼り付けられる。
【0020】
図1の印刷機構160は、搬送部161と、印刷ヘッドとしてのサーマルヘッド162と、を備え、ロール3を形成するラベル用のシートにモノクロ画像を印刷する。搬送部161は、図示しないステップモータとローラとを備え、ラベル用のシートをロール3からトレー6に向かって繰り出し、搬送する。サーマルヘッド162は、シートの搬送経路に設けられ、シートの搬送方向と垂直な方向に沿って並ぶ複数個(例えば、数百個)の発熱素子(図示省略)を備える。サーマルヘッド162は、CPU110の制御に従って、発熱素子を用いてドットを形成すべきシート上の位置を加熱することで、シート上にドットを形成する。
【0021】
A-2:ラベル印刷処理
図3は、ラベル印刷処理のフローチャートである。このラベル印刷処理は、対象画像データを用いて、ラベルプリンタ100に、ラベル画像を印刷させる処理である。このラベル印刷処理は、端末装置200のCPU210によって実行される。このラベル印刷処理は、端末装置200が、例えば、操作部250を介して、ユーザの印刷指示を取得した場合に、開始される。
【0022】
S5では、CPU210は、印刷すべき対象画像OIを示す対象画像データを取得する。対象画像データは、例えば、不揮発性記憶装置230に格納された複数個の画像データの中から、ユーザの指定に基づいて選択される画像データである。
【0023】
本実施例で取得される対象画像データは、複数個の画素の値を含み、複数個の画素の値のそれぞれは、画素の輝度を示す輝度画像データである。1個の画素の輝度は、例えば、256階調の値で示される。なお、取得される対象画像データが、輝度画像データではない場合には、例えば、該対象画像データに対して、ラスタライズ処理などの変換処理が実行されて、輝度画像データに変換される。
【0024】
図4は、対象画像の一例を示す図である。
図4の対象画像OIは、X方向(
図4の横方向)とY方向(
図4の縦方向)とに沿って、マトリクス状に並ぶ複数個の画素を含んでいる。対象画像OIは、第1ラベル領域LA1と、第2ラベル領域LA2と、を含む。各ラベル領域内の画像は、1個のラベルを示す画像であり、1体で印刷されるべき画像である。1個のラベル領域内の画像(後述するバーコードや文字や線などのオブジェクト)をラベル画像とも呼ぶ。本実施例の対象画像OIは、商品の配送のためのラベルを示す画像である。例えば、第1ラベル領域LA1内のラベル画像は、商品に貼り付けるためのラベルを示す画像であり、第2ラベル領域LA2内のラベル画像は、商品を収容するパッケージに貼り付けるためのラベルを示す画像である。
【0025】
第1ラベル領域LA1は、オブジェクトとして、複数個のバーコードBCa~BCcと、文字TXa、TXbや線Laなどのバーコードとは異なるオブジェクトと、を含む。第2ラベル領域LA2は、オブジェクトとして、複数個のバーコードBCd、BCeと、文字TXcや線Lbなどのバーコードとは異なるオブジェクトと、を含む。
【0026】
バーコードは、交互に並ぶ複数本の白線WBと黒線BBを含み、これらの白線WBと黒線BBのパターンによって情報を示すコード画像である。バーコードを構成する白線WBや黒線BBをバーとも呼ぶ。バーコードを構成するバーが延びる方向をバーコードの方向とも呼ぶ。
図4の例では、バーコードBCa、BCdの方向は、Y方向であり、バーコードBCb、BCc、BCeの方向は、X方向である。バーコードは、
図4のバーコードBCeのように、白線WBと黒線BBに加えて、二次元コードMCを含んでも良い。
【0027】
バーコードには、白線WBと黒線BBの太さや配列パターンなどの規格によって、複数個の種類がある。例えば、バーコードの種類には、JAN、UPC、ITF、CODE39、CODE128などがある。本実施例では、CODE128と呼ばれるバーコードの読み取りを重要視している。
図4の例では、バーコードBCa、BCdは、CODE128のバーコードであり、バーコードBCb、BCc、BCeは、CODE128とは異なる種類のバーコードである。
【0028】
S10では、CPU210は、対象画像OI内の1個以上のバーコードを特定する。バーコードの特定は、例えば、通常のバーコード読み取り装置において実行される公知のバーコード特定処理を用いて行われる。この処理によって、バーコードが配置される領域と、バーコードの方向と、が特定される。バーコードの方向は、本実施例では、X方向とY方向とのいずれかである。
図4の例では、5個のバーコードBCa~BCeが配置される領域と方向とが特定される。
【0029】
S15では、CPU210は、対象画像データを用いて、ラベル領域特定処理を実行する。ラベル領域特定処理は、対象画像OI内に含まれる1個以上のラベル領域を特定する処理である。
図4の例では、対象画像OI内の2個のラベル領域、すなわち、第1ラベル領域LA1と、第2ラベル領域LA2と、が特定される。ラベル領域特定処理については、後述する。
【0030】
S20では、CPU210は、特定済みの1個以上のラベル領域の中から、1個の注目ラベル領域を特定する。S25では、CPU210は、対象画像OIから注目ラベル領域内のラベル画像を切り出す。すなわち、CPU210は、対象画像OIのうち、注目ラベル領域内の部分画像に対応する部分画像データをラベル画像データとして抽出し、該ラベル画像データを、揮発性記憶装置220のバッファ領域に別データとして格納する。
【0031】
S30では、注目ラベル領域に、バーコードが含まれるか否かを判断する。S10にて特定済みのバーコードの少なくとも1個が注目ラベル領域内に含まれる場合には、バーコードが含まれると判断される。
図4の例では、第1ラベル領域LA1と第2ラベル領域LA2のいずれが注目ラベル領域である場合でも、バーコードが含まれると判断される。
【0032】
注目ラベル領域に、バーコードが含まれない場合には(S30:NO)、S35にて、CPU210は、ラベル画像のX方向の幅は、印刷媒体の幅より大きいか否かを判断する。ラベル画像のX方向の画素数は、ラベルプリンタ100の搬送方向と垂直な方向の解像度を用いて、印刷された画像の長さに換算することができる。当該換算値が、印刷媒体の幅、すなわち、ロール3を形成する帯状のシートの短手方向の幅よりも大きい場合には、ラベル画像のX方向の幅は、印刷媒体の幅より大きいと判断される。
【0033】
ラベル画像のX方向の幅が、印刷媒体の幅より大きい場合には(S35:YES)、S40にて、CPU210は、補間演算を用いて、ラベル画像を縮小する。補間演算には、公知の演算法、例えば、バイキュービック法やバイリニア法が用いられる。縮小済みのラベル画像のX方向の画素数は、例えば、印刷媒体の幅に対応する画素数とされる。補間演算を用いる縮小法を用いる場合には、補間演算を用いない縮小法、例えば、公知のニアレストネイバー法を用いる場合と比較して、縮小済みの画像内の文字や線が、自然な見栄えとなる。ラベル画像のX方向の幅が、印刷媒体の幅以下である場合には(S35:NO)、CPU210は、S40をスキップする。なお、印刷方向がY方向であることを前提としてS35の処理を行っているが、印刷方向がX方向であることを前提とする場合は、S35では、ラベル画像のY方向の幅に基づいて判断されてもよい。
【0034】
注目ラベル領域に、バーコードが含まれる場合には(S30:YES)、S45にて、CPU210は、ラベル画像データを用いて、印刷方向決定処理を実行する。印刷方向決定処理は、注目ラベル領域内のラベル画像を印刷する際の印刷方向を決定する処理である。印刷方向は、ラベルプリンタ100におけるラベル用のシートの搬送方向に対応する方向、すなわち、ロール3を形成する帯状のシートの長手方向に対応する方向である。本実施例では、印刷方向は、
図4のX方向およびY方向のいずれかに決定される。印刷方向決定処理については、後述する。
【0035】
S50では、CPU210は、決定済みの印刷方向に応じて、ラベル画像を回転する。具体的には、印刷方向と、回転済みのラベル画像のY方向と、が一致するように、ラベル画像が回転される。したがって、印刷方向がX方向である場合には、時計回りまたは反時計回りに90度だけラベル画像は回転され、印刷方向がY方向である場合には、ラベル画像は回転されない。
【0036】
S55では、CPU210は、ラベル画像のX方向の幅は、印刷媒体の幅より大きいか否かを判断する。ラベル画像のX方向の幅が、印刷媒体の幅より大きい場合には(S55:YES)、S60にて、CPU210は、バーコードを含むラベル画像を縮小するバーコードラベル縮小処理を実行する。バーコードラベル縮小処理については、後述する。ラベル画像のX方向の幅が、印刷媒体の幅以下である場合には(S55:NO)、CPU210は、S60をスキップする。
【0037】
S75では、CPU210は、処理済みのラベル画像データを用いて、ラベルプリンタ100でラベル画像を印刷するための印刷画像データを生成する。
図5は、処理済みのラベル画像FIa、FIbの一例を示す図である。
図5(A)の処理済みのラベル画像FIaは、対象画像OI内の第1ラベル領域LA1に対応する画像である。
図5(A)の処理済みのラベル画像FIaは、S50にて、90度だけ回転されている。
図5(B)の処理済みのラベル画像FIbは、対象画像OI内の第2ラベル領域LA2に対応する画像である。
図5(B)の処理済みのラベル画像FIbは、S50にて、回転されていない。CPU210は、例えば、処理済みのラベル画像データに対してハーフトーン処理を実行して、ドットの形成状態を画素ごとに示すドットデータを生成する。ハーフトーン処理は、誤差拡散法やディザ法などの公知の方法を用いて実行される。ドットデータの画素の値は、例えば、ドットの有無を示す二値の値である。CPU210は、該ドットデータに、ラベルプリンタ100を制御する制御コマンド等を付加して、印刷画像データを生成する。
【0038】
S80では、CPU210は、生成済みの印刷画像データをラベルプリンタ100に送信する。ラベルプリンタ100が印刷画像データを受信すると、ラベルプリンタ100のCPU110は、該印刷画像データに基づいて、印刷機構160を制御して、印刷機構160にラベル画像を印刷させる。
【0039】
S85では、CPU210は、対象画像OI内の全てのラベル領域を注目ラベル領域として処理したか否かを判断する。未処理のラベル領域がある場合には(S85:NO)、CPU210は、S20に戻る。全てのラベル領域が処理された場合には(S85:YES)、CPU210は、ラベル印刷処理を終了する。この結果、対象画像OI内の全てのラベル領域に対応するラベル画像が、ラベルプリンタ100によって印刷される。例えば、
図4の対象画像データが用いられる場合には、
図5の2個の処理済みのラベル画像FIa、FIbが、それぞれ、印刷される。
【0040】
A-3.ラベル領域特定処理
次に
図3のS15のラベル領域特定処理について説明する。ラベル領域特定処理は、上述したように、ラベル領域特定処理は、対象画像OI内に含まれる1個以上のラベル領域を特定する処理である。
図6は、ラベル領域特定処理のフローチャートである。
【0041】
S110では、CPU210は、対象画像OI内のX方向の特定種のバーコードの個数N1をカウントする。ここで、X方向のバーコードとは、上述したように、バーが延びる方向がX方向であるバーコードを意味する。特定種のバーコードは、本実施例では、上述したCODE128のバーコードである。
【0042】
S110では、CPU210は、対象画像OI内のX方向の特定種のバーコードの個数N1をカウントする。X方向のバーコードとは、上述したように、バーが延びる方向がX方向であるバーコードを意味する。特定種のバーコードは、本実施例では、上述したCODE128のバーコードである。
図4の例では、対象画像OIに含まれる2個のCODE128のバーコードBCd、BCaは、いずれもY方向のバーコードであるので、X方向の特定種のバーコードは、0個である(N1=0)。
【0043】
S115では、CPU210は、対象画像OI内のY方向の特定種のバーコードの個数N2をカウントする。Y方向のバーコードとは、上述したように、バーが延びる方向がY方向であるバーコードを意味する。
図4の例では、対象画像OIに含まれる2個のCODE128のバーコードBCd、BCaは、いずれもY方向のバーコードであるので、Y方向の特定種のバーコードは、2個である(N2=2)。
【0044】
S120では、CPU210は、N2>N1が満たされるか否か、すなわち、Y方向の特定種のバーコードの個数N2が、X方向の特定種のバーコードの個数N1より大きいか否かを判断する。Y方向の特定種のバーコードの個数N2が、X方向の特定種のバーコードの個数N1より大きい場合には(S120:YES)、S125にて、CPU210は、探索方向をX方向に決定する。Y方向の特定種のバーコードの個数N2が、X方向の特定種のバーコードの個数N1以下である場合には(S120:NO)、S130にて、CPU210は、探索方向をY方向に決定する。
図4の例では、Y方向の特定種のバーコードの個数N2(2個)が、X方向の特定種のバーコードの個数N1(0個)よりも大きいので、S125にて、探索方向は、X方向に決定される。
【0045】
S135では、CPU210は、対象画像OIの探索方向の位置に対する射影ヒストグラムを生成する。探索方向の射影ヒストグラムは、対象画像OI内の複数個の画素を探索方向の位置に基づいて複数個のクラスに分類し、該複数個のクラスのそれぞれについて、対象画像OI内のオブジェクトを構成するオブジェクト画素の個数をカウントして得られるヒストグラムである。例えば、探索方向がX方向である場合には、本実施例では、X方向の位置が等しい複数個の画素、すなわち、Y方向に延びる1本の画素のライン上の複数個の画素が、1個のクラスに分類される。例えば、対象画像OIのサイズが、X方向P画素×Y方向Q画素である場合には、対象画像OI内の複数個の画素は、P個のクラスに分類され、1個のクラスに属する画素数は、Q個である。そして、CPU210は、P個のクラスのそれぞれについて、各クラスに属するQ個の画素のうち、オブジェクト画素の個数をカウントすることによって、X方向の射影ヒストグラムHxを作成する。オブジェクト画素は、背景色(本実施例では白)とは異なる色を有する画素である。
図4の例では、対象画像OI内の文字TXa~TXc、線La、Lb、バーコードBCa~BCeを構成する画素は、全てオブジェクト画素である。
【0046】
図4の例では、探索方向は、X方向に決定されるので、S135では、X方向の射影ヒストグラムが作成される。
図4の対象画像OIの下方には、X方向の射影ヒストグラムHxが示されている。
【0047】
S140では、CPU210は、探索方向の空白範囲を特定する。空白範囲は、ラベル画像(バーコードや文字や線などのオブジェクト)が位置しない探索方向の範囲である。CPU210は、探索方向の射影ヒストグラムにおいて、オブジェクト画素の個数が閾値(例えば、0個)以下である探索方向の範囲を、空白範囲として特定する。
図4の例では、探索方向であるX方向の3個の空白範囲WR1~WR3が特定される。
【0048】
S145では、CPU210は、特定済みの空白範囲に挟まれた1個以上のオブジェクト範囲を特定する。
図4の例では、2個の空白範囲WR1、WR2に挟まれたオブジェクト範囲OR1と、2個の空白範囲WR2、WR3に挟まれたオブジェクト範囲OR2と、が特定される。
【0049】
S150では、CPU210は、特定済みの1個以上のオブジェクト範囲の中から、1個の注目オブジェクト範囲を選択する。
図4の例では、オブジェクト範囲OR1と、オブジェクト範囲OR2と、が順次に選択される。
【0050】
S155では、CPU210は、注目オブジェクト範囲内の画像の探索方向と垂直な方向の位置に対する射影ヒストグラムを生成する。探索方向と垂直な方向の射影ヒストグラムは、注目オブジェクト範囲内の画像内の複数個の画素を探索方向と垂直な方向の位置に基づいて複数個のクラスに分類し、該複数個のクラスのそれぞれについて、オブジェクトを構成するオブジェクト画素の個数をカウントして得られるヒストグラムである。例えば、探索方向がX方向である場合には、本実施例では、Y方向の位置が等しい複数個の画素、すなわち、X方向に延びる1本の画素のライン上の複数個の画素が、1個のクラスに分類される。例えば、注目オブジェクト範囲内の画像のサイズが、X方向K画素×Y方向Q画素である場合には、当該画像内の複数個の画素は、Q個のクラスに分類され、1個のクラスに属する画素数は、K個である。そして、CPU210は、Q個のクラスのそれぞれについて、各クラスに属するK個の画素のうち、オブジェクト画素の個数をカウントすることによって、Y方向の射影ヒストグラムHyを作成する。
【0051】
図7は、対象画像OIのオブジェクト範囲内の画像の一例を示す図である。
図7(A)には、オブジェクト範囲OR1(
図4)内の画像PIaが図示されている。画像PIaの左側には、Y方向の射影ヒストグラムHyaが図示されている。
図7(B)には、オブジェクト範囲OR2(
図4)内の画像PIbが図示されている。画像PIbの左側には、Y方向の射影ヒストグラムHybが図示されている。
【0052】
S160では、CPU210では、探索方向と垂直な方向の端部空白範囲を特定する。端部空白範囲は、ラベル画像(バーコードや文字や線などのオブジェクト)が位置しない探索方向と垂直な方向の範囲であって、探索方向と垂直な方向の両端のうちの一方を含む範囲である。CPU210は、探索方向と垂直な方向の射影ヒストグラムにおいて、オブジェクト画素の個数が閾値(例えば、0個)以下である探索方向と垂直な方向の範囲であって、探索方向と垂直な方向の端を含む範囲を、端部空白範囲として特定する。
図7(A)の例では、探索方向と垂直な方向であるY方向の2個の端部空白範囲TR1、TR2が特定される。
図7(B)の例では、探索方向と垂直な方向であるY方向の2個の端部空白範囲TR3、TR4が特定される。
【0053】
S165では、CPU210は、注目オブジェクト範囲内の画像のうち、端部空白範囲を除いた領域をラベル領域として特定する。
図4(A)の例では、オブジェクト範囲OR1(
図4)内の画像PIaのうち、ハッチングされた端部空白範囲を除いた矩形の領域がラベル領域として特定される。
図4(B)の例では、オブジェクト範囲OR2(
図4)内の画像PIbのうち、ハッチングされた端部空白範囲を除いた矩形の領域がラベル領域として特定される。
【0054】
S170では、CPU210は、S145にて特定済みの全てのオブジェクト範囲を注目オブジェクト範囲として処理したか否かを判断する。未処理のオブジェクト範囲がある場合には(S170:NO)、CPU210は、S150に戻る。全てのオブジェクト範囲が処理された場合には(S170:YES)、CPU210は、ラベル領域特定処理を終了する。この結果、
図4の例では、対象画像OI内の2個のラベル領域LA1、LA2が特定される。
【0055】
以上説明したラベル領域特定処理を含むラベル印刷処理によれば、CPU210は、対象画像OI内の探索方向の複数個の位置について、ラベル画像が位置するオブジェクト範囲OR1、OR2とラベル画像が位置しない空白範囲WR1~WR3とを分離することによって、1個以上のオブジェクト範囲OR1、OR2を特定する(
図6のS135~S145)。そして、CPU210は、特定された1個以上のオブジェクト範囲OR1、OR2内のラベル画像に対応する印刷画像データをそれぞれ出力する(
図3のS75、S80)。探索方向は、特定済みのバーコードBCa、BCdを構成するバーと垂直な方向である(
図3のS15、
図6のS120、S125、
図4)。このように、対象画像OI内の探索方向の複数個の位置について、ラベル画像が位置しない空白範囲WR1~WR3を除いたオブジェクトが位置するオブジェクト範囲OR1、OR2が特定される。この結果、バーコードBCa、BCdを構成するバーと垂直な方向の複数個の位置について、オブジェクト範囲OR1、OR2を特定するため、1つの画像データとして扱うべきラベル画像とバーコードとの間に存在する余白領域のためにラベル画像が分離されてしまうことを回避できる。そして、オブジェクト範囲内の画像に対応する印刷画像データが出力されるので、余分な余白領域を含まないように、バーコードを含むラベル画像を適切に示す印刷画像データが出力され得る。
【0056】
例えば、ラベル画像では、想定される向きで視認される際に上下方向に延びるバーで構成される少なくとも1個のバーコードと垂直な方向、すなわち、視認時における左右方向については、空白を開けることなく、隙間無くオブジェクトが存在する可能性が高い。例えば、
図4の例では、バーコードBCa、BCdの方向と垂直な方向については、空白を開けることなく、隙間無くオブジェクトが存在する可能性が高い。例えば、
図4の例では、バーコードBCa、BCdと垂直なX方向に延びる線Laが存在しているので、隙間無くオブジェクトが存在する。この結果、X方向のオブジェクト範囲OR1、OR2を特定することで、一体に出力されるべきラベル画像が分離されない。仮にバーコードBCa、BCdと平行なY方向を探索方向とすると、例えば、
図4に示すY方向の範囲WRa、WRbが空白範囲として特定されてしまう。このような場合には、一体に出力されるべきラベル画像が複数個に分離されてしまう。本実施例では、バーコードBCa、BCdと垂直なX方向を探索方向として決定するので、このような不具合を抑制できる。
【0057】
さらに、上記ラベル印刷処理によれば、CPU210は、対象画像OI内の複数個のバーコードBCa~BCe(
図4)のうち、Y方向の特定種のバーコード(本実施例ではCODE128のバーコード)の個数N2が、X方向の特定種のバーコードの個数N1よりも大きい場合に、Y方向の特定種のバーコードと垂直な方向、すなわち、X方向を探索方向として決定する(
図6のS120、S125)。この結果、対象画像OI内に複数個の特定種のバーコードが含まれる場合に、探索方向を適切に決定することができる。したがって、一体に出力されるべきラベル画像が複数個に分離されてしまうことを、さらに適切に抑制できる。例えば、物流の分野では、CODE128のバーコードが多用されており、CODE128のバーコードを含むラベル画像が適切に印刷されることが重要である。このために、CODE128のバーコードは、ラベル画像が、想定される向きで視認される際に、上下方向にバーが延びる方向に配置される可能性が高い。したがって、多数のCODE128のバーコードと垂直な方向を探索方向とすれば、ラベル画像が分離しないように、適切なオブジェクト範囲OR1、OR2を特定できる可能性が高くなる。
【0058】
さらに、上記ラベル印刷処理によれば、CPU210は、探索方向の位置に対する射影ヒストグラム(例えば
図4の射影ヒストグラムHx)を生成し(
図6のS135)、該ヒストグラムを用いて、オブジェクト範囲OR1、OR2と空白範囲WR1~WR3とを特定する(
図6のS140、S145)。この結果、射影ヒストグラムHxを用いて、探索方向の複数個の位置についてオブジェクト画素で構成されるラベル画像の有無が精度良く、かつ、容易に判定できるので、オブジェクト範囲OR1、OR2と空白範囲WR1~WR3とを精度良く、かつ、容易に特定できる。
【0059】
さらに、上記ラベル印刷処理によれば、オブジェクト範囲OR1内の画像の端部空白範囲TR1、TR2を特定し(
図6のS160)、オブジェクト範囲OR1内の画像のうち、端部空白範囲TR1、TR2内の画像を除いた領域をラベル領域として特定する(
図6のS165)。そして、該ラベル領域内のラベル画像に対応する印刷画像データを出力する(
図3のS25、S75、S80)。この結果、余分な余白を含むことをさらに抑制して、オブジェクト範囲OR1内のラベル画像を適切に示す印刷画像データが出力され得る。
【0060】
さらに、上記ラベル印刷処理によれば、CPU210は、オブジェクト範囲OR1、OR2内のラベル画像を印刷媒体としてのラベル用のシートに応じたサイズに縮小するバーコードラベル縮小処理を実行し(
図3のS60)、縮小済みのラベル画像に対応する印刷画像データを、印刷実行部としてのラベルプリンタ100に出力する(
図3のS80)。この結果、ラベルプリンタ100によって、オブジェクト範囲OR1、OR2内のラベル画像が適切なサイズで印刷される。
【0061】
A-4.印刷方向決定処理
次に
図3のS45の印刷方向決定処理について説明する。印刷方向決定処理は、上述したように、印刷方向決定処理は、ラベル画像データを用いて、注目ラベル領域内のラベル画像(以下、単にラベル画像と呼ぶ)を印刷する際の印刷方向を決定する処理である。
図8は、印刷方向決定処理のフローチャートである。
【0062】
S205では、CPU210は、ラベル画像に含まれるバーコードは、1個であるか否かを判断する。例えば、
図4の第1ラベル領域LA1または第2ラベル領域LA2が注目ラベル領域である場合には、
図4に示すように、いずれの領域内のラベル画像にも複数個のバーコードが含まれる。したがって、この場合には、ラベル画像に含まれるバーコードは、1個ではないと判断される。
【0063】
ラベル画像に含まれるバーコードが1個である場合には(S205:YES)、S210にて、CPU210は、1個のバーコードの方向(X方向またはY方向)を印刷方向に決定して、印刷方向決定処理を終了する。ラベル画像に含まれるバーコードが複数個である場合には(S205:NO)、CPU210は、S215に処理を進める。
【0064】
S215では、CPU210は、ラベル画像に含まれる複数個のバーコードの方向は、全て等しいか否かを判断する。例えば、
図4の第1ラベル領域LA1が注目ラベル領域である場合には、
図4に示すように、該領域内のラベル画像にX方向のバーコードBCb、BCcと、Y方向のバーコードBCaと、が含まれる。したがって、この場合には、ラベル画像に含まれるバーコードの方向は、等しくないと判断される。
図4の第2ラベル領域LA2が注目ラベル領域である場合も同様である。
【0065】
ラベル画像に含まれる複数個のバーコードの方向が全て等しい場合には(S215:YES)、S220にて、CPU210は、ラベル画像に含まれる複数個のバーコードの方向(X方向またはY方向)を印刷方向に決定して、印刷方向決定処理を終了する。ラベル画像に含まれる複数個のバーコードの方向が等しくない場合、本実施例では、ラベル画像に含まれる複数個のバーコードの方向がX方向およびY方向の両方を含む場合には(S215:NO)、CPU210は、S225に処理を進める。
【0066】
S225では、CPU210は、ラベル画像に含まれるX方向のバーコードとY方向のバーコードは同数であるか否かを判断する。例えば、
図4の第1ラベル領域LA1が注目ラベル領域である場合には、
図4に示すように、該領域内のラベル画像に2個のX方向のバーコードBCb、BCcと1個のY方向のバーコードBCaとが含まれる。したがって、この場合には、X方向のバーコードとY方向のバーコードは同数でないと判断される。
図4の第2ラベル領域LA2が注目ラベル領域である場合には、
図4に示すように、該領域内のラベル画像に1個のX方向のバーコードBCeと1個のY方向のバーコードBCdとが含まれる。したがって、この場合には、X方向のバーコードとY方向のバーコードは同数であると判断される。
【0067】
X方向のバーコードとY方向のバーコードは同数でない場合には(S225:NO)、S230にて、CPU210は、X方向のバーコードとY方向のバーコードのうちの多数のバーコードの方向を印刷方向に決定して、印刷方向決定処理を終了する。例えば、
図4の第1ラベル領域LA1が注目ラベル領域である場合には、本ステップにて、印刷方向が、2個のバーコードBCb、BCcの方向であるX方向に決定される。X方向のバーコードとY方向のバーコードは同数である場合には(S225:YES)、CPU210は、S235に処理を進める。
【0068】
S235では、CPU210は、ラベル画像は、特定種のバーコード、本実施例では、上述したCODE128のバーコードを含むか否かを判断する。例えば、
図4の第2ラベル領域LA2が注目ラベル領域である場合には、
図4に示すように、該領域内のラベル画像に1個のCODE128のバーコードBCdが含まれるので、ラベル画像は、特定種のバーコードを含むと判断される。
【0069】
ラベル画像が特定種のバーコードを含む場合には(S235:YES)、CPU210は、S240に処理を進める。ラベル画像が特定種のバーコードを含まない場合には(S235:NO)、CPU210は、S270に処理を進める。
【0070】
S240~S265では、CPU210は、ラベル画像に含まれる特定種のバーコード(本実施例ではCODE128のバーコード)のみに基づいて、上述したS205~S230と同様の処理を実行する。具体的には、S240では、CPU210は、ラベル画像に含まれる特定種のバーコードは、1個であるか否かを判断する。
【0071】
ラベル画像に含まれる特定種のバーコードが1個である場合には(S240:YES)、S245にて、CPU210は、1個の特定種のバーコードの方向を印刷方向に決定して、印刷方向決定処理を終了する。例えば、
図4の第2ラベル領域LA2が注目ラベル領域である場合には、
図4に示すように、該領域内のラベル画像に1個のCODE128のバーコードBCdが含まれる。したがって、この場合には、本ステップにて、印刷方向が、バーコードBCdの方向であるY方向に決定される。ラベル画像に含まれる特定種のバーコードが複数個である場合には(S240:NO)、CPU210は、S250に処理を進める。
【0072】
S250では、CPU210は、ラベル画像に含まれる複数個の特定種のバーコードの方向は、全て等しいか否かを判断する。ラベル画像に含まれる複数個の特定種のバーコードの方向が全て等しい場合には(S250:YES)、S255にて、CPU210は、ラベル画像に含まれる複数個の特定種のバーコードの方向を印刷方向に決定して、印刷方向決定処理を終了する。ラベル画像に含まれる複数個の特定種のバーコードの方向が等しくない場合、本実施例では、ラベル画像に含まれる複数個の特定種のバーコードの方向がX方向およびY方向の両方を含む場合には(S250:NO)、CPU210は、S260に処理を進める。
【0073】
S260では、CPU210は、ラベル画像に含まれるX方向の特定種のバーコードとY方向の特定種のバーコードは同数であるか否かを判断する。X方向の特定種のバーコードとY方向の特定種のバーコードが同数でない場合には(S260:NO)、S265にて、CPU210は、X方向の特定種のバーコードとY方向の特定種のバーコードのうちの多数のバーコードの方向を印刷方向に決定して、印刷方向決定処理を終了する。X方向の特定種のバーコードとY方向の特定種のバーコードが同数である場合には(S260:YES)、CPU210は、S270に処理を進める。
【0074】
S270では、CPU210は、対象画像全体でX方向の特定種のバーコードと、Y方向の特定種のバーコードは、同数であるか否かを判断する。
【0075】
図9は、対象画像の他の一例を示す図である。
図9の対象画像OI2は、
図4の対象画像OIと同様に、X方向(
図9の横方向)とY方向(
図9の縦方向)とに沿って、マトリクス状に並ぶ複数個の画素を含んでいる。対象画像OI2は、第3ラベル領域LA3と、第4ラベル領域LA4と、を含む。第3ラベル領域LA3は、オブジェクトとして、複数個のバーコードBCf~BCiと、文字TXdや線Ldなどのバーコードとは異なるオブジェクトと、を含む。第4ラベル領域LA4は、オブジェクトとして、複数個のバーコードBCj、BCkと、文字TXeや線Lbなどのバーコードとは異なるオブジェクトと、を含む。バーコードBCf~BCkのうち、第3ラベル領域LA3に含まれる2個のバーコードBCg、BChと、第4ラベル領域LA4に含まれる1個のバーコードBCkとは、CODE128のバーコード(本実施例の特定種のバーコード)である。残りのバーコードBCf、BCi、BCjは、CODE128とは異なる種類のバーコードである。
【0076】
図9の第3ラベル領域LA3が注目ラベル領域である場合には、該領域内のラベル画像は、2個のX方向のバーコードBCh、BCiと、2個のY方向のバーコードBCf、BCgと、を含むので、S205~S230の処理では、印刷方向は決定されない(S205にてNO、S215にてNO、S225にてYES)。また、該領域内のラベル画像は、1個のX方向のCODE128のバーコードBChと、1個のY方向のCODE128のバーコードBCgと、を含むので、S240~S265の処理では、印刷方向は決定されない(S240にてNO、S250にてNO、S260にてYES)。
図9の対象画像OI2全体では、1個のX方向のCODE128のバーコードBChと、2個のY方向のCODE128のバーコードBCg、BCkと、を含む。したがって、S270にて、対象画像全体でX方向の特定種のバーコードと、Y方向の特定種のバーコードは、同数でないと判断される。
【0077】
対象画像全体でX方向の特定種のバーコードと、Y方向の特定種のバーコードは、同数でない場合には(S270:NO)、S275にて、CPU210は、X方向の特定種のバーコードとY方向の特定種のバーコードのうちの対象画像全体で多数のバーコードの方向を印刷方向に決定して、印刷方向決定処理を終了する。
図9の例では、2個のCODE128のバーコードBCg、BCkの方向、すなわち、Y方向が印刷方向として決定される。対象画像全体でX方向の特定種のバーコードとY方向の特定種のバーコードが同数である場合には(S270:YES)、CPU210は、S280に処理を進める。
【0078】
S280では、CPU210は、注目ラベル領域内のラベル画像の長辺に沿う方向を印刷方向に決定して、印刷方向決定処理を終了する。すなわち、CPU210は、注目ラベル領域のX方向の画素数とY方向の画素数を算出する。CPU210は、X方向の画素数がY方向の画素数以上である場合には、X方向を印刷方向に決定し、X方向の画素数がY方向の画素数未満である場合には、Y方向を印刷方向に決定する。この結果、注目ラベル領域内のラベル画像を印刷する際に、該ラベル画像の短辺に沿う方向が、ロール3を形成する帯状のシートの短手方向に対応する。したがって、
図3のS60にて、ラベル画像が縮小される確率を低くすることができ、また、縮小される場合であっても縮小される程度を小さくすることができる。
【0079】
以上説明した印刷方向決定処理を含むラベル印刷処理によれば、対象画像OI内のラベル領域LA1、LA2は、X方向に延びるバーを有するX方向のバーコードBCb、BCc、BCeと、X方向とは異なるY方向に延びるバーを有するY方向のバーコードBCa、BCdと、を含む(
図4)。CPU210は、X方向のバーコードおよびY方向のバーコードの種類と、X方向のバーコードおよびY方向のバーコードの個数と、の少なくとも一方に基づいて、ラベル領域LA1、LA2内のラベル画像の印刷方向を決定する。印刷方向は、これらのバーコードの方向(X方向およびY方向)のうちのいずれか一方と平行な方向に決定される。そして、CPU210は、決定済みの印刷方向でラベル領域LA1、LA2内のラベルを印刷するための印刷画像データを生成し(
図3のS50~S60、S75)、該印刷画像データをラベルプリンタ100に出力する(
図3のS80)。この結果、複数個のバーコードを含むラベル領域LA1、LA2内のラベル画像が適切に印刷され得る。
【0080】
印刷されたバーコードは、読み取りエラーが発生することなく、読み取られるためには、バーコードを構成する複数本のバー(黒線BBや白線WB)の太さの比率が、対象画像データで示される比率で精度良く印刷されることが好ましい。本実施例のラベルプリンタ100では、ラベル用のシートの搬送方向と印刷されるバーとが垂直であると、ラベルプリンタ100の搬送誤差が生じた場合に、複数本の黒線BBの印刷位置が、目標の位置から搬送方向に、すなわち、黒線BBと垂直な方向にずれ得る。さらに、ラベル用のシートの搬送方向と印刷されるバーとが垂直であると、バーコードの印刷時に、バーコードを構成する複数本の黒線BBは、順次に1本ずつ印刷される。このために、この場合には、サーマルヘッド162は、加熱によるドットの形成と、加熱を停止することによるドットの非形成と、を繰り返し実行することになる。この際に、サーマルヘッドの発熱素子の実際の温度が、制御に十分に追従できない場合には、印刷される黒線BBと白線WBの太さが目標の太さと異なる太さになり得る。これに対して、ラベル用のシートの搬送方向と印刷されるバーとが平行であると、ラベルプリンタ100の搬送誤差が生じた場合であっても、印刷される黒線BBの長手方向の長さが変動し得るだけで、印刷される黒線BBの太さや垂直方向の位置には影響し難い。また、ラベル用のシートの搬送方向と印刷されるバーとが平行であると、サーマルヘッド162は、印刷時に黒線BBに対応する位置の発熱素子を加熱し、白線WBに対応する位置の素子を非加熱とする状態を維持することで、バーコードを印刷できる。このために、この場合には、印刷される黒線BBと白線WBの太さが目標の太さと異なる太さになり難い。したがって、本実施例のラベルプリンタ100で印刷を行う場合には、搬送方向と印刷されるバーとが平行になるように、印刷方向をバーコードの方向と一致させることが好ましい。本実施例によれば、印刷方向は、X方向のバーコードおよびY方向のバーコードの種類と、X方向のバーコードおよびY方向のバーコードの個数と、の少なくとも一方に基づいて、これらのバーコードの方向(X方向およびY方向)のうちのいずれか一方と平行な方向に決定される。
【0081】
例えば、上記ラベル印刷処理によれば、CPU210は、X方向のバーコードの個数がY方向のバーコードの個数よりも多い場合に、X方向を印刷方向として決定し、Y方向のバーコードの個数がX方向のバーコードの個数よりも多い場合に、Y方向を印刷方向として決定する(
図8のS225、S230)。例えば、
図4の対象画像OIは、複数個のバーコードBCa~BCcを含む第1ラベル領域LA1を含む。第1ラベル領域LA1内のラベル画像について、X方向のバーコードBCb、BCcとY方向のバーコードBCaのうちの多数のバーコードの方向であるX方向に、印刷方向が決定される。この結果、X方向のバーコードの個数とY方向のバーコードの個数とに応じて、適切な印刷方向を決定できる。例えば、多数のバーコードの読み取りエラーの発生を抑制できるように、ラベル領域内のラベル画像が適切に印刷される。
【0082】
例えば、上記ラベル印刷処理によれば、CPU210は、ラベル領域に含まれるX方向のバーコードが特定種のバーコード(CODE128のバーコード)であって、かつ、Y方向の第2バーコードが特定種のバーコードとは異なる場合に、特定種のバーコードの方向であるX方向を印刷方向として決定する(
図8のS240、S245、S250、S255)。CPU210は、Y方向のバーコードが特定種のバーコードであって、かつ、X方向のバーコードが特定種のバーコードとは異なる場合に、特定種のバーコードの方向であるY方向を印刷方向として決定する(
図8のS240、S245、S250、S255)。例えば、
図4の対象画像OIは、X方向の特定種のバーコードBCdと、特定種のバーコードとは異なる種類のY方向のバーコードBCeと、を含む。このために、CPU210は、第2ラベル領域LA2内のラベル画像の印刷方向を、特定種のバーコードBCdの方向であるY方向に印刷方向を決定する。この結果、X方向のバーコードおよびY方向のバーコードが特定種のバーコードであるか否かに応じて、適切な印刷方向を決定できる。例えば、特定種のバーコードの読み取りエラーの発生を抑制できるように、ラベル領域内のラベル画像が適切に印刷される。
【0083】
さらに、上記ラベル印刷処理によれば、CPU210は、X方向の特定種のバーコードの個数がY方向の特定種のバーコードの個数よりも多い場合に、X方向を印刷方向として決定し、Y方向の特定種のバーコードの個数がX方向の特定種のバーコードの個数よりも多い場合に、Y方向を印刷方向として決定する(
図8のS260、S265)。この結果、X方向のバーコードおよびY方向のバーコードの個数と種類との両方に応じて、適切な印刷方向を決定できる。例えば、多数の特定種のバーコードの読み取りエラーの発生を抑制できるように、ラベル領域内のラベル画像が適切に印刷される。
【0084】
さらに、上記ラベル印刷処理によれば、CPU210は、
図9の対象画像OI2の第3ラベル領域LA3内のX方向のバーコードBCh、BCiおよびY方向のバーコードBCf、BCgの種類と、X方向のバーコードBCh、BCiおよびY方向のバーコードBCf、BCgの個数とに基づいて、印刷方向を決定できない場合に(
図8S260:NO)、第4ラベル領域LA4内のX方向のバーコードBCjおよびY方向のバーコードBCkの種類および個数に基づいて、第3ラベル領域LA3内のラベル画像の印刷方向を決定する。具体的には、対象画像OI2の全体で多数の特定種のバーコードの方向に、第3ラベル領域LA3内のラベル画像の印刷方向が決定される(
図8のS270、S280)。この結果、第3ラベル領域LA3内のX方向のバーコードBCjおよびY方向のバーコードBCkの種類や個数に基づいて印刷方向を決定できない場合であっても、適切な印刷方向が決定され得る。具体的には、一つの対象画像OI2に複数個のラベル領域が含まれる場合であっても、重要度が高いバーコードは、対象画像OI2内で、同じ方向に配置されやすい。このために、一のラベル領域内のバーコードの個数や種類だけでは、印刷方向を決定できない場合であっても、他のラベル領域内のバーコードの個数や種類を考慮すれば、適切な印刷方向が決定され得る。
【0085】
さらに、上記ラベル印刷処理によれば、CPU210は、X方向のバーコードおよびY方向のバーコードの種類や個数に基づいて印刷方向を決定できない場合に(
図8のS270:YES)、X方向とY方向のうち、ラベル領域内のラベル画像の長辺に沿う方向を印刷方向に決定する(
図8のS280)。長辺に沿う方向を印刷方向とすれば、本実施例では、ラベル用のシートの搬送方向と垂直な方向に、ラベル画像の短辺が対応する。このために、S280では、バーコードラベル縮小処理(
図3のS60)による縮小の程度が小さい方向が、印刷方向として決定される、と言うことができる。この結果、対象画像内のバーコードの種類や個数に基づいて印刷方向を決定できない場合であっても、適切な印刷方向が決定され得る。例えば、縮小の程度が過度に大きい場合には印刷されるバーコードの読み取りエラーが発生しやすくなるが、縮小の程度が過度に大きくなることを抑制できる。
【0086】
以上の説明から解るように、本実施例のラベル領域LA1~LA4は、オブジェクト領域の例であり、X方向は、第1方向の例であり、Y方向は、第2方向の例である。また、X方向のバーコードは、第1のバーコードの例であり、Y方向のバーコードは、第2のバーコードの例である。
【0087】
A-5.バーコードラベル縮小処理
次に
図3のS60のバーコードラベル縮小処理について説明する。バーコードラベル縮小処理は、バーコードを含むラベル画像を縮小して、ラベル画像のX方向の幅が印刷媒体の幅以下である縮小済みのラベル画像を示すラベル画像データを生成する処理である。
図10は、バーコードラベル縮小処理のフローチャートである。
図11は、バーコードラベル縮小処理の説明図である。
【0088】
S310では、CPU210は、ラベル画像をバーコードと他の部分とに分離する。すなわち、CPU210は、ラベル画像データを用いて、ラベル画像内のバーコードを示すバーコードデータと、ラベル画像内のバーコードの除いた部分であるバーコード除去画像を示すバーコード除去画像データと、を生成する。
図11(A)には、
図4の第2ラベル領域LA2内のラベル画像からバーコードBCd、BCeを除去して得られるバーコード除去画像NIが示されている。
図11(B)、(C)には、
図4の第2ラベル領域LA2内のラベル画像のうちのバーコードBCd、BCeが示されている。
【0089】
S320では、各バーコードの変倍率RBを決定する。具体的には、CPU210は、ラベル画像のX方向の幅が印刷媒体の幅となる変倍率Rmaxを算出する。CPU210は、1個のバーコードを構成するバーのうちの最も細いバーの太さ(画素数)が縮小後も整数になるように、変倍率RBの候補を各バーコードについて決定する。例えば、最も細いバーの太さが、3画素である場合には、縮小後の当該バーの太さが整数(2画素または1画素)となるように、(2/3)、(1/3)が、変倍率RBの候補となる。最も細いバーの太さが、5画素である場合には、縮小後の当該バーの太さが整数(4画素、3画素、2画素、1画素のいずれか)となるように、(4/5)、(3/5)、(2/5)、(1/5)が、変倍率RBの候補となる。CPU210は、各バーコードの変倍率RBの候補のうち、変倍率Rmax以下となる最大の変倍率を、各バーコードの変倍率RBとして決定する。例えば、変倍率Rmaxが0.9であり、バーコードBCdの最も細いバーの太さが5画素であり、バーコードBCeの最も細いバーの太さが3画素であるとする。この場合には、バーコードBCdの変倍率RBは(4/5)に決定され、バーコードBCeの変倍率RBは(2/3)に決定される。
【0090】
S330では、CPU210は、バーコード除去画像NIの変倍率RNを決定する。変倍率RNは、1個以上のバーコードの変倍率RBのうちの最大値に決定される。上述のように、バーコードBCdの変倍率RBが(4/5)に決定され、バーコードBCeの変倍率RBが(2/3)に決定される場合には、変倍率RNは、(4/5)に決定される。このように、変倍率RNが決定されることで、縮小済みのバーコードにおいて、各バー(白線WBや黒線BB)の太さの比率が、縮小前と比較して変動することを抑制できる。したがって、縮小済みのバーコードが印刷された場合に、該縮小済みのバーコードの読み取りエラーが発生することを抑制できる。
【0091】
S340では、CPU210は、各バーコードデータに対して縮小処理を実行することで、各バーコードを決定済みの変倍率RBで縮小する。バーコードデータに対する縮小処理では、補間演算を用いない方法、具体的には、ニアレストネイバー法が用いられる。
【0092】
S350では、CPU210は、バーコード除去画像データに対してバーコードデータとは異なる縮小処理を実行することで、バーコード除去画像を決定済みの変倍率RNで縮小する。バーコード除去画像データに対する縮小処理では、補間演算を用いる方法、具体的には、バイキュービック法やバイリニア法が用いられる。
【0093】
S360では、CPU210は、縮小済みの各バーコードBCe、BCdと縮小済みのバーコード除去画像NIとを合成する合成処理を実行する。具体的には、縮小済みのバーコード除去画像NI上において、元のラベル画像のバーコードの位置に対応する位置に、縮小済みのバーコードBCe、BCdが配置される。この結果、
図5(B)に示す処理済みのラベル画像FIbを示す処理済みのラベル画像データが生成される。
【0094】
以上説明したバーコードラベル縮小処理を含むラベル印刷処理によれば、オブジェクト範囲内のラベル画像にバーコードが含まれる場合に(
図3のS30にてYES)、
図10のバーコードラベル縮小処理が実行される(
図3のS45)。バーコードラベル縮小処理では、バーコードBCe、BCd(
図11)は、補間演算を用いない縮小方法に従って縮小される(
図10の340)。また、バーコードを除いたバーコード除去画像NIは、補間演算を用いる縮小方法に従って縮小される(
図10のS350)。仮に、バーコードが補間演算を用いて縮小するとバーコードを構成する白線WBと黒線BBとの境界がぼけて、該バーコードの読み取りエラーが発生するおそれがある。バーコードが補間演算を用いない縮小方法に従って縮小されることで、白線WBと黒線BBとの境界がぼけることを抑制できるので、読み取りエラーの発生を抑制できる。また、バーコード以外のオブジェクト(すなわち、バーコード除去画像NI内の文字や線)が、補間演算を用いて縮小される場合には、補間演算を用いない場合と比較して、該バーコード以外のオブジェクトの見栄えが自然になる。したがって、上記実施例では、縮小済みのバーコードの読み取りエラーの発生を抑制しつつ、縮小済みのラベル画像の見栄えを向上できる。
【0095】
そして、オブジェクト範囲内のラベル画像にバーコードが含まれない場合に(
図3のS30にてNO)、オブジェクト範囲内のラベル画像は、補間演算を用いる縮小方法に従って縮小される(
図10のS40)。したがって、縮小済みのラベル画像の見栄えを向上できる。
【0096】
このように、本実施例では、ラベル画像内のオブジェクトの種類に応じて適切な縮小処理によって縮小されたラベル画像が印刷できる。
【0097】
また、本実施例では、
図3のS80にて、印刷画像データは、ラベルプリンタ100に出力される。ラベル用のシートは、上述したようにシート本体(ラベル部分)と、剥離紙(非ラベル部分)とが分離できるような構成のものがある。本実施例では、シート本体分に適切にラベル画像が印刷されるようラベル画像データが出力されるため、ラベル用のシートにラベル画像が印刷されることで、利用者は、ラベルが印刷されたシート本体を物品に容易に貼り付けることができる。
【0098】
B.変形例:
(1)上記実施例では、特定種のバーコードは、CODE128のバーコードであるが、特定種のバーコードは他の種類のバーコードであっても良い。例えば、ラベルを用いる業種や、ラベルが貼り付けられる商品の種類によって、重要視すべきバーコードの種類は異なり得る。特定種のバーコードは、用いられるラベルにおいて重要視すべき種類のバーコードであることが好ましく、例えば、JAN、CODE39、NW-7のバーコードであっても良い。
【0099】
(2)上記実施例の
図6のラベル領域処理では、X方向の特定種のバーコードとY方向の特定種のバーコードのうち、多数のバーコードの方向と垂直な方向が、探索方向に決定される(
図6のS110~S130)。これに代えて、バーコードが特定種のバーコードであるか否かに拘わらずに、X方向のバーコードとY方向のバーコードのうち、多数のバーコードと垂直な方向が、探索方向に決定されても良い。また、対象画像OI内のバーコードのうち、最もサイズが大きなバーコードのバーと垂直な方向が探索方向に決定されても良い。あるいは、基準以上のサイズのバーコードのうち、多数のバーコードの方向と垂直な方向が、探索方向に決定されても良い。
【0100】
(3)上記実施例では、対象画像OI内のバーコードは、X方向のバーコードとY方向のバーコードとのいずれかのバーコードであることが前提である。これに代えて、対象画像OI内のバーコードは、斜め方向のバーコードを含んでも良い。この場合には、
図6のラベル領域特定処理にて、該斜め方向のバーコードと垂直な方向に、探索方向が決定され、
図6のS135にて、該探索方向の位置に対する射影ヒストグラムが生成されても良い。
【0101】
(4)上記実施例の
図6のラベル領域処理では、射影ヒストグラムを用いて、探索方向の空白範囲WR1~WR3やオブジェクト範囲OR1、OR2が特定される(S140、S145)。これに代えて、射影ヒストグラムを用いることなく、空白範囲やオブジェクト範囲が特定されても良い。例えば、探索方向がX方向である場合には、CPU210は、X方向の各画素位置について、-Y方向の端から+Y方向に向かってオブジェクト画素を探索し、オブジェクト画素が見つかった場合には、該画素位置をオブジェクト範囲を構成する位置に決定し、オブジェクト画素が見つからない場合には、該画素位置を空白範囲を構成する位置に決定しても良い。
【0102】
(5)上記実施例の
図6のラベル領域処理では、S150~S170は省略されても良い。例えば、オブジェクト範囲OR1、OR2の全体が、ラベル領域として特定されても良い。この場合には、
図7(A)、(B)に示すオブジェクト範囲OR1内の画像PIa、オブジェクト範囲OR2内のPIbの全体(ハッチングされた端部を含む)に対応する印刷画像データが出力される。また、S150~S170とは別の方法でラベル領域を特定してもよい。例えば、空白範囲であると特定する閾値をS140と変えることにより、ラベル領域内でラベル画像が分断されることを回避してもよい。
【0103】
(6)
図3のラベル印刷処理における縮小処理(S60やS40)は、例えば、ラベルプリンタ100に代えて、十分に大きな印刷媒体が用いられるプリンタ(例えば、レーザプリンタ)が用いられる場合には、省略されても良い。また、S60のバーコードラベル縮小処理は、S40と同様に、ラベル画像の全体を、補間演算を用いて縮小する処理でも良い。また、S60のバーコードラベル縮小処理は、ラベル画像の全体を、補間演算を用いることなく、例えば、ニアレストネイバー法を用いて縮小する処理でも良い。
【0104】
(7)上記実施例の
図8の印刷方向決定処理では、印刷方向は、X方向のバーコードおよびY方向のバーコードの個数と種類のみに基づいて決定される。これに代えて、印刷方向は、X方向のバーコードおよびY方向のバーコードの個数と種類に加えて、X方向のバーコードおよびY方向のバーコードの他の特徴、例えば、サイズやバーの太さを用いて決定されても良い。例えば、基準となるサイズよりも大きなサイズのバーコードは、印刷方向に拘わらずに、読み取りエラーが起こりにくいことを踏まえて、対象画像OI内の複数個のバーコードのうちの基準以下のサイズのバーコードのみを、
図8の方向決定処理の各判断(例えば、S205、S215、S235の判断)に用いても良い。あるいは、別の基準となるサイズよりも小さなサイズのバーコードは、重要性読み取りエラーが起こりにくいことを踏まえて、対象画像OI内の複数個のバーコードのうちの基準以下のサイズのバーコードのみを、
図8の方向決定処理の各判断(例えば、S205、S215、S235の判断)に用いても良い。
【0105】
(8)上記実施例の
図8の印刷方向決定処理のうち、一部の処理は適宜省略され得る。例えば、S205~S230が省略され、S235~S280の処理によって、印刷方向が決定されても良い。また、S235~S265が省略され、S205~S230、S270~S280の処理によって、印刷方向が決定されても良い。また、S270、S275が省略され、S205~S265、S280の処理によって、印刷方向が決定されても良い。また、S280が省略され、S205~S275までの処理で印刷方向が決定できない場合には、予め定められた方向に印刷方向が決定されても良い。
【0106】
(9)上記実施例の印刷実行部は、ラベルプリンタ100である。これに代えて、印刷実行部は、他の種類の印刷実行部、例えば、インクジェットプリンタや、レーザープリンタであっても良い。
【0107】
上記実施例のラベルプリンタ100では、バーコードの方向と搬送方向とが平行になるようにバーコードが印刷される場合には、バーコードの方向と搬送方向とが垂直になるようにバーコードが印刷される場合よりも、印刷されるバーコードの黒線BBと白線WBの太さが目標の太さと異なる太さになり難い。しかし、印刷実行部によっては、バーコードの方向と搬送方向とが垂直になるようにバーコードが印刷される場合には、バーコードの方向と搬送方向とが平行になるようにバーコードが印刷される場合よりも、印刷されるバーコードの黒線BBと白線WBの太さが目標の太さと異なる太さになり難い場合もある。例えば、シリアルタイプのインクジェットプリンタでは、用紙を搬送方向に搬送する副走査と、印刷ヘッドを主走査方向に移動させる主走査と、が行われるが、主走査と副走査の精度等によっては、バーコードの方向と搬送方向とが垂直になるようにバーコードが印刷されることが好ましい場合がある。この場合には、例えば、
図8のS210にて、CPU210は、1個のバーコードの方向と垂直な方向を印刷方向に決定しても良い。
図8のS230、S245、S255、S265、S275についても同様である。一般的には、印刷方向は、対象画像OI内の一のバーコードの方向に基づく方向(実施例では、一のバーコードの方向に平行な方向、変形例では、一のバーコードの方向に垂直な方向)に決定されることが好ましい。
【0108】
(10)上記実施例のラベルプリンタ100では、サーマルヘッド162が固定され、ラベル用のシートが搬送される。これに代えて、シートが固定され、サーマルヘッド162が移動することによって、印刷が実行される印刷実行部が用いられても良い。すなわち、シートなどの印刷媒体は、印刷時に印刷ヘッドに対して所定の移動方向に相対的に移動されれば良い。
【0109】
(11)
図3のラベル印刷処理を実行する画像処理装置としての端末装置200は、他の種類の装置、例えば、ラベルプリンタ100であっても良い。この場合には、例えば、ラベルプリンタ100のCPU110は、コンピュータプログラムPG1を実行することによって
図3のラベル印刷処理を実行する。例えば、CPU110は、端末装置200から対象画像データを取得し、ラベル印刷処理を実行することによって印刷画像データを生成し、該印刷画像データを印刷機構160に出力する。これによって、実施例と同様に、ラベル画像が、印刷機構160によって印刷される。このように、上記実施例では、端末装置200が画像処理装置の例であり、ラベルプリンタ100が印刷実行部の例である。そして、本変形例では、ラベルプリンタ100のCPU110が、画像処理装置の例であり、印刷機構160が印刷実行部の例である。
【0110】
また、
図3のラベル印刷処理を実行する画像処理装置は、例えば、端末装置200やラベルプリンタ100から対象画像データを取得して画像処理を実行するサーバであっても良い。このようなサーバは、ネットワークを介して互いに通信可能な複数個の計算機であっても良い。この場合には、ネットワークを介して互いに通信可能な複数個の計算機の全体が、画像処理装置の例である。
【0111】
(12)対象画像OIは、2個のラベル領域LA1、LA2を含んでいるが、1個のラベル領域のみを含んでいても良い。例えば、この場合には、上記実施例の
図3のS15のラベル領域特定処理は、省略されて、対象画像OIの全体がラベル領域とされても良い。
【0112】
(13)上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、
図1の端末装置200のCPU210が実行している処理の一部は、専用のハードウェア回路によって実現されてもよい。
【0113】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【0114】
2…筺体、3…ロール、4…シート収容部、5…カバー、6…トレー、7…ボタン、9…カッターレバー、100…ラベルプリンタ、110…CPU、120…揮発性記憶装置、130…不揮発性記憶装置、150…操作部、160…印刷機構、161…搬送部、162…サーマルヘッド、170…通信インタフェース、200…端末装置、210…CPU、220…揮発性記憶装置、230…不揮発性記憶装置、240…表示部、250…操作部、270…通信インタフェース、RB…変倍率、OI、OI2…対象画像、NI…バーコード除去画像、Hx、Hy…射影ヒストグラム、Hy…射影ヒストグラム、LA1~LA4…ラベル領域、PG1、PG2…コンピュータプログラム