JP2018026714A - コンピュータプログラム、および、画像処理装置 - Google Patents
コンピュータプログラム、および、画像処理装置 Download PDFInfo
- Publication number
- JP2018026714A JP2018026714A JP2016157632A JP2016157632A JP2018026714A JP 2018026714 A JP2018026714 A JP 2018026714A JP 2016157632 A JP2016157632 A JP 2016157632A JP 2016157632 A JP2016157632 A JP 2016157632A JP 2018026714 A JP2018026714 A JP 2018026714A
- Authority
- JP
- Japan
- Prior art keywords
- size
- straight line
- original image
- image
- region
- 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
- Record Information Processing For Printing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
【課題】指定される印刷設定に適した調整を行う。
【解決手段】
印刷に用いられるシートのデフォルトのサイズであるデフォルトサイズと、シートの複数のサイズの中から指定されたサイズである指定サイズを特定する。デフォルトサイズと指定サイズとを用いて、直線領域を決定する。直線領域内に配置されているオブジェクト画素の総数が減少するように、元画像に含まれるオブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、元画像を調整する。または、隣の画素との色の差が所定の閾値よりも大きいことを示す条件を満たす複数の第1種画素と条件を満たさない複数の第2種画素とのうちの直線領域内に配置されている第2種画素の総数が減少するように、元画像に含まれるオブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、元画像を調整する。
【選択図】 図1
【解決手段】
印刷に用いられるシートのデフォルトのサイズであるデフォルトサイズと、シートの複数のサイズの中から指定されたサイズである指定サイズを特定する。デフォルトサイズと指定サイズとを用いて、直線領域を決定する。直線領域内に配置されているオブジェクト画素の総数が減少するように、元画像に含まれるオブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、元画像を調整する。または、隣の画素との色の差が所定の閾値よりも大きいことを示す条件を満たす複数の第1種画素と条件を満たさない複数の第2種画素とのうちの直線領域内に配置されている第2種画素の総数が減少するように、元画像に含まれるオブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、元画像を調整する。
【選択図】 図1
Description
本明細書は、印刷すべき画像を調整する技術に関する。
従来から、紙などのシートに画像を印刷する技術が用いられている。また、印刷後にシートを折る場合に、画像を折り目から外すための補正処理(例えば、画像の移動)を実行する技術が提案されている。
ところが、従来の技術では、印刷設定に依らず、折り目の位置が予め画一的に決められているので、調整された画像の位置が、指定される印刷設定に適していない場合があった。
本明細書は、指定される印刷設定に適した調整を、容易に行うことができる技術を開示する。
本明細書は、例えば、以下の適用例を開示する。
[適用例1]画像処理のためのコンピュータプログラムであって、印刷に用いられるシートのデフォルトのサイズであるデフォルトサイズを特定する第1特定機能と、オブジェクトを含む元画像を表す第1画像データを取得する取得機能と、画像を印刷実行部によって印刷するためにシートの複数のサイズの中から指定されたサイズである指定サイズを特定する第2特定機能と、前記デフォルトサイズと前記指定サイズとを特定後に、前記デフォルトサイズと前記指定サイズとを用いて、前記オブジェクトを表す複数のオブジェクト画素と、前記オブジェクトを表さない複数の非オブジェクト画素と、のうち、少なくとも前記非オブジェクト画素が配置されるべき領域であるN個(Nは1以上の整数)の直線領域を決定する決定機能であって、前記N個の直線領域のそれぞれは、少なくとも、前記元画像を2つの部分領域に区分する前記元画像の特定の縁から反対側の縁まで延びる直線形状の領域である、前記決定機能と、前記直線領域の決定後に、前記N個の直線領域内に配置されている前記オブジェクト画素の総数が減少するように、前記元画像に含まれる前記オブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、前記元画像を調整する調整機能と、調整済の画像を表す第2画像データを用いて、前記印刷実行部に前記調整済の画像を印刷させる印刷制御機能と、をコンピュータに実現させるコンピュータプログラム。
この構成によれば、少なくとも非オブジェクト画素が配置されるべき直線領域が、デフォルトサイズと、ユーザによって指定された指定サイズと、に応じて決定され、直線領域に含まれるオブジェクト画素の総数が減少するように元画像が調整されるので、画像を、指定される印刷設定に基づいて適切に調整できる。
[適用例2]画像処理のためのコンピュータプログラムであって、印刷に用いられるシートのデフォルトのサイズであるデフォルトサイズを特定する第1特定機能と、オブジェクトを含む元画像を表す第1画像データを取得する取得機能と、画像を印刷実行部によって印刷するためにシートの複数のサイズの中から指定されたサイズである指定サイズを特定する第2特定機能と、前記デフォルトサイズと前記指定サイズとを特定後に、前記デフォルトサイズと前記指定サイズとを用いて、隣の画素との色の差が所定の閾値よりも大きいことを示す条件を満たす画素である複数の第1種画素と、前記条件を満たさない画素である複数の第2種画素と、のうち、少なくとも前記第1種画素が配置されるべき領域であるN個(Nは1以上の整数)の直線領域を決定する決定機能であって、前記N個の直線領域のそれぞれは、少なくとも、前記元画像を2つの部分領域に区分する前記元画像の特定の縁から反対側の縁まで延びる直線形状の領域である、前記決定機能と、前記直線領域の決定後に、前記N個の直線領域内に配置されている前記第2種画素の総数が減少するように、前記元画像に含まれる前記オブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、前記元画像を調整する調整機能と、調整済の画像を表す第2画像データを用いて、前記印刷実行部に前記調整済の画像を印刷させる印刷制御機能と、をコンピュータに実現させるコンピュータプログラム。
この構成によれば、少なくとも第1種画素が配置されるべき直線領域が、デフォルトサイズと、ユーザによって指定された指定サイズと、に応じて決定され、直線領域に含まれる第2種画素の総数が減少するように元画像が調整されるので、画像を、指定される印刷設定に基づいて適切に調整できる。
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、画像処理方法および画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
A.第1実施例:
図1は、実施例のデータ処理装置100(画像処理装置100とも呼ぶ)を示す説明図である。データ処理装置100は、例えば、パーソナルコンピュータである(例えば、デスクトップコンピュータ、タブレットコンピュータ)。データ処理装置100は、プロセッサ110と、揮発性記憶装置120と、不揮発性記憶装置130と、画像を表示する表示部140と、ユーザによる操作を受け入れる操作部150と、インタフェース190と、を有している。これらの要素は、バスを介して互いに接続されている。
図1は、実施例のデータ処理装置100(画像処理装置100とも呼ぶ)を示す説明図である。データ処理装置100は、例えば、パーソナルコンピュータである(例えば、デスクトップコンピュータ、タブレットコンピュータ)。データ処理装置100は、プロセッサ110と、揮発性記憶装置120と、不揮発性記憶装置130と、画像を表示する表示部140と、ユーザによる操作を受け入れる操作部150と、インタフェース190と、を有している。これらの要素は、バスを介して互いに接続されている。
プロセッサ110は、データ処理を行う装置であり、例えば、CPUである。揮発性記憶装置120は、例えば、DRAMであり、不揮発性記憶装置130は、例えば、フラッシュメモリである。不揮発性記憶装置130は、プログラム132を格納している。プロセッサ110は、プログラム132を実行することによって、プリンタ210に画像を印刷させる印刷処理を実行する(詳細は後述)。プログラム132は、例えば、プリンタドライバであってよい。プロセッサ110は、プログラム132の実行に利用される種々の中間データを、記憶装置(例えば、揮発性記憶装置120、不揮発性記憶装置130のいずれか)に、一時的に格納する。
表示部140は、画像を表示する装置であり、例えば、液晶ディスプレイである。操作部150は、ユーザによる操作を受け取る装置であり、例えば、表示部140上に重ねて配置されたタッチパネルである。ユーザは、操作部150を操作することによって、種々の指示をデータ処理装置100に入力可能である。
インタフェース190は、他の装置と通信するためのインタフェースである(例えば、USBインタフェース、有線LANインタフェース、IEEE802.11の無線インタフェース)。本実施例では、インタフェース190は、有線または無線のネットワークインタフェースであり、ネットワークNTに接続されている。ネットワークNTには、プリンタ210が接続されている。データ処理装置100は、インタフェース190とネットワークNTとを介して、プリンタ210と通信可能である。
プリンタ210は、用紙(印刷媒体の一例)などのシートの上に画像を印刷する装置である。本実施例では、プリンタ210は、シアンCとマゼンタMとイエロYとブラックKのそれぞれのインクを用いるインクジェット式の印刷装置である。なお、プリンタ210としては、他の方式(例えば、レーザ方式)の印刷装置を採用してもよい。プリンタ210は、印刷を実行する印刷実行部の例である。
図2は、印刷処理の例を示すフローチャートである。本実施例では、データ処理装置100(図1)のプロセッサ110は、プリンタドライバとして、印刷処理を実行する。この印刷処理は、例えば、文書作成プログラムや画像作成プログラムなどのアプリケーションプログラムに対してユーザが印刷指示を入力して、そのアプリケーションプログラムから、プリンタドライバが呼び出された場合に実行される。
S100では、プロセッサ110は、印刷処理のための種々の設定項目のそれぞれのデフォルトの設定を取得する。印刷処理のための設定項目は、例えば、「シートサイズ」と「印刷方式」とを含んでいる。「シートサイズ」は、予め決められた複数のサイズの中から選択される(例えば、「A4」、「レター」など)。印刷方式は、「片面印刷方式」と「両面印刷方式」とのいずれかに設定される。「片面印刷方式」は、シートの一方側の面のみに画像を印刷する印刷方式である。「両面印刷方式」は、シートの一方側の面と反対側の面との両方に画像を印刷する印刷方式である。本実施例では、プリンタ210は、「片面印刷方式」による印刷と「両面印刷方式」による印刷との両方を実行できるように構成されている。
各設定項目のデフォルトの設定は、ユーザが設定を入力しない場合に利用される設定である。デフォルトの設定を表すデフォルトデータは、不揮発性記憶装置130に格納されている(図示省略)。プロセッサ110は、不揮発性記憶装置130のデフォルトデータを参照して、各設定項目のそれぞれのデフォルトの設定を取得する。以下、デフォルトのシートサイズを、デフォルトサイズとも呼ぶ。なお、プロセッサ110は、ユーザの指示に応じて、デフォルトデータを、ユーザによって指示された設定を表すように、修正できる。
S105では、プロセッサ110は、ユーザからの印刷指示を取得する。プロセッサ110は、表示部140(図1)に、印刷用の設定画面を表示させる。図示を省略するが、設定画面は、各設定項目の設定を入力するための入力部(例えば、プルダウンメニューや、ラジオボタンなど)を含んでいる。例えば、設定画面は、「シートサイズ」を入力するためのサイズ入力部と、「印刷方式」を入力するための方式入力部と、を含んでいる。ユーザは、操作部150を操作することによって、各入力部に好みの設定を入力できる。
ユーザが設定を入力する前には、プロセッサ110は、設定画面の各入力部として、対応する設定項目のデフォルトの設定が選択された状態の入力部を、表示する。このように、設定画面には、各設定項目のデフォルトの設定が、表示されている。ユーザは、設定画面を観察することによって、容易に、デフォルトの設定を確認できる。以下、S105で設定されたシートサイズを「指定サイズ」とも呼ぶ。指定サイズは、デフォルトサイズと同じであり得る。ユーザがサイズを指定する情報を入力しなかった場合、指定サイズは、デフォルトサイズと同じである。また、S105で設定された印刷方式を「指定印刷方式」とも呼ぶ。
S110では、プロセッサ110は、印刷処理の対象の画像データを取得する(対象データと呼ぶ)。プロセッサ110は、プリンタドライバを呼び出したアプリケーションプログラムによって提供される画像データを用いて、対象データを取得する。アプリケーションプログラムによって提供される画像データのデータ形式としては、任意の形式を採用可能である(例えば、JPEG(Joint Photographic Experts Group)形式や、PDF(Portable Document Format)形式)。プロセッサ110は、提供された画像データを、印刷処理用の解像度のビットマップデータに変換し、得られたビットマップデータを、対象データとして利用する。印刷処理用の解像度、すなわち、矩形状の画像の縦方向の画素数と横方向の画素数とは、予め決められている。これに代えて、印刷処理用の解像度は、S105で設定された指定サイズに応じて決定されてもよい。例えば、印刷に用いられるシート上での画素密度が予め決められた画素密度となるように、印刷処理用の解像度が決定されてもよい。また、本実施例では、対象データは、R(赤)、G(緑)、B(青)の3つの色成分の階調値で各画素の色を表していることとする。
図2のS110の左側には、対象データによって表される画像IMa(元画像IMaとも呼ぶ)の例が示されている。元画像IMaは、文字列のオブジェクトOB1と、イラストのオブジェクトOB2と、を表している。なお、元画像IMaは、このような2個のオブジェクトOB1、OB2を含む画像に代えて、他の種々の数の種々のオブジェクトを含み得る。
なお、プロセッサ110は、ユーザによって指定された画像データを用いて、対象データを取得してもよい。例えば、ユーザが、設定画面(S105)に、画像データを特定するための情報(例えば、画像データを格納するデータファイルのファイル名など)を入力してもよい。プロセッサ110は、入力された情報によって特定される画像データを用いて、対象データを取得すればよい。いずれの場合も、対象データの取得に用いられる画像データとしては、データ処理装置100の記憶装置(例えば、不揮発性記憶装置130)に格納された画像データが用いられてよく、また、データ処理装置100に接続された他の装置(例えば、インタフェース190に接続されたフラッシュメモリなどの記憶装置)に格納された画像データが用いられてもよい。
S120では、プロセッサ110は、対象画像を解析することによって、元画像IMa内のオブジェクトを表す領域であるオブジェクト領域を特定し、オブジェクト領域毎にオブジェクト領域の種類を「文字」と「非文字」とのいずれかに決定する。
オブジェクト領域を特定する方法としては、公知の方法を採用可能である。例えば、以下の方法を採用してよい。プロセッサ110は、公知のエッジ検出フィルタ(例えば、ソーベルフィルタ)を対象データに適用して、元画像IMa内のエッジを抽出し、そして、エッジ量が予め決められた基準より大きい領域を、オブジェクト領域として特定する。ここで、プロセッサ110は、元画像を複数の処理領域(例えば、所定サイズの矩形領域)に分割し、処理領域毎にエッジ量を算出してよい。そして、プロセッサ110は、エッジ量が基準よりも大きい処理領域が連続することによって構成される1つの連続な領域を、1つのオブジェクト領域として特定してよい。図2の例では、S120によって、第1オブジェクトOB1を表す第1オブジェクト領域OA1と、第2オブジェクトOB2を表す第2オブジェクト領域OA2と、が特定されている。
オブジェクト領域の種類が文字であるか否かを判定する方法としては、公知の方法を採用可能である。例えば、以下の方法を採用してよい。プロセッサ110は、オブジェクト領域の輝度のヒストグラムを用いて、当該領域内に含まれる輝度値の種類数Cnを算出する。また、プロセッサ110は、オブジェクト領域に含まれる複数の画素を、オブジェクト領域の周囲の色(背景色)に近い色を有する背景画素と、背景画素以外のオブジェクト画素と、に分類し、オブジェクト画素の比率Dを算出する。例えば、オブジェクト領域の外周側に隣接する複数の画素の色値の各色成分の平均値(例えば、赤R、緑G、青Bのそれぞれの平均値Ra、Ga、Ba)が、背景色の色値として用いられる。背景色の色値を中心とする所定範囲が、背景色範囲として用いられる。そして、オブジェクト領域内の複数の画素のうち背景色範囲内の色値を有する画素が、背景画素として用いられる。オブジェクト領域内の複数の画素のうち背景画素以外の画素は、オブジェクト画素として用いられる。オブジェクト画素の比率Dは、(オブジェクト画素の数)/(背景画素の数)で表される。文字のオブジェクト領域では、文字以外のオブジェクト領域と比べて、輝度値の種類数Cn(色の種類数)、および、オブジェクト画素の比率Dが、小さい傾向がある。プロセッサ110は、判定対象のオブジェクト領域の輝度値の種類数Cn(色の種類数)が予め決められた第1の閾値より小さく、かつ、オブジェクト画素の比率Dが予め決められた第2の閾値より小さい場合に、当該オブジェクト領域の種類が文字であると判定する。図2の例では、第1オブジェクト領域OA1の種類は、文字と判定され、第2オブジェクト領域OA2の種類は、非文字と判定される。
S130では、プロセッサ110は、対象データを解析することによって、元画像IMaの種類が「ポスター」であるか否かを判定する。元画像の種類がポスターであると判定するためのポスター条件としては、種々の条件を採用可能である。例えば、ポスター条件は、「元画像の面積に対する元画像内の非文字のオブジェクト領域の総面積の割合が、予め決められた閾値以上である」という面積条件が満たされることであってよい。ポスターの画像は、大きな非文字のオブジェクト(例えば、イラストや写真など)を含む場合が多い。従って、上記面積条件を用いて適切な判定が可能である。なお、面積条件の閾値としては、ゼロ%よりも大きく、かつ、100%よりも小さい種々の値を採用可能である。また、ポスター条件は、「元画像内の文字のオブジェクトによって表される文字の最大サイズが、予め決められた閾サイズ以上である」という文字サイズ条件が満たされることであってもよい。ポスターの画像が文字を含む場合、文字の大きさが大きい場合が多い。従って、上記文字サイズ条件を用いて適切な判定が可能である。また、ポスター条件は、面積条件が満たされ、かつ、文字サイズ条件が満たされることであってもよい。
S140では、プロセッサ110は、元画像中の直線領域の決定処理を実行する。直線領域は、シートの折線に対応する領域である。画像の印刷に大きなシートが用いられる場合、印刷済の大きなシートは、折り畳まれて利用され得る。後述するように、元画像内のオブジェクト領域の位置は、オブジェクト領域のうちの特定の部分がシートの折線に重ならないように、調整される。
折り畳まれたシートは、別の小さなシートと共に利用され得る。例えば、折り畳まれた大きなシートと、別の小さなシートとが、1つのファイルに綴じられる。S100で説明したデフォルトサイズは、頻繁に利用されるシートのサイズを表している場合が多い。S105で説明した指定サイズがデフォルトサイズよりも大きい場合、ユーザは、指定サイズのシートと、デフォルトサイズの多数のシートとを、まとめて利用しようとしている可能性がある。
シートの折り方には、種々の折り方がある。図3は、シートの折り方の例を示す概略図である。図3(A)〜図3(C)には、シートSHが折り畳まれる様子が示されている。図3(A)の例では、矩形状のシートSHが、第1折線L1で二つ折りにされている。第1折線L1は、シートSHの長辺Saから反対側の長辺Sbまで延びる直線であり、シートSHを二等分する直線である。すなわち、第1折線L1は、長辺Saの中点Paから、反対側の長辺Sbの中点Pbまで延びている。図3(B)の例では、シートSHが、第1折線L1で二つ折りにされ、さらに、シートSHのうちの第1折線L1から見て一方側の部分SHaが、第1折線L1に平行な第2折線L2でさらに二つ折りにされている。第2折線L2は、部分SHaを二等分する直線である。図3(C)の例では、シートSHが、第1折線L1と第3折線L3とで、四つ折りにされている。第3折線L3は、第1折線L1を垂直に二等分する直線であり、シートSHの短辺Scの中点Pcから反対側の短辺Sdの中点Pdまで延びている。このように、シートSHは、種々の折り方で折り畳まれ得る。
指定サイズのシートの適切な折り方は、状況に応じて異なり得る。指定サイズのシートとデフォルトサイズのシートとがまとめて利用される場合、指定サイズのシートの適切な折り方は、指定サイズとデフォルトサイズとの組み合わせに応じて異なり得る。例えば、指定サイズがデフォルトサイズの2倍のサイズである場合、図3(A)のような二つ折りが適切である。ここで、両面印刷方式が利用される場合、ユーザは、図3(B)の折り方を採用することによって、シートの一方側の面と反対側の面との両方を容易に観察できる。また、指定サイズがデフォルトサイズの4倍のサイズである場合、図3(C)のような四つ折りが適切である。
図2のS140では、プロセッサ110は、デフォルトサイズと指定サイズとを用いて、元画像内の直線領域を決定する。決定される直線領域は、画像が印刷された指定サイズのシートを折り畳む場合の折線に重なることが想定された領域である。図4は、直線領域の決定処理の例を示すフローチャートである。S300では、プロセッサ110は、指定サイズが閾サイズよりも大きいか否かを判定する。デフォルトサイズと比べて指定サイズが大幅に大きい場合、例えば、デフォルトサイズがA6サイズであり、指定サイズがA3サイズである場合、ユーザは、指定サイズのシートを折り畳むことを意図していないと推定される。そこで、本実施例では、指定サイズが、閾サイズよりも大きい場合(S300:Yes)、図4の処理を終了して、直線領域を決定する処理をキャンセルする。なお、本実施例では、2つのシートサイズの間の大小関係は、各シートサイズの面積を用いて、判定される。例えば、指定サイズの面積が閾サイズの面積よりも大きい場合に、指定サイズが閾サイズよりも大きいと判定される。2つのシートサイズの大きさを比較する後述する他のステップについても、同様である。
図5は、閾サイズデータTの説明図である。閾サイズデータTは、デフォルトサイズと閾サイズとの対応関係を表すデータであり、プログラム132に予め組み込まれている。図5では、複数のデフォルトサイズが、小さい順番に並んで示されている。図5の例では、閾サイズは、デフォルトサイズよりも大きいサイズに設定されている。例えば、A6のデフォルトサイズには、デフォルトサイズの4倍のA4の閾サイズが対応付けられている。B6のデフォルトサイズには、デフォルトサイズの4倍のB4の閾サイズが対応付けられている。A5のデフォルトサイズには、デフォルトサイズの4倍のA3の閾サイズが対応付けられている。なお、本実施例では、プリンタ210が印刷に利用可能なシートの最大サイズは、A3サイズである。従って、最大のデフォルトサイズは、A3サイズである。また、最大の閾サイズは、A3サイズである。図4のS300では、プロセッサ110は、この閾サイズデータTを参照して、デフォルトサイズに対応付けられた閾サイズを特定し、指定サイズが閾サイズよりも大きいか否かを判定する。指定サイズが閾サイズよりも大きい場合(S300:Yes)、プロセッサ110は、図4の処理を終了する。
なお、図5の閾サイズデータTでは、A3のデフォルトサイズに対応する閾サイズは、省略されている。デフォルトサイズに対応する閾サイズが省略されている場合、指定サイズに拘わらず、指定サイズは閾サイズよりも大きいと判断される。
指定サイズが閾サイズ以下である場合(図4:S300:No)、S310で、プロセッサ110は、指定サイズがデフォルトサイズより大きいか否かを判定する。指定サイズがデフォルトサイズ以下である場合、ユーザは、指定サイズのシートを折り畳むことを意図していないと推定される。本実施例では、指定サイズがデフォルトサイズ以下である場合(S310:No)、図4の処理を終了して、直線領域を決定する処理をキャンセルする。
指定サイズがデフォルトサイズより大きい場合(S310:Yes)、S320で、プロセッサ110は、元画像の種類が「ポスター」であるか否かを判定する。元画像の種類がポスターである場合(S320:Yes)、プロセッサ110は、S330で、第1決定処理を実行して元画像内の直線領域を決定し、図4の処理を終了する。元画像の種類がポスターではない場合(S320:No)、プロセッサ110は、S340で、第2決定処理を実行して元画像内の直線領域を決定し、図4の処理を終了する。
図6は、第1決定処理(図4:S330)の例を示すフローチャートである。S400では、プロセッサ110は、指定サイズがデフォルトサイズの2倍以下であるか否かを判定する。指定サイズがデフォルトサイズの2倍よりも大きい場合には、ユーザは、デフォルトサイズとは無関係に、大きい指定サイズのシートにポスターを印刷することを意図しており、印刷されたポスターを折り畳むことを意図していない可能性がある。本実施例では、指定サイズがデフォルトサイズの2倍よりも大きい場合(S400:No)、プロセッサ110は、図6の処理を終了して、直線領域を決定する処理をキャンセルする。
指定サイズがデフォルトサイズの2倍以下である場合(S400:Yes)、S410で、プロセッサ110は、直線領域を、元画像を2つの部分領域に区分する第1直線を含む第1領域に、決定する。そして、プロセッサ110は、図6の処理を終了する。
図7は、直線領域の例を示す概略図である。図7(A)には、元画像IMbが示されている。この元画像IMbは、非文字のオブジェクトOB2を含んでいる。また、元画像IMbの種類は「ポスター」であると判定されたこととする。元画像IMb中の点線で示された第1直線Laは、矩形状の元画像IMbを2つの部分領域に区分する直線である。この第1直線Laは、元画像IMbの長辺Seのおおよそ中央の位置Peから、元画像IMbの反対側の長辺Sfのおおよそ中央の位置Pfまで延びている。この第1直線Laは、指定サイズのシートを二等分するライン(例えば、図3(A)の第1折線L1)に対応している。すなわち、元画像IMbが指定サイズのシートに印刷される場合に、第1直線Laは、シートの第1折線L1に重なる。図7(A)中の第1直線領域Aaは、第1直線Laを含む領域である。本実施例では、第1直線領域Aaは、第1直線Laに沿って延びる領域であり、第1直線Laを中心とする一定幅の帯状の領域である。図3(A)の領域A1は、第1折線L1に沿って延びる一定幅の領域である。図7(A)の元画像IMbが図3(A)のシートSH上に印刷される場合、元画像IMb上の第1直線領域Aaは、シートSH上の領域A1に重なる。
プロセッサ110は、図6のS410で、このような第1直線を含む第1直線領域を決定し、そして、図6の処理を終了する。なお、後述するように、本実施例では、第1直線領域Aaの幅は、オブジェクト領域の位置を調整する複数種類の調整処理の間で、異なっている。プロセッサ110は、複数種類の調整処理のために、幅が異なる複数種類の第1直線領域を決定する。具体的には、本実施例では、E画素分の幅(Eは2以上の整数。例えば、E=10)の第1直線領域Aaと、1画素分の幅の第1直線領域Aaxと、の2種類の第1直線領域Aa、Aaxが決定される。後述する他の決定処理で決定される直線領域についても、同様に、幅が異なる2種類の直線領域が決定される。以下、幅の広い直線領域を、広直線領域と呼び、幅の狭い直線領域を、狭直線領域とも呼ぶ。
図8は、第2決定処理(図4:S340)の例を示すフローチャートである。S400は、図6のS400と同じである。指定サイズがデフォルトサイズの2倍よりも大きい場合(S400:No)、S420で、プロセッサ110は、直線領域を、以下のように決定する。すなわち、指定サイズのシートを、デフォルトサイズ以下の複数の部分領域に区分するN本(Nは、1以上の整数)の折線に対応するN本の直線を含むN個の直線領域で構成される2組の直線領域セットが決定される。ここで、第1組の直線領域セットは、N個の広直線領域で構成されるセットであり、第2組の直線領域セットは、N個の狭直線領域で構成されるセットである。例えば、指定サイズがデフォルトサイズの4倍である場合、図3(C)の2本の折線L1、L3に対応する2本の直線を含む2個の直線領域で構成される直線領域セットが、決定される。図3(C)の領域A1は、第1折線L1に沿って延びる一定幅の帯状の領域であり、領域A3は、第3折線L3に沿って延びる一定幅の帯状の領域である。また、図3(C)には、シートSHに印刷される場合の元画像IMxの輪郭が、点線で示されている。この元画像IMx上の広直線領域のセットは、領域A1に重なる帯状の直線領域と、領域A3に重なる帯状の直線領域と、で構成される。また、元画像IMx上の狭直線領域のセットは、第1折線L1に重なる直線領域と、第3折線L3に重なる直線領域と、で構成される。
なお、S420で決定される直線領域は、指定サイズとデフォルトサイズとの組み合わせに対応付けて、予め決められている。いずれの場合も、1組の直線領域セットとしては、指定サイズのシートを、デフォルトサイズ以下の複数の部分領域に区分するN本(Nは、1以上の整数)の直線状の折線に対応する元画像上のN本の直線に沿って延びる一定幅のN個の直線領域が、決定される。S420で直線領域が決定されたことに応じて、図8の処理は終了する。
指定サイズがデフォルトサイズの2倍以下である場合(S400:Yes)、S405で、プロセッサ110は、指定印刷方式が「片面印刷方式」であるか否かを判定する。指定印刷方式が「片面印刷方式」である場合(S405:Yes)、S410で、プロセッサ110は、直線領域を、元画像を2つの部分領域に区分する第1直線を含む第1領域に、決定する。このS410は、図6のS410と同じである。S410で直線領域が決定されたことに応じて、図8の処理は終了する。
指定印刷方式が「片面印刷方式」ではない場合、すなわち、指定印刷方式が「両面印刷方式」である場合(S405:No)、S415で、プロセッサ110は、元画像を2つの部分領域に区分する第1直線を含む第1直線領域と、2つの部分領域のうちの一方の部分領域を第1直線に平行に更に2つの部分領域に区分する第2直線を含む第2直線領域と、で構成される2組の直線領域セットを決定する。
S415で決定される各直線領域セットの2つの直線領域は、図3(B)の2本の折線L1、L2に、それぞれ対応している。図3(B)の領域A1は、第1折線L1に沿って延びる一定幅の帯状の領域であり、領域A2は、第2折線L2に沿って延びる一定幅の帯状の領域である。また、図3(B)には、シートSHに印刷される場合の元画像IMxの輪郭が、点線で示されている。この元画像IMx上の広直線領域のセットは、領域A1に重なる帯状の直線領域と、領域A2に重なる帯状の直線領域と、で構成される。また、元画像IMx上の狭直線領域のセットは、第1折線L1に重なる直線領域と、第2折線L2に重なる直線領域と、で構成される。S415で直線領域が決定されることに応じて、図8の処理は終了する。
以上のように、図6、図8の決定処理が終了することによって、図4の決定処理(すなわち、図2のS140)が終了する。図2のS145では、プロセッサ110は、直線領域が決定されたか否かを判定する。直線領域が決定されていない場合(S145:No)、S210で、プロセッサ110は、元画像を表す印刷データを生成する。本実施例では、対象データに対して、印刷コマンドなどの制御データを付加するデータ形成処理が実行されて、印刷データが生成される。印刷データは、指定サイズのシートに、指定印刷方式で、画像を印刷するための印刷コマンドを含んでいる。
S220では、プロセッサ110は、生成された印刷データを、プリンタ210へ送信する。S230では、プリンタ210は、受信した印刷データに従って、画像をシートに印刷する。これにより、図2の印刷処理が終了する。
図2のS140で直線領域が決定された場合(S145:Yes)、S150で、プロセッサ110は、文字オブジェクト領域の調整処理を実行する。図9は、文字オブジェクト領域の調整処理の例を示すフローチャートである。この調整処理では、文字オブジェクト領域内の複数の画素から、文字を表す複数のオブジェクト画素と、文字を表さない複数の非オブジェクト画素と、が特定され、直線領域内に配置されているオブジェクト画素の総数が減少するように、文字オブジェクト領域の位置が調整される。直線領域のセットとして、広直線領域のセットが用いられる。なお、図9の調整処理は、1つの文字オブジェクト領域の処理を示している。元画像に複数の文字オブジェクト領域が含まれる場合には、文字オブジェクト領域毎に、図9の処理が実行される。以下、処理対象のオブジェクト領域を、単に、対象オブジェクト領域とも呼ぶ。また、図9では図示を省略するが、文字オブジェクト領域が直線領域に重なっていない場合、プロセッサ110は、その文字オブジェクト領域を、移動させない(調整処理はキャンセルされる)。
図10は、文字オブジェクト領域の調整の例を示す説明図である。図10(A)には、元画像IMcが示されている。この元画像IMcは、文字のオブジェクトOB1を含んでいる。図10(A)の例では、図7(A)の例と同様に、元画像IMcを2つの部分領域に区分する第1直線領域Aaが、決定されている。以下、図10(A)のオブジェクト領域OA1を処理対象のオブジェクト領域の例として用いて、説明を行う。
図9のS500では、プロセッサ110は、対象オブジェクト領域内の複数の画素を、オブジェクト(ここでは、文字)を表すオブジェクト画素と、オブジェクトを表さない非オブジェクト画素と、に分類する。分類方法としては、種々の方法を採用可能である。例えば、図2のS120のオブジェクト領域の種類が文字であるか否かを判定する方法で用いたオブジェクト領域の複数の画素をオブジェクト画素と背景画素とに分類する方法と同じ方法を採用してよい。背景画素は、非オブジェクト画素として用いられる。このように、非オブジェクト画素としては、元画像中の背景を表す画素が用いられる。
図9のS505では、プロセッサ110は、対象オブジェクト領域の移動量Amを、1に初期化する。S510では、プロセッサ110は、対象オブジェクト領域の仮移動の位置を、元の位置から、対象オブジェクト領域に重なる直線領域の延びる方向に垂直な第1方向に向かって移動量Amだけ移動した位置に、決定する。図10(A)には、第1方向Diと第2方向Djとが示されている。第1直線領域Aaの延びる方向(すなわち、第1直線Laに平行な方向)に垂直な2つの方向のうち、一方が第1方向Diとして用いられ、他方(すなわち、第1方向Diに反対の方向)が第2方向Djとして用いられる。図10(A)の例では、図9のS510で、プロセッサ110は、オブジェクト領域OA1の仮移動の位置を、元の位置から第1方向Diに向かって移動量Amだけ移動した位置に、決定する。本実施例では、移動量Amの単位は、画素数である。図10(B)は、仮移動の位置に移動したオブジェクト領域OA1の例を示している。この例では、オブジェクト領域OA1は、元の位置(図10(A))から、第1方向Diに向かって、移動している。
図9のS520では、プロセッサ110は、仮移動の位置の対象オブジェクト領域が、以下の条件C1、C2を満たすか否かを判定する。
条件C1)対象オブジェクト領域が、他のオブジェクト領域に重ならない。
条件C2)直線領域内の総画素数に対する対象オブジェクト領域のオブジェクト画素の総数の割合Ro(オブジェクト画素割合Roと呼ぶ)が、予め決められた閾値Rth以下である
条件C1)対象オブジェクト領域が、他のオブジェクト領域に重ならない。
条件C2)直線領域内の総画素数に対する対象オブジェクト領域のオブジェクト画素の総数の割合Ro(オブジェクト画素割合Roと呼ぶ)が、予め決められた閾値Rth以下である
条件C1は、元画像では互いに離れていた複数のオブジェクト領域がオブジェクト領域の移動によって重なることを避けるための条件である。既に、他のオブジェクト領域の位置が調整済である場合、仮移動の位置の対象オブジェクト領域が、調整された位置の他のオブジェクト領域に重なるか否かが判定される。条件C2は、文字を表すオブジェクト画素が直線領域に配置されることを抑制するための条件である。すなわち、条件C2は、直線領域が、非オブジェクト画素が配置されるべき領域であることを示している。
図10(A)の例では、オブジェクト領域OA1の文字が第1直線領域Aaに重なっている。これにより、第1直線領域Aa内において、文字を表すオブジェクト画素の割合Roは、閾値Rthよりも大きい。一方、図10(B)の例では、仮移動の位置のオブジェクト領域OA1の複数の文字列の行間の背景部分が、第1直線領域Aaに重なっている。これにより、第1直線領域Aa内において、文字を表すオブジェクト画素の割合Roは、閾値Rth以下である。
S520において、条件C1、C2の両方が満たされる場合(S520:Yes)、S570で、プロセッサ110は、仮移動の位置に対象オブジェクト領域が移動した画像である調整済画像を表す調整済画像データを生成し、図9の処理を終了する。例えば図10(B)のように、仮移動の位置のオブジェクト領域OA1の文字が第1直線領域Aaに重ならない場合に、オブジェクト領域OA1は、仮移動の位置に移動され、移動したオブジェクト領域OA1を表す調整済画像IMcmを表す調整済画像データが、生成される。以上により、文字が折り目に重なって読みにくくなることを抑制できる。なお、調整済画像データは、例えば、対象データを修正することによって、生成される。
図9のS520で条件C1、C2の少なくとも1つが満たされない場合(S520:No)、S530で、プロセッサ110は、対象オブジェクト領域の仮移動の位置を、元の位置から、S510で用いた第1方向に反対の第2方向に向かって移動量Amだけ移動した位置に、決定する。そして、S540では、プロセッサ110は、仮移動の位置の対象オブジェクト領域が、上述した条件C1、C2を満たすか否かを判定する。条件C1、C2が満たされる場合(S540:Yes)、S570で、プロセッサ110は、仮移動の位置に対象オブジェクト領域が移動した画像である調整済画像を表す画像データを生成し、図9の処理を終了する。
S540で条件C1、C2の少なくとも1つが満たされない場合(S540:No)、S550で、プロセッサ110は、移動量Amを、より大きな値に更新する。本実施例では、移動量Amに1が加算される。S560では、プロセッサ110は、移動量Amが、予め決められた上限量Amth未満であるか否かを判定する。上限量Amthは、オブジェクト領域を移動させる場合の最大の移動量である。上限量Amthは、オブジェクト領域の移動に起因して画像全体の外観が過度に損なわれないように、予め決定される。
移動量Amが上限量Amth未満である場合(S560:Yes)、プロセッサ110は、S510に移行し、更新された移動量Amを用いた処理を実行する。そして、条件C1、C2が満たされる、または、移動量Amが上限量Amth以上となるまで、移動量Amの更新と更新済みの移動量Amを用いた処理とが、繰り返される。移動量Amが上限量Amth以上となった場合(S560:No)、プロセッサ110は、対象オブジェクト領域を移動させずに、図9の処理を終了する。以上により、文字オブジェクトの調整処理、すなわち、図2のS150が終了する。
図2のS160では、プロセッサ110は、非文字オブジェクト領域の調整処理を実行する。図11は、非文字オブジェクト領域の調整処理の例を示すフローチャートである。この調整処理では、非文字オブジェクト領域は、直線領域と重ならない位置に、移動される。直線領域のセットとしては、広直線領域のセットが用いられる。また、直線領域と重ならない位置に移動するための移動量が上限量を超える場合、非文字オブジェクト領域内の画像に応じて、位置が調整される(S670)。なお、図11の調整処理は、1つの非文字オブジェクト領域の処理を示している。元画像に複数の非文字オブジェクト領域が含まれる場合には、非文字オブジェクト領域毎に、図11の処理が実行される。以下、処理対象のオブジェクト領域を、単に、対象オブジェクト領域とも呼ぶ。また、図11では図示を省略するが、非文字オブジェクト領域が直線領域に重なっていない場合、プロセッサ110は、その非文字オブジェクト領域を、移動させない(調整処理はキャンセルされる)。
図7(A)、図7(B)には、非文字オブジェクト領域の調整の例が示されている。図7(A)の例では、第2オブジェクト領域OA2は、第1直線領域Aaに重なっている。以下、この第2オブジェクト領域OA2を対象オブジェクト領域の例として用いて、説明を行う。
図11のS600では、プロセッサ110は、対象オブジェクト領域を直線領域に重ならない位置に直線領域の延びる方向に垂直な方向に移動させる場合の最短移動量Li、Lj(図7(A))を特定する。第1最短移動量Liは、直線領域の延びる方向に垂直な第1方向Diにオブジェクト領域OA2を移動させる場合の最短移動量である。第2最短移動量Ljは、第1方向Diとは反対の第2方向Djにオブジェクト領域OA2を移動させる場合の最短移動量である。プロセッサ110は、特定した最短移動量Li、Ljのうち、小さい方の移動量を、第1候補移動量Lpとして選択し、大きい方の移動量を、第2候補移動量Lqとして選択する。例えば、図7(A)の例では、比較的小さい第2最短移動量Ljが、第1候補移動量Lpとして選択され、比較的大きい第1最短移動量Liが、第2候補移動量Lqとして選択される。
図11のS610では、プロセッサ110は、第1候補移動量Lpが上限量Lth未満であるか否かを判定する。上限量Lthは、オブジェクト領域を移動させる場合の最大の移動量である。上限量Lthは、オブジェクト領域の移動に起因して画像全体の外観が過度に損なわれないように、予め決定される。なお、上限量Lthは、図9のS560で用いられた上限量Amthと同じである。ただし、上限量Lthが、上限量Amthと異なっていてもよい。
第1候補移動量Lpが上限量Lth以上である場合(S610:No)、S670で、プロセッサ110は、対象オブジェクト領域内の画像の特徴に基づく調整処理を実行し、そして、図11の処理を終了する。S670の詳細については、後述する。
第1候補移動量Lpが上限量Lth未満である場合(S610:Yes)、S620で、プロセッサ110は、対象オブジェクト領域の仮移動の位置を、第1候補移動量Lpに対応付けられた方向に向かって元の位置から第1候補移動量Lpだけ移動した位置に、決定する。第1最短移動量Li(図7(A))には、第1方向Diが対応付けられ、第2最短移動量Ljには、第2方向Djが対応付けられている。
図11のS630では、プロセッサ110は、仮移動の位置の対象オブジェクト領域が、他のオブジェクト領域に重ならないという条件C1が満たされるか否かを判定する。この条件C1は、図9のS520の条件C1と同じである。対象オブジェクト領域が他のオブジェクト領域に重ならない場合(S630:Yes)、S680で、プロセッサ110は、仮移動の位置に対象オブジェクト領域が移動した画像である調整済画像を表す画像データを生成し、図11の処理を終了する。
図7(B)は、仮移動の位置に移動したオブジェクト領域OA2の例を示している。この例では、オブジェクト領域OA2は、元の位置(図7(A))から、第2方向Djに向かって、第2最短移動量Ljだけ移動している。移動済のオブジェクト領域OA2は、第1直線領域Aaに重なっていない。図11のS680では、移動したオブジェクト領域OA2を表す調整済画像IMbmを表す調整済画像データが、生成される。この場合、オブジェクト領域OA2の美感が折り目によって損なわれることを抑制できる。
図11のS630において条件C1が満たされない場合(S630:No)、S640で、プロセッサ110は、第2候補移動量Lqが上限量Lth未満であるか否かを判定する。第2候補移動量Lqが上限量Lth以上である場合(S640:No)、S670で、プロセッサ110は、対象オブジェクト領域内の画像の特徴に基づく調整処理を実行し、そして、図11の処理を終了する(詳細は後述)。
第2候補移動量Lqが上限量Lth未満である場合(S640:Yes)、S650で、プロセッサ110は、対象オブジェクト領域の仮移動の位置を、第2候補移動量Lqに対応付けられた方向に向かって元の位置から第2候補移動量Lqだけ移動した位置に、決定する。
S660では、プロセッサ110は、仮移動の位置の対象オブジェクト領域が、他のオブジェクト領域に重ならないという条件C1が満たされるか否かを判定する。対象オブジェクト領域が他のオブジェクト領域に重ならない場合(S660:Yes)、S680で、プロセッサ110は、仮移動の位置に移動した対象オブジェクト領域を表す調整済画像を表す調整済画像データを生成し、図11の処理を終了する。
S660において条件が満たされない場合(S660:No)、S670で、プロセッサ110は、対象オブジェクト領域内の画像の特徴に基づく調整処理を実行し、そして、図11の処理を終了する。
図12は、図11のS670の処理、すなわち、対象オブジェクト領域内の画像の特徴に基づく調整処理の例を示すフローチャートである。図13は、画像の特徴に基づく調整処理の例を示す説明図である。図13(A)には、元画像IMdが示されている。元画像IMdは、非文字のオブジェクトOB2を含んでいる。図12の処理では、狭直線領域が用いられる。図13(A)の例では、図7(A)の狭い第1直線領域Aaxと同様に、元画像IMdを2つの部分領域に区分する第1直線領域Aaxが、決定されている。
図13(A)には、オブジェクト領域OA2のうちの第1直線領域Aaxからの距離が上限距離Lr以下である許容範囲Rmが示されている。図12の処理では、第1直線領域Aaxが許容範囲Rm内に位置する範囲内で、オブジェクト領域OA2の第1直線領域Aaxに垂直な方向(例えば、第1方向Di)の位置が調整される。上限距離Lrは、オブジェクト領域を移動させる場合の最大の移動量を表している。上限距離Lrは、オブジェクト領域の移動に起因して画像全体の外観が過度に損なわれないように、予め決定される。なお、上限距離Lrは、図9のS560で用いられた上限量Amthと同じである。ただし、上限量Lthが、上限量Amthと異なっていてもよい。以下、元画像IMd(図13(A))においてオブジェクト領域OA2のうちの第1直線領域Aaxに重なる第1方向Diの画素位置を、元位置Psと呼ぶ。許容範囲Rmは、元位置Psを中心とし、上限距離Lrの2倍の幅を有する範囲である。
図13(B)には、仮移動の位置に配置されたオブジェクト領域OA2が示されている。仮移動の位置は、第1直線領域Aaxに垂直な第1方向Diの位置が調整された位置である。仮移動の位置のオブジェクト領域OA2のうちの第1直線領域Aaxに重なる第1方向Diの画素位置を、第1位置Ptと呼び、第1位置Ptの第1方向Di側の隣の画素位置を、第2位置Puと呼ぶ。仮移動の位置は、第1位置Ptによって特定される。
図12のS700では、プロセッサ110は、第1位置Ptを、「Ps−Lr」に初期化する。すなわち、第1位置Ptは、許容範囲Rm(図13(A))の第2方向Dj側の端Ssの位置に、初期化される。後述するように、第1位置Ptは、この端Ssの位置から、許容範囲Rmの第1方向Di側の端Stの位置まで、1画素ずつ更新される。
図12のS710では、プロセッサ110は、最大指標値Dmaxを、ゼロに初期化する。最大指標値Dmaxは、後述する指標値Dtの最大値を示すように更新される。
S720では、プロセッサ110は、第1位置Ptが、「Ps+Lr」以上であるか否かを判定する。第1位置Ptが「Ps+Lr」であることは、第1位置Ptが、許容範囲Rm(図13(A))の第1方向Di側の端Stの位置と同じであること、すなわち、許容範囲Rm内の全ての第1位置Ptの処理が完了したことを示している。S720の判定結果がYesである場合、プロセッサ110は、S760に移行する。S760以降の処理については、後述する。
S720の判定結果がNoである場合、S730で、プロセッサ110は、指標値Dtを算出し、算出した指標値Dtが、最大指標値Dmaxよりも大きいか否かを判定する。図13(C)は、指標値Dtの説明図である。図中には、オブジェクト領域OA2の複数の画素のうち、第1位置Ptの画素ラインの複数の画素と、隣の第2位置Puの画素ラインの複数の画素と、が示されている。値nは、各画素ラインの画素数を示している。各画素ラインの複数の画素を、画素の並び順に1から始まる整数の番号で識別することとする。第1位置Ptの画素ラインのk番の画素を画素Pt(k)とも呼び、第2位置Puの画素ラインのk番の画素を画素Pu(k)とも呼ぶ。2本の画素ラインの同じ番号k(1≦k≦n)の2つの画素Pt(k)、Pu(k)は、互いに隣接している。以下、同じ番号kで特定される画素Pt(k)、Pu(k)のペアを、隣接ペアPt(k)、Pu(k)と呼ぶ。
指標値Dtは、2つの位置Pt、Puで特定される2本の画素ラインにおける色の差が大きい隣接ペアの数を表している。指標値Dtが大きいほど、色の差が大きい隣接ペアの数が多い。本実施例では、指標値Dtは、隣接ペアPt(k)、Pu(k)から算出される画素指標値Dsを、1からnまでの全ての番号kについて足し合わせて得られる値である。画素指標値Dsは、2個の画素Pt(k)、Pu(k)のそれぞれの色値V(Pt(k))、V(Pu(k))の差分の絶対値が、予め決められた閾値Dth以下である場合には、ゼロである。差分の絶対値が閾値Dthよりも大きい場合には、画素指標値Dsは、1である。色値Vとしては、種々の色成分の階調値を採用可能である。例えば、緑Gの階調値、または、RGBの階調値から算出される輝度値を、色値Vとして用いてもよい。1つの色値Vに代えて、複数の色成分の複数の差分を用いて、画素指標値Dsを決定してもよい。例えば、赤Rと緑Gと青Bとの3つの差分のうち、少なくとも1つの差分が閾値Dthを超えている場合に、画素指標値Dsが1であり、3個の差分の全てが閾値Dth以下である場合に、画素指標値Dsがゼロであってもよい。一般的には、画素指標値Dsとしては、2個の画素Pt(k)、Pu(k)の間の色の差が大きい場合に大きくなるような、種々の値を採用可能である。
図13(A)のオブジェクトOB2は、地面を表す地面領域Ogと、地面領域Ogの輪郭線Ogoに接するように描かれた自動車Ocと、を表すイラストである。ここで、地面領域Ogは、色が均一な領域であり、地面領域Ogの輪郭線Ogoは、第1直線領域Aaxにおおよそ平行な直線で表されていることとする。指標値Dtは、オブジェクトOB2のうちの第1位置Ptと重なる部分に応じて、変化する。例えば、第1位置Ptが地面領域Ogと重なる場合、指標値Dtは、小さくなる。第1位置Ptが自動車Ocと重なる場合、指標値Dtは、大きくなる。第1位置Ptが、地面領域Ogの輪郭線Ogoに重なる場合、指標値Dtは、最も大きくなる。
図12のS730で、指標値Dtが最大指標値Dmaxよりも大きい場合(S730:Yes)、S740で、プロセッサ110は、最大指標値Dmaxを、現行の指標値Dtに更新し、最大位置Ppを、現行の第1位置Ptに更新する。そして、プロセッサ110は、S750へ移行する。
指標値Dtが最大指標値Dmax以下である場合(S730:No)、プロセッサ110は、S740をスキップして、S750へ移行する。
S750では、プロセッサ110は、第1位置Ptに1を加算して、第1位置Ptを更新する。そして、プロセッサ110は、S720へ移行して、更新された第1位置Ptの処理を実行する。
許容範囲Rm内の全ての第1位置Ptの処理が終了した場合(S720:Yes)、S760で、プロセッサ110は、仮移動の位置を、最大位置Ppに決定する。S770では、プロセッサ110は、仮移動の位置の対象オブジェクト領域が、他のオブジェクト領域に重ならないという条件C1が満たされるか否かを判定する。この条件は、図9のS520の条件C1と同じである。対象オブジェクト領域が他のオブジェクト領域に重ならない場合(S770:Yes)、S780で、プロセッサ110は、仮移動の位置に対象オブジェクト領域が移動した画像である調整済画像を表す調整済画像データを生成し、図12の処理を終了する。
図13(D)は、仮移動の位置に移動したオブジェクト領域OA2の例を示している。この例では、オブジェクト領域OA2は、第1直線領域Aaxが地面領域Ogの輪郭線Ogoに重なる位置に、移動している。これにより、オブジェクト領域OA2内において、シートの折り目が目立つことを、抑制できる。図12のS780では、移動したオブジェクト領域OA2を表す調整済画像IMdmを表す調整済画像データが、生成される。
S770において条件C1が満たされない場合(S770:No)、プロセッサ110は、S780をスキップして、図12の処理を終了する。この場合、対象オブジェクト領域の位置は、調整されない。
以上により、図12の処理、すなわち、図11のS670の処理が終了する。そして、図11の処理、すなわち、図2のS160が終了する。以上説明したS150、S160の処理を通じて、プロセッサ110は、オブジェクト領域の位置が調整された調整済画像を表す調整済画像データを生成する。
図2のS170では、プロセッサ110は、調整済の画像を、表示部140(図1)に表示させる。S180では、ユーザは、印刷用の画像として、調整済の画像と、元画像との、いずれかを選択し、操作部150を介して、選択結果を入力する。プロセッサ110は、操作部150を介して、選択結果を取得する。
S190では、プロセッサ110は、調整済画像が選択されたか否かを判定する。元画像が選択された場合(S190:No)、プロセッサ110は、S210に移行して、元画像を印刷するための上述した処理(S210、S220、S230)を実行し、図2の処理を終了する。
調整済の画像が選択された場合(S190:Yes)、S200で、プロセッサ110は、調整済の画像を表す印刷データを生成する。本実施例では、S150、S160を通じて生成された調整済画像データに対して、S210の処理と同様の処理(ここでは、データ形成処理)を行うことにより、調整済画像を表す印刷データが生成される。
S220では、プロセッサ110は、S200で生成された印刷データを、プリンタ210へ送信する。S230では、プリンタ210は、受信した印刷データに従って、画像をシートに印刷する。これにより、図2の印刷処理が終了する。
以上、オブジェクト領域の位置を調整する調整処理を、第1直線Laに対応する第1直線領域Aa、Aaxが決定された場合を例として用いて、説明した。図3(B)、図3(C)の例のように、複数の直線に対応する複数の直線領域が決定された場合にも、同様に、対象オブジェクト領域の位置が調整される。図3(C)の例のように、互いに異なる方向に延びる複数の直線領域が決定された場合には、各直線領域に垂直な複数の方向のそれぞれの移動量が決定される。例えば、図9の調整処理では、広直線領域のセットを構成する全ての直線領域を用いて算出されたオブジェクト画素割合Roを用いてよい。また、図11の調整処理では、例えば、広直線領域のセットを構成する全ての直線領域と重ならない位置へ移動するための最短移動量を用いてよい。また、図12の調整処理では、狭直線領域のセットを構成する全ての狭直線領域を用いて算出された指標値Dtを用いてよい。
以上のように、図6と図8のそれぞれの決定処理では、非オブジェクト画素が配置されるべき直線領域が、デフォルトサイズとユーザによって指定された指定サイズとに応じて決定される。そして、図9、図10の調整処理と、図11、図7の調整処理とでは、1組の直線領域セット(ここでは、広直線領域のセット)のN個(Nは1以上の整数)の直線領域内に配置されているオブジェクト画素の総数が減少するように、オブジェクトが移動される。従って、画像を、ユーザによって指定される印刷の設定に基づいて、適切に調整できる。例えば、オブジェクトの途中でシートが折り曲げられることを、抑制できる。なお、図7のオブジェクト領域OA2のように非文字のオブジェクト領域に関しては、オブジェクト領域内の全ての画素を、オブジェクトを表すオブジェクト画素として扱うことができる。
また、図6と図8のそれぞれの決定処理では、隣の画素との色の差が所定の閾値Dth(図13(C))よりも大きいことを示す条件を満たす第1種画素(ここでは、画素指標値Dsが1である画素Pt(k))が配置されるべき直線領域が、デフォルトサイズとユーザによって指定された指定サイズとに応じて決定される。そして、図12の調整処理では、1組の直線領域セット(ここでは、狭直線領域のセット)のN個(Nは1以上の整数)の直線領域内に配置されている、第2種画素の総数が減少するように、オブジェクトが移動される。ここで、第2種画素は、隣の画素との色の差が所定の閾値Dth(図13(C))よりも大きいことを示す条件を満たさない画素(ここでは、画素指標値Dsがゼロである画素Pt(k))である。従って、画像を、ユーザによって指定される印刷の設定に基づいて、適切に調整できる。例えば、オブジェクトのうちの色が均一な部分でシートが折り曲げられることを抑制できる。
また、図4のS310で説明したように、指定サイズがデフォルトサイズより大きいことを含む条件が満たされる場合に、直線領域が決定され、オブジェクトの位置が調整される。従って、指定サイズのシートが折り畳まれる可能性が高い場合に、オブジェクトの位置を調整できる。また、指定サイズがデフォルトサイズ以下である場合、すなわち、指定サイズのシートが折り畳まれる可能性が低い場合に、意図せずにオブジェクトの位置が調整されることを、抑制できる。
また、図6のS410は、指定サイズがデフォルトサイズの2倍以下である場合に(S400:Yes)、実行される。従って、S410で用いられる第1直線(例えば、図3(A)の第1折線L1)は、指定サイズのシートをデフォルトサイズ以下の2つの部分領域に区分する直線である。また、図8のS410、S415は、指定サイズがデフォルトサイズの2倍以下である場合に(S400:Yes)、実行される。従って、S410、S415で用いられる第1直線(例えば、図3(A)、図3(B)の第1折線L1)は、指定サイズのシートをデフォルトサイズ以下の2つの部分領域に区分する直線である。従って、図6の決定処理(S410)と、図8の決定処理(S410、S415、S420)では、指定サイズのシートをデフォルトサイズ以下の複数の部分領域に区分するN個の直線に対応するN個の直線領域で構成される2組の直線領域セットが決定される。従って、指定サイズのシートをデフォルトサイズ以下のサイズに折り畳む場合に、直線領域に配置されるべき画素とは異なる画素が、折り目に重なることを抑制できる。なお、直線領域に配置されるべき画素は、例えば、非オブジェクト画素、または、隣の画素との色の差が所定の閾値Dth(図13(C))よりも大きい画素である。
また、図8のS405で説明したように、指定印刷方式が片面印刷方式である場合(S405:Yes)、S410で、元画像を2つの部分領域に区分する第1直線を含む直線領域が決定される。また、指定印刷方式が両面印刷方式である場合(S405:No)、S415で、元画像を2つの部分領域に区分する第1直線を含む第1直線領域と、2つの部分領域のうちの一方の部分領域を第1直線に平行に更に2つの部分領域に区分する第2直線を含む第2直線領域と、が決定される。従って、片面印刷方式と両面印刷方式とのそれぞれにおいて、直線領域に配置されるべき画素とは異なる画素が、折り目に重なることを抑制できる。
また、図4のS320で説明したように、元画像の種類がポスターであると判定された場合(S320:Yes)、S330で第1決定処理が実行され、元画像の種類がポスターではないと判定された場合(S320:No)、S340で、第1決定処理とは決定方法が異なる第2決定処理が実行される。図6で説明したように、第1決定処理では、指定印刷方式が片面印刷方式と両面印刷方式とのいずれであっても、S410で、元画像を2つの部分領域に区分する第1直線を含む直線領域が決定される。また、図8で説明したように、第2決定処理では、指定印刷方式に応じて、直線領域が決定される。これらの結果、元画像の種類と指定印刷方式とに適した直線領域を決定できる。
また、図6のS400で説明したように、第1決定処理では、指定サイズがデフォルトサイズの2倍以下である場合(S400:Yes)、直線領域が決定され、指定サイズがデフォルトサイズの2倍より大きい場合(S400:No)、直線領域は決定されない。また、図4のS300と、図8のS400とを考慮すると、図8の第2決定処理のS420による直線領域の決定は、指定サイズがデフォルトの2倍よりも大きい場合に(但し、指定サイズはデフォルトサイズに対応付けられた閾サイズ以下)、実行される。ここで、閾サイズが、デフォルトサイズのU倍であるとすると、Uは、2よりも大きい値である。そして、指定サイズがデフォルトサイズのU倍よりも大きい場合(すなわち、指定サイズが閾サイズよりも大きい場合)、図4のS300の判定結果がYesであるので、直線領域は決定されない。そして、図2のS145で説明したように、直線領域が決定されない場合(S145:No)、プロセッサ110は、元画像を表す対象データを用いて、プリンタ210に、元画像を印刷させる(S210、S220、S230)。以上により、指定サイズがデフォルトサイズと比べて大幅に大きい場合には、元画像が意図せず調整されることを抑制できる。
また、図1と図2のS220とで説明したように、プロセッサ110は、調整済画像データを、データ処理装置100の外部の装置であるプリンタ210に送信する。従って、データ処理装置100に印刷実行部が設けられていない場合であっても、プロセッサ110は、プリンタ210に調整済の画像を適切に印刷させることができる。
また図7(A)等で説明したように、直線領域(例えば、第1直線領域Aa、Aax)は、一定の幅の帯状の領域である。従って、一定幅の直線領域に従って、画像を適切に調整できる。ここで、幅は、1画素分の幅であってもよく、E画素分の幅(Eは2以上の整数)であってもよい。E画素分の幅を有する直線領域が位置の調整処理に用いられる場合には、印刷済のシートの実際の折線の位置がずれた場合であっても、オブジェクト領域が折線に重なることを抑制できる。また、オブジェクトのうちの色が均一な部分が折線に重なることを抑制できる。
B.変形例:
(1)直線領域としては、上記の実施例の直線領域に代えて、他の種々の領域を採用可能である。例えば、図6、図8のS410、図8のS415で決定される第1直線は、指定サイズのシートを、x:1−x(xは、ゼロ以上、0.5未満)の比率で2つの部分領域に区分する直線に対応していてもよい。一般的には、直線領域としては、元画像を2つの部分領域に区分する元画像の特定の縁から反対側の縁まで延びる種々の直線形状の領域を採用可能である。なお、直線形状の領域とは、少なくとも、元画像の特定の縁から反対側の縁まで延びる連続する複数の画素が、1本の直線を表現するように配置されるべき領域を含む領域である。また、図9の調整処理で、狭直線領域が用いられてもよい。また、図11の調整処理で、狭直線領域が用いられてもよい。また、図9の調整処理で用いられる直線領域の幅が、図11の調整処理で用いられる直線領域の幅と、異なっていてもよい。この場合、図9の調整処理のための直線領域のセットと、図11の調整処理のための直線領域のセットとが、決定され得る。いずれの場合も、1ページの画像が文字のオブジェクトと非文字のオブジェクトとを含む場合、図2のS150、S160のそれぞれの調整処理が実行される。例えば、図9、図10で説明した文字オブジェクト領域の調整処理と、図11〜図13で説明した非文字オブジェクト領域の調整処理とが、1ページの画像のための処理で、実行され得る。この場合、各調整処理のための直線領域のセット(例えば、図10の処理で用いられる直線領域のセットと、図13の処理で用いられる直線領域のセット)が、1ページの画像のための処理で決定され得る。そして、直線領域の各セットを利用して、オブジェクト領域の調整処理(例えば、移動と後述する縮小との少なくとも一方を含む処理)が行われる。また、調整処理に拘わらずに、直線領域の幅が同じ(例えば、1画素分の幅)であってよい。この場合、常に、1組の直線領域のセットが決定される。
(1)直線領域としては、上記の実施例の直線領域に代えて、他の種々の領域を採用可能である。例えば、図6、図8のS410、図8のS415で決定される第1直線は、指定サイズのシートを、x:1−x(xは、ゼロ以上、0.5未満)の比率で2つの部分領域に区分する直線に対応していてもよい。一般的には、直線領域としては、元画像を2つの部分領域に区分する元画像の特定の縁から反対側の縁まで延びる種々の直線形状の領域を採用可能である。なお、直線形状の領域とは、少なくとも、元画像の特定の縁から反対側の縁まで延びる連続する複数の画素が、1本の直線を表現するように配置されるべき領域を含む領域である。また、図9の調整処理で、狭直線領域が用いられてもよい。また、図11の調整処理で、狭直線領域が用いられてもよい。また、図9の調整処理で用いられる直線領域の幅が、図11の調整処理で用いられる直線領域の幅と、異なっていてもよい。この場合、図9の調整処理のための直線領域のセットと、図11の調整処理のための直線領域のセットとが、決定され得る。いずれの場合も、1ページの画像が文字のオブジェクトと非文字のオブジェクトとを含む場合、図2のS150、S160のそれぞれの調整処理が実行される。例えば、図9、図10で説明した文字オブジェクト領域の調整処理と、図11〜図13で説明した非文字オブジェクト領域の調整処理とが、1ページの画像のための処理で、実行され得る。この場合、各調整処理のための直線領域のセット(例えば、図10の処理で用いられる直線領域のセットと、図13の処理で用いられる直線領域のセット)が、1ページの画像のための処理で決定され得る。そして、直線領域の各セットを利用して、オブジェクト領域の調整処理(例えば、移動と後述する縮小との少なくとも一方を含む処理)が行われる。また、調整処理に拘わらずに、直線領域の幅が同じ(例えば、1画素分の幅)であってよい。この場合、常に、1組の直線領域のセットが決定される。
(2)直線領域を決定する処理としては、上記の処理に代えて、他の種々の処理を採用可能である。例えば、図2のS140では、直線領域の基準となる基準直線を決定し、調整処理(S150、S160)において、基準直線を用いて、調整処理に対応付けられた幅の直線領域を決定してもよい。この場合、広直線領域のセットと、狭直線領域のセットと、のうちの一方のみが決定される場合がある。
(3)図3(A)〜図3(E)には、カギ括弧で囲まれたデフォルトサイズ(左)と指定サイズ(右)との組み合わせの例が示されている。上記の実施例では、デフォルトサイズと指定サイズとの以下のような組み合わせに対して、以下の折り方に対応する直線領域が決定される。図3(A)の[A4、A3]、[A4、B4]のように、指定サイズがデフォルトサイズの2倍以上4倍未満である場合(図6、図8:S400:Yes)、図3(A)の折り方に対応する直線領域が決定される。ここで、指定印刷方式が両面印刷方式である場合(S405:No)、図3(A)の折り方に代えて、図3(B)の折り方に対応する直線領域が決定される。また、図3(C)の[A5、A3]のように指定サイズがデフォルトサイズの4倍である場合(図8:S400:No)、図3(C)の折り方に対応する直線領域が決定される。
また、図3(D)に示すように、デフォルトサイズがレターサイズであり、指定サイズがA4サイズである場合、これらのサイズの間で面積はおおよそ同じである。しかし、レターサイズのシートSH2にA4サイズのシートSH1を重ねると、A4サイズのシートSH1の一部は、レターサイズのシートSH2の外にはみ出る。この場合、はみ出る部分の面積が小さいので、直線領域の決定がキャンセルされてもよい。また、レターサイズからはみ出ないようにA4のシートSH1を二つ折りにすることを想定して、直線領域が決定されてもよい。
また、図3(E)に示すように、デフォルトサイズがレターサイズであり、指定サイズがA3サイズである場合、A3サイズを二つ折りにして得られるA4サイズをレターサイズのシートに重ねると、A4サイズの一部が、レターサイズの外にはみ出る。ここで、はみ出る部分の面積が小さいので、A3サイズを二つ折りにすることを想定して、直線領域が決定されてよい。これに代えて、A3サイズのシートを、レターサイズからはみ出ないような小さいサイズ(例えば、A5サイズ)に折り畳むことを想定して、直線領域が決定されてもよい。
一般的には、指定サイズがデフォルトサイズよりも小さい場合であっても、指定サイズのシートをデフォルトサイズのシートに重ねると指定サイズのシートの一部がデフォルトサイズのシートの外にはみ出る場合がある。このような場合には、指定サイズのシートがデフォルトサイズのシートからはみ出ないように、指定サイズのシートを折り畳むことを想定して、直線領域が決定されてもよい。
また、直線領域を決定するための条件としては、上記のような条件に代えて、他の種々の条件を採用可能である。例えば、図4のS300が省略されてもよい。また、図4のS320が省略されてもよい。この場合、元画像の種類に拘わらずに、第1決定処理が実行されてよい。また、元画像の種類に拘わらずに、第2決定処理が実行されてよい。
また、図8のS400、S420が省略されてもよい。この場合、図3(A)、図3(B)のいずれかの折り方を想定して、直線領域が決定されてよい。また、プリンタ210(図1)が、両面印刷方式に対応していなくてもよい。この場合、図8のS405、S415が省略されてよい。
また、図8のS400、S420が省略されてもよい。この場合、図3(A)、図3(B)のいずれかの折り方を想定して、直線領域が決定されてよい。また、プリンタ210(図1)が、両面印刷方式に対応していなくてもよい。この場合、図8のS405、S415が省略されてよい。
(4)オブジェクト領域の位置を調整する調整処理としては、上記の調整処理に代えて、他の種々の処理を採用可能である。例えば、オブジェクト領域の種類に拘わらずに、図11の処理が実行されてもよい。また、図11の処理のうちS670以外の処理を省略してもよい。調整処理として、図11の処理を省略して、図12の処理を採用してもよい。
(5)オブジェクトを調整する処理は、オブジェクト領域を移動させる処理に代えて、オブジェクト領域を縮小させる処理であってもよい。例えば、オブジェクト領域の重心の位置を変えずに、直線領域に配置されているオブジェクト画素の総数が減少するように、オブジェクト領域を縮小してもよい。また、直線領域に配置されている第2種画素の総数が減少するように、オブジェクト領域を縮小してもよい。なお、第2種画素は、隣の画素との色の差が所定の閾値Dth(図13(C))よりも大きいことを示す条件を満たさない画素(ここでは、画素指標値Dsがゼロである画素Pt(k))である。いずれの場合も、縮小後のオブジェクト領域の大きさは、大きいことが好ましい。元のオブジェクト領域の大きさに対する縮小後のオブジェクト領域の大きさの割合(例えば、長さの割合。以下、倍率と呼ぶ)は、例えば、図9のS520で説明したオブジェクト画素割合Roが閾値Rth以下であるという条件下での最大の倍率であってよい。また、倍率は、オブジェクト領域が直線領域に重ならないという条件下での最大の倍率であってよい。また、オブジェクト領域の移動と縮小との両方を行ってもよい。一般的には、オブジェクト領域の移動と縮小との少なくとも一方を含む処理を実行することが好ましい。
(6)対象データは、複数ページの画像を表してもよい。ここで、指定印刷方式が片面印刷方式である場合、ページ毎に、直線領域の決定処理とオブジェクトの調整処理とを実行すればよい。また、指定印刷方式が両面印刷方式である場合、1つのシートの裏面に印刷される画像に関しては、同じシートの表面の画像に応じて決定された直線領域に従って、オブジェクトの調整処理を実行することが好ましい。
(7)対象データの色空間は、RGB色空間に代えて、他の任意の色空間であってよい。例えば、YCbCr色空間やCMYK色空間を採用してよい。
(8)プリンタ210に供給される印刷データは、RGBのビットマップデータに印刷コマンドを付加して得られるデータに代えて、プリンタ210が解釈可能な他の任意の形式のデータであってよい。例えば、以下の処理で生成されるデータを、印刷データとして用いてもよい。すなわち、対象データまたは調整済画像データに対して、色変換処理が実行される。色変換処理は、RGB値を、複数の印材の色(例えば、C(シアン)、M(マゼンタ)、Y(イエロ)、K(ブラック))に対応する複数の色成分のそれぞれの階調値を含む色値(例えば、CMYK値)に変換する処理である。そして、色変換処理後の画像データに対して、誤差拡散法やディザ法などを用いたハーフトーン処理が実行される。そして、ハーフトーン処理後の画像データを印刷に用いられる順序で並び替えて、印刷コマンドなどの制御データを付加するデータ形成処理が実行されて、印刷データが生成される。
(9)印刷処理の手順は、図2に示す手順に代えて、他の種々の手順であってよい。例えば、図2のS105では、ユーザは、直線領域を用いるオブジェクト領域の調整処理を行うか否かを選択する指示を入力してもよい(例えば、設定画面のチェックボックスを用いて、指示が入力される)。オブジェクト領域の調整処理を行わないことが選択された場合、プロセッサ110は、S110からS210へ移行して、直線領域を決定せずに、元画像をプリンタ210に印刷させてよい。
(10)図1の画像処理装置100は、パーソナルコンピュータとは異なる種類の装置であってもよい(例えば、デジタルカメラ、スキャナ、スマートフォン)。画像処理装置100は、印刷実行部を備える印刷装置(例えば、複合機)の一部であってもよい。また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、画像処理装置100による画像処理の機能を一部ずつ分担して、全体として、画像処理装置100の機能を提供してもよい(これらの装置を備えるシステムが画像処理装置に対応する)。
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図6と図8の決定処理の機能を、専用のハードウェア回路によって実現してもよい。
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD−ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
100...データ処理装置、110...プロセッサ、120...揮発性記憶装置、130...不揮発性記憶装置、132...プログラム、140...表示部、150...操作部、190...インタフェース、210...プリンタ、T...閾サイズデータ
Claims (12)
- 画像処理のためのコンピュータプログラムであって、
印刷に用いられるシートのデフォルトのサイズであるデフォルトサイズを特定する第1特定機能と、
オブジェクトを含む元画像を表す第1画像データを取得する取得機能と、
画像を印刷実行部によって印刷するためにシートの複数のサイズの中から指定されたサイズである指定サイズを特定する第2特定機能と、
前記デフォルトサイズと前記指定サイズとを特定後に、前記デフォルトサイズと前記指定サイズとを用いて、前記オブジェクトを表す複数のオブジェクト画素と、前記オブジェクトを表さない複数の非オブジェクト画素と、のうち、少なくとも前記非オブジェクト画素が配置されるべき領域であるN個(Nは1以上の整数)の直線領域を決定する決定機能であって、前記N個の直線領域のそれぞれは、少なくとも、前記元画像を2つの部分領域に区分する前記元画像の特定の縁から反対側の縁まで延びる直線形状の領域である、前記決定機能と、
前記直線領域の決定後に、前記N個の直線領域内に配置されている前記オブジェクト画素の総数が減少するように、前記元画像に含まれる前記オブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、前記元画像を調整する調整機能と、
調整済の画像を表す第2画像データを用いて、前記印刷実行部に前記調整済の画像を印刷させる印刷制御機能と、
をコンピュータに実現させるコンピュータプログラム。 - 画像処理のためのコンピュータプログラムであって、
印刷に用いられるシートのデフォルトのサイズであるデフォルトサイズを特定する第1特定機能と、
オブジェクトを含む元画像を表す第1画像データを取得する取得機能と、
画像を印刷実行部によって印刷するためにシートの複数のサイズの中から指定されたサイズである指定サイズを特定する第2特定機能と、
前記デフォルトサイズと前記指定サイズとを特定後に、前記デフォルトサイズと前記指定サイズとを用いて、隣の画素との色の差が所定の閾値よりも大きいことを示す条件を満たす画素である複数の第1種画素と、前記条件を満たさない画素である複数の第2種画素と、のうち、少なくとも前記第1種画素が配置されるべき領域であるN個(Nは1以上の整数)の直線領域を決定する決定機能であって、前記N個の直線領域のそれぞれは、少なくとも、前記元画像を2つの部分領域に区分する前記元画像の特定の縁から反対側の縁まで延びる直線形状の領域である、前記決定機能と、
前記直線領域の決定後に、前記N個の直線領域内に配置されている前記第2種画素の総数が減少するように、前記元画像に含まれる前記オブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、前記元画像を調整する調整機能と、
調整済の画像を表す第2画像データを用いて、前記印刷実行部に前記調整済の画像を印刷させる印刷制御機能と、
をコンピュータに実現させるコンピュータプログラム。 - 請求項1または2に記載のコンピュータプログラムであって、
前記調整機能は、前記指定サイズが前記デフォルトサイズよりも大きいことを含む条件が満たされる場合に、前記元画像を調整する、コンピュータプログラム。 - 請求項1から3のいずれかに記載のコンピュータプログラムであって、
前記決定機能は、前記指定サイズのシートを前記デフォルトサイズ以下の複数の部分領域に区分するN個の直線をそれぞれ含む前記N個の直線領域を決定する機能を含む、
コンピュータプログラム。 - 請求項1から4のいずれかに記載のコンピュータプログラムであって、
前記決定機能は、
前記印刷実行部による印刷のために指定された印刷方式が、片面印刷方式である場合には、前記N個の直線領域を、前記元画像を2つの部分領域に区分する第1直線を含む第1領域に決定し、
前記印刷方式が両面印刷方式である場合には、前記N個の直線領域を、前記第1直線を含む前記第1領域と、前記2つの部分領域のうちの一方の部分領域を前記第1直線に平行に更に2つの部分領域に区分する第2直線を含む第2領域と、に決定する、
機能を含む、コンピュータプログラム。 - 請求項1から4のいずれかに記載のコンピュータプログラムであって、
前記元画像の種類が、ポスターであるか否かを判定する判定機能をコンピュータに実現させ、
前記決定機能は、前記元画像の種類が前記ポスターであると判定された場合には、第1決定を行い、前記元画像の種類が前記ポスターではないと判定された場合には、第2決定を行い、
前記第1決定と前記第2決定との間では、前記直線領域の決定の方法が異なる、
コンピュータプログラム。 - 請求項6に記載のコンピュータプログラムであって、
前記第1決定は、前記印刷実行部による印刷のために指定された印刷方式が、片面印刷方式と両面印刷方式とのいずれであっても、前記N個の直線領域を、前記元画像を2つの部分領域に区分する第1直線を含む第1領域に決定し、
前記第2決定は、
前記印刷方式が前記片面印刷モードである場合には、前記N個の直線領域を、前記第1直線を含む前記第1領域に決定し、
前記印刷モードが前記両面印刷モードである場合には、前記N個の直線領域を、前記第1直線を含む前記第1領域と、前記2つの部分領域のうちの一方の部分領域を前記第1直線に平行に更に2つの部分領域に区分する第2直線を含む第2領域と、に決定する、
コンピュータプログラム。 - 請求項6または7に記載のコンピュータプログラムであって、
前記第1決定は、前記指定サイズが前記デフォルトサイズの2倍以下である場合には、前記直線領域を決定し、前記指定サイズが前記デフォルトサイズの2倍よりも大きい場合には、前記直線領域を決定せず、
前記第2決定は、前記指定サイズが前記デフォルトサイズのU倍(Uは2よりも大きい値)以下である場合には、前記直線領域を決定し、前記指定サイズが前記デフォルトサイズのU倍よりも大きい場合には、前記直線領域を決定せず、
前記印刷制御機能は、前記直線領域が決定されない場合には、前記第1画像データを用いて、前記印刷実行部に前記元画像を印刷させる、
コンピュータプログラム。 - 請求項1から8のいずれかに記載のコンピュータプログラムであって、
前記印刷制御機能は、前記第2画像データを、前記コンピュータを備える装置の外部の装置に備えられる前記印刷実行部に送信する機能を含む、
コンピュータプログラム。 - 請求項1から9のいずれかに記載のコンピュータプログラムであって、
前記N個の直線領域は、それぞれ一定幅の帯状の領域である、コンピュータプログラム。 - 画像処理装置であって、
印刷に用いられるシートのデフォルトのサイズであるデフォルトサイズを特定する第1特定部と、
オブジェクトを含む元画像を表す第1画像データを取得する取得部と、
画像を印刷実行部によって印刷するためにシートの複数のサイズの中から指定されたサイズである指定サイズを特定する第2特定部と、
前記デフォルトサイズと前記指定サイズとを特定後に、前記デフォルトサイズと前記指定サイズとを用いて、前記オブジェクトを表す複数のオブジェクト画素と、前記オブジェクトを表さない複数の非オブジェクト画素と、のうち、少なくとも前記非オブジェクト画素が配置されるべき領域であるN個(Nは1以上の整数)の直線領域を決定する決定部であって、前記N個の直線領域のそれぞれは、少なくとも、前記元画像を2つの部分領域に区分する前記元画像の特定の縁から反対側の縁まで延びる直線形状の領域である、前記決定部と、
前記直線領域の決定後に、前記N個の直線領域内に配置されている前記オブジェクト画素の総数が減少するように、前記元画像に含まれる前記オブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、前記元画像を調整する調整部と、
調整済の画像を表す第2画像データを用いて、前記印刷実行部に前記調整済の画像を印刷させる印刷制御部と、
を備える、画像処理装置。 - 画像処理装置であって、
印刷に用いられるシートのデフォルトのサイズであるデフォルトサイズを特定する第1特定部と、
オブジェクトを含む元画像を表す第1画像データを取得する取得部と、
画像を印刷実行部によって印刷するためにシートの複数のサイズの中から指定されたサイズである指定サイズを特定する第2特定部と、
前記デフォルトサイズと前記指定サイズとを特定後に、前記デフォルトサイズと前記指定サイズとを用いて、隣の画素との色の差が所定の閾値よりも大きいことを示す条件を満たす画素である複数の第1種画素と、前記条件を満たさない画素である複数の第2種画素と、のうち、少なくとも前記第1種画素が配置されるべき領域であるN個(Nは1以上の整数)の直線領域を決定する決定部であって、前記N個の直線領域のそれぞれは、少なくとも、前記元画像を2つの部分領域に区分する前記元画像の特定の縁から反対側の縁まで延びる直線形状の領域である、前記決定部と、
前記直線領域の決定後に、前記N個の直線領域内に配置されている前記第2種画素の総数が減少するように、前記元画像に含まれる前記オブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、前記元画像を調整する調整部と、
調整済の画像を表す第2画像データを用いて、前記印刷実行部に前記調整済の画像を印刷させる印刷制御部と、
を備える、画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016157632A JP2018026714A (ja) | 2016-08-10 | 2016-08-10 | コンピュータプログラム、および、画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016157632A JP2018026714A (ja) | 2016-08-10 | 2016-08-10 | コンピュータプログラム、および、画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018026714A true JP2018026714A (ja) | 2018-02-15 |
Family
ID=61194863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016157632A Pending JP2018026714A (ja) | 2016-08-10 | 2016-08-10 | コンピュータプログラム、および、画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018026714A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2594474A (en) * | 2020-04-28 | 2021-11-03 | Koenig & Bauer Banknote Solutions Sa | Methods for designing and producing a security feature |
-
2016
- 2016-08-10 JP JP2016157632A patent/JP2018026714A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2594474A (en) * | 2020-04-28 | 2021-11-03 | Koenig & Bauer Banknote Solutions Sa | Methods for designing and producing a security feature |
GB2594474B (en) * | 2020-04-28 | 2022-05-11 | Koenig & Bauer Banknote Solutions Sa | Methods for designing and producing a security feature |
US11872834B2 (en) | 2020-04-28 | 2024-01-16 | Koenig & Bauer Banknote Solutions Sa | Methods for designing and producing a security feature |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7483166B2 (en) | Information processing apparatus and print preview display method | |
JP4605006B2 (ja) | 印刷データ生成装置、印刷データ生成方法及びプログラム | |
US8416460B2 (en) | Image processing apparatus and control method of image forming apparatus with exclusive or relative control over the trapping and edge smoothing processing | |
EP3355568B1 (en) | Image processing apparatus and method for controlling the same | |
US8467093B2 (en) | Image processing apparatus and computer program product storing image and print setting information associated with index used to suppress toner consumption | |
US20120087684A1 (en) | Image forming apparatus, toner amount calculation method, and storage medium | |
US10511741B2 (en) | Image processing apparatus, image processing method, and non-transitory computer-readable medium | |
US9383702B2 (en) | Image forming apparatus and image forming method for setting image forming size | |
JP7367159B2 (ja) | 画像処理装置、画像処理方法、および、プログラム | |
JP2002112022A (ja) | 画像形成装置、画像形成方法、および画像形成プログラムを記録したコンピュータ読取可能な記録媒体 | |
US8482790B2 (en) | Image forming apparatus and image processing method | |
JP2018026714A (ja) | コンピュータプログラム、および、画像処理装置 | |
JP2008035511A (ja) | 画像処理装置および画像処理方法および画像処理プログラム | |
US20220078296A1 (en) | Image processing apparatus, method of controlling the same, and storage medium | |
US20160062705A1 (en) | Image forming apparatus, control method of image forming apparatus, and storage medium | |
JP2005217859A (ja) | 画像形成装置及び画像形成方法 | |
JP2005080070A (ja) | 推奨されるトリミングサイズの決定 | |
KR101360516B1 (ko) | 화상 처리 장치, 화상 처리 방법 및 기억 매체 | |
JP2010263313A (ja) | 画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体 | |
JP7226007B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP2017209961A (ja) | 画像処理装置、および、コンピュータプログラム | |
EP2461563A1 (en) | System and method of printing micro-pictures for anti-counterfeiting and copy protection | |
JP6051526B2 (ja) | 画像処理システム、画像形成装置、画像処理プログラム、および画像処理方法 | |
JP5458881B2 (ja) | 印刷装置、印刷方法、および、コンピュータープログラム | |
JP2024054067A (ja) | 画像処理装置、画像形成装置、画像処理方法およびプログラム |