(57)【特許請求の範囲】
【請求項１】
画像における各ピクセルの勾配ヒストグラム特徴集合であって、ピクセルが位置する局部領域の直線特性を反映する勾配ヒストグラム特徴集合を取得するステップと、
各前記ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定するステップと、
前記候補方向に基づいて、前記検出待ち直線の精確な方向と位置を特定するステップと
を含み、
前記候補方向に基づいて、前記検出待ち直線の精確な方向と位置を特定するステップは、
各前記候補方向について、前記候補方向に平行な少なくとも１本の走査線を生成するステップと、
各走査線について、前記走査線と前記検出待ち直線との類似度を反映する前記走査線のマッチング距離をそれぞれ計算するステップと、
マッチング距離が最小である前記走査線を候補直線として選択するステップと、
前記候補直線に基づいて、前記検出待ち直線の精確な方向と位置を特定するステップと、
を含むことを特徴とする直線検出方法。
【請求項２】
画像における各ピクセルの勾配ヒストグラム特徴集合を取得するステップは、
各前記ピクセル（ｉ，ｊ）について、前記ピクセルのＫ（Ｋ≧２）個の方向における方向勾配値を含む方向勾配集合ｇ（ｉ，ｊ）を計算するステップと、
前記ピクセルの方向勾配集合ｇ（ｉ，ｊ）に基づいて、前記ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）を計算するステップと
を含み、
前記ピクセルの任意の方向における方向勾配値は、当該方向における前記ピクセルと隣接ピクセルとの間の階調値の差の絶対値であることを特徴とする請求項１に記載の直線検出方法。
【請求項３】
前記ピクセルの方向勾配集合ｇ（ｉ，ｊ）に基づいて、前記ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）を計算するステップは、
前記ピクセルの前記Ｋ個の方向における局部領域勾配値
0006007354.tif 000024
をそれぞれ計算するステップと、
前記ピクセルの平均勾配値ｈｎｏｒｍ（ｉ，ｊ）を計算するステップと、
前記局部領域勾配値
0006007354.tif 000025
を前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）で除算して、前記ピクセルのｋ方向における勾配ヒストグラム特徴ｈｋ（ｉ，ｊ）を取得するステップと、
前記Ｋ個の方向における勾配ヒストグラム特徴の集合を前記ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）と特定するステップと
を含み、
ピクセルのｋ方向における局部領域勾配値
0006007354.tif 000026
は、前記ピクセルが位置する局部領域内の全てのピクセルの前記ｋ方向における方向勾配値の和であり、ｋは、方向を表し、
前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）は、前記ピクセルの各前記局部領域勾配値
0006007354.tif 000027
の平方和のルートであることを特徴とする請求項２に記載の直線検出方法。
【請求項４】
各前記ピクセル（ｉ，ｊ）について、前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）が所定の平均値Ｔｎｏｒｍより小さいか否かを検出するステップと、
検出した結果、前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）が前記所定の平均値Ｔｎｏｒｍより小さい場合、前記ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）のうちの各勾配ヒストグラム特徴を０にリセットするステップと
をさらに含むことを特徴とする請求項３に記載の直線検出方法。
【請求項５】
各前記ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定するステップは、
各前記ピクセルについて、前記勾配ヒストグラム特徴集合において数値が最大である勾配ヒストグラム特徴に対応する方向を前記ピクセルが位置する局部領域の主方向として選択するステップと、
各前記ピクセルが位置する局部領域の主方向の、前記Ｋ個の方向における投票数を統計するステップと、
前記投票数が投票閾値を超える方向に直交する方向を前記検出待ち直線の候補方向として選択するステップと
を含むことを特徴とする請求項２〜４のいずれか１項に記載の直線検出方法。
【請求項６】
各走査線のマッチング距離をそれぞれ計算するステップは、
各前記走査線について、前記走査線上でｎ（ｎ≧１）個のサンプリング点をサンプリングして取得するステップと、
各前記サンプリング点の勾配ヒストグラム特徴集合と、前記候補方向に直交する方向におけるテンプレート勾配ヒストグラム特徴集合との間のマッチング距離を計算するステップと、
前記ｎ個のサンプリング点のマッチング距離を加算して前記走査線のマッチング距離を得るステップと
を含むことを特徴とする請求項１に記載の直線検出方法。
【請求項７】
前記候補直線に基づいて、前記検出待ち直線の精確な方向と位置を特定するステップは、
前記候補直線を中心軸線として、所定の大きさの矩形領域を生成するステップと、
前記矩形領域の前記候補直線に直交する直線の両側でそれぞれｕ（ｕ≧１）個とｖ（ｖ≧１）個の点を選択し、両側の点を２つずつ連結してｕ＊ｖ本の線分を取得するステップと、
前記ｕ＊ｖ本の線分のうちの各線分について、前記線分と前記検出待ち直線との類似度を反映するマッチング距離をそれぞれ計算するステップと、
マッチング距離が最小である線分の属する直線を前記検出待ち直線として選択するステップと
を含むことを特徴とする請求項１に記載の直線検出方法。
【請求項８】
任意の前記検出待ち直線について、第１の所定条件を満たす第２の検出待ち直線が前記画像に存在するか否かを検出するステップと、
検出した結果、前記第１の所定条件を満たす第２の検出待ち直線が存在する場合、前記第２の検出待ち直線を候補直線集合に追加するステップと、
前記候補直線集合における任意２本の前記第２の検出待ち直線について、第２の所定条件を満たす第３の検出待ち直線が存在するか否かを検出するステップと、
検出した結果、前記第２の所定条件を満たす第３の検出待ち直線が存在する場合、前記検出待ち直線、２本の前記第２の検出待ち直線および前記第３の検出待ち直線からなる四角形を候補矩形集合に追加するステップと、
前記候補矩形集合における各四角形について、前記四角形と検出待ち矩形との類似度を反映する前記四角形のマッチング距離を計算するステップと、
マッチング距離が最小である四角形、または、マッチング距離がマッチング閾値より小さい四角形を前記検出待ち矩形と特定するステップと
をさらに含み、
前記第１の所定条件は、前記第２の検出待ち直線と前記検出待ち直線との交点が前記画像内にあり、かつ両者がなす角度が角度閾値より小さい、という条件を含み、
前記第２の所定条件は、前記第３の検出待ち直線が前記検出待ち直線と異なり、前記第３の検出待ち直線が２本の前記第２の検出待ち直線のいずれとも交差し、かつ２つの交点のいずれもが前記画像内にある、という条件を含み、
前記四角形のマッチング距離は、前記四角形の四辺に対応する線分のマッチング距離の和であることを特徴とする請求項１〜７のいずれか１項に記載の直線検出方法。
【請求項９】
画像における各ピクセルの勾配ヒストグラム特徴集合であって、ピクセルが位置する局部領域の直線特性を反映する勾配ヒストグラム特徴集合を取得するための特徴取得モジュールと、
各前記ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定するための候補特定モジュールと、
前記候補方向に基づいて、前記検出待ち直線の精確な方向と位置を特定するための精確特定モジュールと
を含み、
前記精確特定モジュールは、
各前記候補方向について、前記候補方向に平行な少なくとも１本の走査線を生成するための走査生成ユニットと、
各走査線について、前記走査線と前記検出待ち直線との類似度を反映する前記走査線のマッチング距離をそれぞれ計算するための走査マッチングユニットと、
マッチング距離が最小である前記走査線を候補直線として選択するための走査選択ユニットと、
前記候補直線に基づいて、前記検出待ち直線の精確な方向と位置を特定するための精確特定ユニットと、
を含むことを特徴とする直線検出装置。
【請求項１０】
前記特徴取得モジュールは、
各前記ピクセル（ｉ，ｊ）について、前記ピクセルのＫ（Ｋ≧２）個の方向における方向勾配値を含む方向勾配集合ｇ（ｉ，ｊ）を計算するための勾配計算ユニットと、
前記ピクセルの方向勾配集合ｇ（ｉ，ｊ）に基づいて、前記ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）を計算するための特徴計算ユニットと
を含み、
前記ピクセルの任意の方向における方向勾配値は、当該方向における前記ピクセルと隣接ピクセルとの間の階調値の差の絶対値であることを特徴とする請求項９に記載の直線検出装置。
【請求項１１】
前記特徴計算ユニットは、
前記ピクセルの前記Ｋ個の方向における局部領域勾配値
0006007354.tif 000028
をそれぞれ計算するための局部領域勾配サブユニットと、
前記ピクセルの平均勾配値ｈｎｏｒｍ（ｉ，ｊ）を計算するための平均勾配サブユニットと、
前記局部領域勾配値
0006007354.tif 000029
を前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）で除算して、前記ピクセルのｋ方向における勾配ヒストグラム特徴ｈｋ（ｉ，ｊ）を取得するための特徴計算サブユニットと、
前記Ｋ個の方向における勾配ヒストグラム特徴の集合を前記ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）と特定するための特徴特定サブユニットと
を含み、
ピクセルのｋ方向における局部領域勾配値
0006007354.tif 000030
は、前記ピクセルが位置する局部領域内の全てのピクセルの前記ｋ方向における方向勾配値の和であり、ｋは、方向を表し、
前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）は、前記ピクセルの各前記局部領域勾配値
0006007354.tif 000031
の平方和のルートであることを特徴とする請求項１０に記載の直線検出装置。
【請求項１２】
各前記ピクセル（ｉ，ｊ）について、前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）が所定の平均値Ｔｎｏｒｍより小さいか否かを検出するための平均検出サブユニットと、
検出した結果、前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）が前記所定の平均値Ｔｎｏｒｍより小さい場合、前記ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）のうちの各勾配ヒストグラム特徴を０にリセットするための特徴リセットサブユニットと
をさらに含むことを特徴とする請求項１１に記載の直線検出装置。
【請求項１３】
前記候補特定モジュールは、
各前記ピクセルについて、前記勾配ヒストグラム特徴集合において数値が最大である勾配ヒストグラム特徴に対応する方向を前記ピクセルが位置する局部領域の主方向として選択するための方向選択ユニットと、
各前記ピクセルが位置する局部領域の主方向の、前記Ｋ個の方向における投票数を統計するための投票統計ユニットと、
前記投票数が投票閾値を超える方向に直交する方向を前記検出待ち直線の候補方向として選択するための候補選択ユニットと
を含むことを特徴とする請求項１１〜１２のいずれか１項に記載の直線検出装置。
【請求項１４】
前記走査マッチングユニットは、
各前記走査線について、前記走査線上でｎ（ｎ≧１）個のサンプリング点をサンプリングして取得するためのサンプリング取得サブユニットと、
各前記サンプリング点の勾配ヒストグラム特徴集合と、前記候補方向に直交する方向におけるテンプレート勾配ヒストグラム特徴集合との間のマッチング距離を計算するためのサンプリングマッチングサブユニットと、
前記ｎ個のサンプリング点のマッチング距離を加算して前記走査線のマッチング距離を得るためのサンプリング加算サブユニットと
を含むことを特徴とする請求項９に記載の直線検出装置。
【請求項１５】
前記精確特定ユニットは、
前記候補直線を中心軸線として、所定の大きさの矩形領域を生成するための矩形生成サブユニットと、
前記矩形領域の前記候補直線に直交する直線の両側でそれぞれｕ（ｕ≧１）個とｖ（ｖ≧１）個の点を選択し、両側の点を２つずつ連結してｕ＊ｖ本の線分を取得するための線分生成サブユニットと、
前記ｕ＊ｖ本の線分のうちの各線分について、前記線分と前記検出待ち直線との類似度を反映するマッチング距離をそれぞれ計算するための線分マッチングサブユニットと、
マッチング距離が最小である線分の属する直線を前記検出待ち直線として選択するための線分選択サブユニットと
を含むことを特徴とする請求項９に記載の直線検出装置。
【請求項１６】
任意の前記検出待ち直線について、第１の所定条件を満たす第２の検出待ち直線が前記画像に存在するか否かを検出するための第１の検出モジュールと、
検出した結果、前記第１の所定条件を満たす第２の検出待ち直線が存在する場合、前記第２の検出待ち直線を候補直線集合に追加するための直線候補モジュールと、
前記候補直線集合における任意２本の前記第２の検出待ち直線について、第２の所定条件を満たす第３の検出待ち直線が存在するか否かを検出するための第２の検出モジュールと、
検出した結果、前記第２の所定条件を満たす第３の検出待ち直線が存在する場合、前記検出待ち直線、２本の前記第２の検出待ち直線および前記第３の検出待ち直線からなる四角形を候補矩形集合に追加するための矩形候補モジュールと、
前記候補矩形集合における各四角形について、前記四角形と検出待ち矩形との類似度を反映する前記四角形のマッチング距離を計算するためのマッチング計算モジュールと、
マッチング距離が最小である四角形、または、マッチング距離がマッチング閾値より小さい四角形を前記検出待ち矩形と特定するための矩形特定モジュールと
をさらに含み、
前記第１の所定条件は、前記第２の検出待ち直線と前記検出待ち直線との交点が前記画像内にあり、かつ両者がなす角度が角度閾値より小さい、という条件を含み、
前記第２の所定条件は、前記第３の検出待ち直線が前記検出待ち直線と異なり、前記第３の検出待ち直線が２本の前記第２の検出待ち直線のいずれとも交差し、かつ２つの交点のいずれもが前記画像内にある、という条件を含み、
前記四角形のマッチング距離は、前記四角形の四辺に対応する線分のマッチング距離の和であることを特徴とする請求項１０〜１５のいずれか１項に記載の直線検出装置。
【請求項１７】
プロセッサに実行されることにより、請求項１から請求項８のいずれかに記載の直線検出方法を実現することを特徴とするプログラム。
【請求項１８】
請求項１７に記載のプログラムが記録された記録媒体。
【発明の詳細な説明】
【相互参照】
【０００１】
本願は、出願番号がＣＮ２０１４１００６３１２１．０であって、出願日が２０１４年２月２２日である中国特許出願に基づき優先権を主張し、当該中国特許出願のすべての内容を本願に援用する。
【技術分野】
【０００２】
本発明は、画像処理分野に属し、具体的には、直線検出方法、装置、プログラム、及び記録媒体に関するものである。
【背景技術】
【０００３】
直線、及び幾何形状の検出は、画像処理分野の重要な課題の１つである。実際の場面において、大量の直線と幾何形状があるため、快速かつ正確に直線と幾何形状を検出する方法の実現は、画像処理にとって重要な意義を持つ。
【０００４】
幾何形状の検出方法は、通常、直線検出方法に基づくものである。関連技術において、直線検出は、通常ハフ変換（Ｈｏｕｇｈ Ｔｒａｎｓｆｏｒｍ）方法を用いる。ハフ変換では、画像とデュアル関係を持つパラメータ空間が定義され、画像における１本の直線がパラメータ空間における１つの点に対応し、画像における１つの点がパラメータ空間における１本の正弦曲線に対応する。上記の対応関係により、画像における１本の直線上の幾つかの共線点がパラメータ空間において同一点で交差する複数本の正弦曲線に対応することが分かる。それゆえ、画像における共線点が最多である直線を検出することは、パラメータ空間において同一点で交差する正弦曲線の数が最多であるピーク点の検出問題に変わり、当該ピーク点に対応する直線が、画像中の検出しようとする直線になる。
【０００５】
発明者は、本発明を実現する際に、上記方式に少なくとも下記のデメリットが存在することが分かった。すなわち、上記のハフ変換に基づく直線検出方法では、画像から幾つかの共線点をサンプリングする必要があるため、まず画像を二値化する必要があり、つまり黒、白ピクセルからなる二値画像を取得し、それから二値画像において幾つかの共線点をサンプリングする。しかし、画像の二値化は、パラメータに対して比較的敏感に反応するため、それは、境界強度が比較的強い直線、即ち直線の階調値と画像におけるほかの領域の階調値に明らかな差が存在する直線の検出のみに適用され、境界強度が比較的弱い場合またはノイズによる干渉が発生する場合、直線が途切れてしまい、検出結果の正確度を大きく影響する。
【発明の概要】
【０００６】
関連技術に係る直線検出方法において、境界強度が比較的弱い場合またはノイズによる干渉が発生する場合、直線が途切れてしまい、検出結果が正確ではない問題を解決するために、本発明の実施例は、直線検出方法、装置、プログラム、及び記録媒体を提供する。
【０００７】
本発明の実施例の第１の態様によると、直線検出方法を提供する。当該方法は、画像における各ピクセルの勾配ヒストグラム特徴集合であって、ピクセルが位置する局部領域の直線特性を反映する勾配ヒストグラム特徴集合を取得するステップと、各前記ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定するステップと、前記候補方向に基づいて、前記検出待ち直線の精確な方向と位置を特定するステップとを含む。
【０００８】
画像における各ピクセルの勾配ヒストグラム特徴集合を取得するステップは、各前記ピクセル（ｉ，ｊ）について、前記ピクセルのＫ（Ｋ≧２）個の方向における方向勾配値を含む方向勾配集合ｇ（ｉ，ｊ）を計算するステップと、前記ピクセルの方向勾配集合ｇ（ｉ，ｊ）に基づいて、前記ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）を計算するステップとを含み、前記ピクセルの任意の方向における方向勾配値は、当該方向における前記ピクセルと隣接ピクセルとの間の階調値の差の絶対値であってもよい。
【０００９】
前記ピクセルの方向勾配集合ｇ（ｉ，ｊ）に基づいて、前記ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）を計算するステップは、前記ピクセルの前記Ｋ個の方向における局部領域勾配値
0006007354.tif 000002
をそれぞれ計算するステップと、前記ピクセルの平均勾配値ｈｎｏｒｍ（ｉ，ｊ）を計算するステップと、前記局部領域勾配値
0006007354.tif 000003
を前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）で除算して、前記ピクセルのｋ方向における勾配ヒストグラム特徴ｈｋ（ｉ，ｊ）を取得するステップと、前記Ｋ個の方向における勾配ヒストグラム特徴の集合を前記ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）と特定するステップとを含み、ピクセルのｋ方向における局部領域勾配値
0006007354.tif 000004
は、前記ピクセルが位置する局部領域内の全てのピクセルの前記ｋ方向における方向勾配値の和であり、ｋは、方向を表し、前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）は、前記ピクセルの各前記局部領域勾配値
0006007354.tif 000005
の平方和のルートであってもよい。
【００１０】
前記方法は、各前記ピクセル（ｉ，ｊ）について、前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）が所定の平均値Ｔｎｏｒｍより小さいか否かを検出するステップと、検出した結果、前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）が前記所定の平均値Ｔｎｏｒｍより小さい場合、前記ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）のうちの各勾配ヒストグラム特徴を０にリセットするステップとをさらに含んでもよい。
【００１１】
各前記ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定するステップは、各前記ピクセルについて、前記勾配ヒストグラム特徴集合において数値が最大である勾配ヒストグラム特徴に対応する方向を前記ピクセルが位置する局部領域の主方向として選択するステップと、
各前記ピクセルが位置する局部領域の主方向の、前記Ｋ個の方向における投票数を統計するステップと、前記投票数が投票閾値を超える方向に直交する方向を前記検出待ち直線の候補方向として選択するステップとを含んでもよい。
【００１２】
前記候補方向に基づいて、前記検出待ち直線の精確な方向と位置を特定するステップは、各前記候補方向について、前記候補方向に平行な少なくとも１本の走査線を生成するステップと、各走査線について、前記走査線と前記検出待ち直線との類似度を反映する前記走査線のマッチング距離をそれぞれ計算するステップと、マッチング距離が最小である前記走査線を候補直線として選択するステップと、前記候補直線に基づいて、前記検出待ち直線の精確な方向と位置を特定するステップとを含んでもよい。
【００１３】
各走査線のマッチング距離をそれぞれ計算するステップは、各前記走査線について、前記走査線上でｎ（ｎ≧１）個のサンプリング点をサンプリングして取得するステップと、各前記サンプリング点の勾配ヒストグラム特徴集合と、前記候補方向に直交する方向におけるテンプレート勾配ヒストグラム特徴集合との間のマッチング距離を計算するステップと、前記ｎ個のサンプリング点のマッチング距離を加算して前記走査線のマッチング距離を得るステップとを含んでもよい。
【００１４】
前記候補直線に基づいて、前記検出待ち直線の精確な方向と位置を特定するステップは、前記候補直線を中心軸線として、所定の大きさの矩形領域を生成するステップと、前記矩形領域の前記候補直線に直交する直線の両側でそれぞれｕ（ｕ≧１）個とｖ（ｖ≧１）個の点を選択し、両側の点を２つずつ連結してｕ＊ｖ本の線分を取得するステップと、前記ｕ＊ｖ本の線分のうちの各線分について、前記線分と前記検出待ち直線との類似度を反映するマッチング距離をそれぞれ計算するステップと、マッチング距離が最小である線分の属する直線を前記検出待ち直線として選択するステップとを含んでもよい。
【００１５】
前記方法は、任意の前記検出待ち直線について、第１の所定条件を満たす第２の検出待ち直線が前記画像に存在するか否かを検出するステップと、検出した結果、前記第１の所定条件を満たす第２の検出待ち直線が存在する場合、前記第２の検出待ち直線を候補直線集合に追加するステップと、前記候補直線集合における任意２本の前記第２の検出待ち直線について、第２の所定条件を満たす第３の検出待ち直線が存在するか否かを検出するステップと、検出した結果、前記第２の所定条件を満たす第３の検出待ち直線が存在する場合、前記検出待ち直線、２本の前記第２の検出待ち直線および前記第３の検出待ち直線からなる四角形を候補矩形集合に追加するステップと、前記候補矩形集合における各四角形について、前記四角形と検出待ち矩形との類似度を反映する前記四角形のマッチング距離を計算するステップと、マッチング距離が最小である四角形、または、マッチング距離がマッチング閾値より小さい四角形を前記検出待ち矩形と特定するステップとをさらに含み、前記第１の所定条件は、前記第２の検出待ち直線と前記検出待ち直線との交点が前記画像内にあり、かつ両者がなす角度が角度閾値より小さい、という条件を含み、前記第２の所定条件は、前記第３の検出待ち直線が前記検出待ち直線と異なり、前記第３の検出待ち直線が２本の前記第２の検出待ち直線のいずれとも交差し、かつ２つの交点のいずれもが前記画像内にある、という条件を含み、前記四角形のマッチング距離は、前記四角形の四辺に対応する線分のマッチング距離の和であってもよい。
【００１６】
本発明の実施例の第２の態様によると、直線検出装置を提供する。当該装置は、画像における各ピクセルの勾配ヒストグラム特徴集合であって、ピクセルが位置する局部領域の直線特性を反映する勾配ヒストグラム特徴集合を取得するための特徴取得モジュールと、各前記ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定するための候補特定モジュールと、前記候補方向に基づいて、前記検出待ち直線の精確な方向と位置を特定するための精確特定モジュールとを含む。
【００１７】
前記特徴取得モジュールは、各前記ピクセル（ｉ，ｊ）について、前記ピクセルのＫ（Ｋ≧２）個の方向における方向勾配値を含む方向勾配集合ｇ（ｉ，ｊ）を計算するための勾配計算ユニットと、前記ピクセルの方向勾配集合ｇ（ｉ，ｊ）に基づいて、前記ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）を計算するための特徴計算ユニットとを含み、前記ピクセルの任意の方向における方向勾配値は、当該方向における前記ピクセルと隣接ピクセルとの間の階調値の差の絶対値であってもよい。
【００１８】
前記特徴計算ユニットは、前記ピクセルの前記Ｋ個の方向における局部領域勾配値
0006007354.tif 000006
をそれぞれ計算するための局部領域勾配サブユニットと、前記ピクセルの平均勾配値ｈｎｏｒｍ（ｉ，ｊ）を計算するための平均勾配サブユニットと、前記局部領域勾配値
0006007354.tif 000007
を前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）で除算して、前記ピクセルのｋ方向における勾配ヒストグラム特徴ｈｋ（ｉ，ｊ）を取得するための特徴計算サブユニットと、前記Ｋ個の方向における勾配ヒストグラム特徴の集合を前記ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）と特定するための特徴特定サブユニットとを含み、ピクセルのｋ方向における局部領域勾配値
0006007354.tif 000008
は、前記ピクセルが位置する局部領域内の全てのピクセルの前記ｋ方向における方向勾配値の和であり、ｋは、方向を表し、前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）は、前記ピクセルの各前記局部領域勾配値
0006007354.tif 000009
の平方和のルートであってもよい。
【００１９】
前記装置は、各前記ピクセル（ｉ，ｊ）について、前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）が所定の平均値Ｔｎｏｒｍより小さいか否かを検出するための平均検出サブユニットと、検出した結果、前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）が前記所定の平均値Ｔｎｏｒｍより小さい場合、前記ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）のうちの各勾配ヒストグラム特徴を０にリセットするための特徴リセットサブユニットとをさらに含んでもよい。
【００２０】
前記候補特定モジュールは、各前記ピクセルについて、前記勾配ヒストグラム特徴集合において数値が最大である勾配ヒストグラム特徴に対応する方向を前記ピクセルが位置する局部領域の主方向として選択するための方向選択ユニットと、
各前記ピクセルが位置する局部領域の主方向の、前記Ｋ個の方向における投票数を統計するための投票統計ユニットと、前記投票数が投票閾値を超える方向に直交する方向を前記検出待ち直線の候補方向として選択するための候補選択ユニットとを含んでもよい。
【００２１】
前記精確特定モジュールは、各前記候補方向について、前記候補方向に平行な少なくとも１本の走査線を生成するための走査生成ユニットと、各走査線について、前記走査線と前記検出待ち直線との類似度を反映する前記走査線のマッチング距離をそれぞれ計算するための走査マッチングユニットと、マッチング距離が最小である前記走査線を候補直線として選択するための走査選択ユニットと、前記候補直線に基づいて、前記検出待ち直線の精確な方向と位置を特定するための精確特定ユニットとを含んでもよい。
【００２２】
前記走査マッチングユニットは、各前記走査線について、前記走査線上でｎ（ｎ≧１）個のサンプリング点をサンプリングして取得するためのサンプリング取得サブユニットと、各前記サンプリング点の勾配ヒストグラム特徴集合と、前記候補方向に直交する方向におけるテンプレート勾配ヒストグラム特徴集合との間のマッチング距離を計算するためのサンプリングマッチングサブユニットと、前記ｎ個のサンプリング点のマッチング距離を加算して前記走査線のマッチング距離を得るためのサンプリング加算サブユニットとを含んでもよい。
【００２３】
前記精確特定ユニットは、前記候補直線を中心軸線として、所定の大きさの矩形領域を生成するための矩形生成サブユニットと、前記矩形領域の前記候補直線に直交する直線の両側でそれぞれｕ（ｕ≧１）個とｖ（ｖ≧１）個の点を選択し、両側の点を２つずつ連結してｕ＊ｖ本の線分を取得するための線分生成サブユニットと、前記ｕ＊ｖ本の線分のうちの各線分について、前記線分と前記検出待ち直線との類似度を反映するマッチング距離をそれぞれ計算するための線分マッチングサブユニットと、マッチング距離が最小である線分の属する直線を前記検出待ち直線として選択するための線分選択サブユニットとを含んでもよい。
【００２４】
前記装置は、任意の前記検出待ち直線について、第１の所定条件を満たす第２の検出待ち直線が前記画像に存在するか否かを検出するための第１の検出モジュールと、検出した結果、前記第１の所定条件を満たす第２の検出待ち直線が存在する場合、前記第２の検出待ち直線を候補直線集合に追加するための直線候補モジュールと、前記候補直線集合における任意２本の前記第２の検出待ち直線について、第２の所定条件を満たす第３の検出待ち直線が存在するか否かを検出するための第２の検出モジュールと、検出した結果、前記第２の所定条件を満たす第３の検出待ち直線が存在する場合、前記検出待ち直線、２本の前記第２の検出待ち直線および前記第３の検出待ち直線からなる四角形を候補矩形集合に追加するための矩形候補モジュールと、前記候補矩形集合における各四角形について、前記四角形と検出待ち矩形との類似度を反映する前記四角形のマッチング距離を計算するためのマッチング計算モジュールと、マッチング距離が最小である四角形、または、マッチング距離がマッチング閾値より小さい四角形を前記検出待ち矩形と特定するための矩形特定モジュールとをさらに含み、前記第１の所定条件は、前記第２の検出待ち直線と前記検出待ち直線との交点が前記画像内にあり、かつ両者がなす角度が角度閾値より小さい、という条件を含み、前記第２の所定条件は、前記第３の検出待ち直線が前記検出待ち直線と異なり、前記第３の検出待ち直線が２本の前記第２の検出待ち直線のいずれとも交差し、かつ２つの交点のいずれもが前記画像内にある、という条件を含み、前記四角形のマッチング距離は、前記四角形の四辺に対応する線分のマッチング距離の和であってもよい。
本発明の実施例の第３の態様によると、プログラムを提供し、当該プログラムは、プロセッサに実行されることにより、上記直線検出方法を実現する。
本発明の実施例の第４の態様によると、記録媒体を提供し、当該記録媒体には、上記プログラムが記録されている。
【００２５】
本発明の実施例による技術案は、以下の有益な効果がある。
【００２６】
画像における各ピクセルの勾配ヒストグラム特徴集合であって、ピクセルが位置する局部の直線特性を反映する勾配ヒストグラム特徴集合を取得し、各ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定し、候補方向に基づいて、検出待ち直線の精確な方向と位置を特定することによって、関連技術に係る直線検出方法において、境界強度が比較的弱い場合または騒音による干渉が発生する場合、直線が途切れてしまい、検出結果が精確ではない問題を解決でき、背景技術で言及した関連直線検出方法に比べて、本実施例による直線検出方法は、ハフ変換を使用せず、画像の二値化をする必要もないため、二値化による誤差の影響を充分に避け、直線検出の精確度を高めることができる。
【００２７】
理解すべきことは、以上の概要の記述と以下の詳細記述は、単に例示的なものであり、本発明を限定するものではない。
【図面の簡単な説明】
【００２８】
ここの図面は、明細書に組み入れて本明細書の一部分を構成し、本発明に該当する実施例を例示するとともに、明細書とともに本発明の原理を解釈するために用いられる。
【００２９】
本発明の実施例をより明らかに説明するために、以下、実施例の記述に用いられる図面について簡単に紹介する。以下の記述における図面は、単に本発明の一部の実施例であり、本分野の一般技術者にとって、創造性のある労働を付さなくてもこれらの図面から他の図面を取得できることは明らかである。
【００３０】
【図１】一例示的な実施例による直線検出方法のフロー図である。
【図２Ａ】別の例示的な実施例による直線検出方法のフロー図である。
【図２Ｂ】別の例示的な実施例による直線検出方法の特徴計算工程を示す模式図である。
【図２Ｃ】別の例示的な実施例による直線検出方法の直線選択工程を示す模式図である。
【図３】一例示的な実施例による直線検出装置の模式図である。
【図４】別の例示的な実施例による直線検出装置の模式図である。
【図５】一例示的な実施例による直線検出用装置のブロック図である。
【００３１】
以上の図面を通じて、本発明の実施例を例示しているが、そのさらに具体的な内容については後述する。これらの図面及び文字記載は、本発明の趣旨の範囲を限定するためのものではなく、特定の実施例を参照として、当業者に本発明のコンセプトを理解させるためのものである。
【発明を実施するための形態】
【００３２】
本発明の目的、技術案、及び利点をより明らかにするために、以下、図面とともに本発明についてさらに詳細に記載する。記載する実施例は、単に本発明の一部の実施例であり、全ての実施例ではないことは明らかである。本発明の実施例に基づいて、本分野の一般技術者が創造性のある労働を付さない前提で取得した全てのほかの実施例は、いずれも本発明の保護範囲に属するものである。
【００３３】
まず、説明すべきことは、本発明に係る電子装置は、携帯電話、タブレットＰＣ、電子書籍リーダ、ＭＰ３（Ｍｏｖｉｎｇ Ｐｉｃｔｕｒｅ Ｅｘｐｅｒｔｓ Ｇｒｏｕｐ Ａｕｄｉｏ Ｌａｙｅｒ ＩＩＩ）プレイヤ、ＭＰ４（Ｍｏｖｉｎｇ Ｐｉｃｔｕｒｅ Ｅｘｐｅｒｔｓ Ｇｒｏｕｐ Ａｕｄｉｏ Ｌａｙｅｒ ＩＶ）プレイヤ、ポータブルラップトップコンピュータ、およびデスクトップコンピュータなどである。同時に、電子装置は、例えばカメラなどの画像採集部品を含む。
【００３４】
図１は、一例示的な実施例による直線検出方法のフロー図である。本実施例は、当該直線検出方法が電子装置に応用されることを例として説明する。当該直線検出方法は、下記ステップを含む。
【００３５】
ステップ１０２において、画像における各ピクセルの勾配ヒストグラム特徴集合を取得する。勾配ヒストグラム特徴集合は、ピクセルが位置する局部領域の直線特性を反映する。
【００３６】
ステップ１０４において、各ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定する。
【００３７】
ステップ１０６において、候補方向に基づいて、検出待ち直線の精確な方向と位置を特定する。
【００３８】
上記記載をまとめると、本実施例による直線検出方法は、画像における各ピクセルの勾配ヒストグラム特徴集合であって、ピクセルが位置する局部領域の直線特性を反映する勾配ヒストグラム特徴集合を取得し、各ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定し、その後、候補方向に基づいて、検出待ち直線の精確な方向と位置を特定することによって、関連技術に係る直線検出方法において、境界強度が比較的弱い場合またはノイズによる干渉が発生する場合、直線が途切れてしまい、検出結果が正確ではない問題を解決でき、背景技術で言及した関連する直線検出方法に比べて、本実施例による直線検出方法は、ハフ変換を使用せず、画像の二値化をする必要もないため、二値化による誤差の影響を充分に避け、直線検出の正確度を高めることができる。
【００３９】
図２Ａは、別の例示的な実施例による直線検出方法のフロー図である。本実施例は、当該直線検出方法を電子装置に応用することを例として説明する。当該直線検出方法は、下記ステップを含む。
【００４０】
ステップ２０１において、画像のグレースケール画像（grayscale image）を生成する。
【００４１】
直線の検出を行う前に、電子装置は、まず、採集した画像に対して階調化を行って、画像のグレースケール画像を生成する。階調は、２５６階調に分けられ、任意のピクセル（ｉ，ｊ）の階調値は、Ｉ（ｉ，ｊ）∈［０，２５５］である。
【００４２】
ステップ２０２において、画像における各ピクセルの勾配ヒストグラム特徴集合を取得する。
【００４３】
電子装置は、画像における各ピクセルの勾配ヒストグラム特徴集合を取得する。勾配ヒストグラム特徴集合は、ピクセルが位置する局部領域の直線特性を反映する。
【００４４】
本ステップは、下記の２つのサブステップを含んでもよい。
【００４５】
（１）ピクセル（ｉ，ｊ）ごとに、ピクセルの方向勾配集合ｇ（ｉ，ｊ）を計算する。
【００４６】
電子装置は、ピクセル（ｉ，ｊ）ごとに、ピクセルの方向勾配集合ｇ（ｉ，ｊ）を計算する。１つのピクセルの方向勾配集合は、当該ピクセルのＫ（Ｋ≧２）個の方向における方向勾配値を含む。ピクセルの任意の方向における方向勾配値は、当該方向において当該ピクセルと隣接ピクセルとの間の階調値の差の絶対値である。Ｋの値は、実際の需要に応じて予め定められ、Ｋの値が大きくなるほど、直線検出の結果が精確になる。計算量軽減のために、通常、Ｋの値は、４、または８である。
【００４７】
図２Ｂに示されたように、大きさがＭ＊Ｎ（ＭとＮは、それぞれ、画像Ｉの水平方向と垂直方向におけるピクセル数を示し、Ｍ≧１、Ｎ≧１）である画像Ｉがあるとする。画像における任意のピクセル（ｉ，ｊ）（ｉ∈［０，Ｍ］，ｊ∈［０，Ｎ］）について、その対応する方向勾配集合をｇ（ｉ，ｊ）と記する。
【００４８】
同時にＫ＝４とする。当該４個の方向は、それぞれ、水平方向と０°、４５°、９０°、１３５°の角度をなす方向であり、且つピクセル（ｉ，ｊ）の上記４個の方向における方向勾配値をそれぞれｇ０（ｉ，ｊ）、ｇ４５（ｉ，ｊ）、ｇ９０（ｉ，ｊ）、ｇ１３５（ｉ，ｊ）と記する。
【００４９】
すると、ｇ（ｉ，ｊ）＝｛ｇ０（ｉ，ｊ），ｇ４５（ｉ，ｊ），ｇ９０（ｉ，ｊ），ｇ１３５（ｉ，ｊ）｝である。
【００５０】
ここで、
ｇ０（ｉ，ｊ）＝｜Ｉ（ｉ＋１，ｊ）−Ｉ（ｉ，ｊ）｜
ｇ４５（ｉ，ｊ）＝｜Ｉ（ｉ−１，ｊ−１）−Ｉ（ｉ，ｊ）｜
ｇ９０（ｉ，ｊ）＝｜Ｉ（ｉ，ｊ−１）−Ｉ（ｉ，ｊ）｜
ｇ１３５（ｉ，ｊ）＝｜Ｉ（ｉ＋１，ｊ−１）−Ｉ（ｉ，ｊ）｜
Ｉ（ｉ，ｊ）は、ピクセル（ｉ，ｊ）の階調値を示し、Ｉ（ｉ，ｊ）∈［０，２５５］である。
【００５１】
実際の応用時に、画像における境界ピクセルは考慮しなくてもよい。境界ピクセルとは、画像の周縁のピクセルであり、例えば、図２Ｂにおいて黒色ボックス２１以外の領域に位置するピクセルである。
【００５２】
（２）ピクセルの方向勾配集合ｇ（ｉ，ｊ）に基づいて、当該ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）を計算する。
【００５３】
電子装置は、ピクセルの方向勾配集合ｇ（ｉ，ｊ）に基づいて、当該ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）を計算する。
【００５４】
まず理解すべきところは、画像に１本の直線が存在する場合、直線方向に沿って、各ピクセルの階調値の変化は、緩やかであるか一定である。一方、直線方向に直交する方向においては、各ピクセルの階調値は急に変化する。正にこの特性を利用して、ピクセルの方向勾配集合ｇ（ｉ，ｊ）を求めた後に、ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）を導入する。
【００５５】
ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）は、ピクセルが位置する局部領域の直線特性を反映する。当該直線特性は、ピクセルが位置する局部領域に、検出待ち直線が存在するかのこと、及び検出待ち直線の大体の方向のうちの一つまたは二つすべてを含む。ここで、検出待ち直線の大体の方向とは、検出待ち直線に近接する方向である。例えば、検出待ち直線に近接する方向が４５°の近隣範囲である場合、検出待ち直線の大体の方向は４５°である。
【００５６】
上記サブステップ（２）は、さらに下記の複数のサブステップを含む。
【００５７】
（１）ピクセルのＫ個の方向における局部領域勾配値
0006007354.tif 000010
をそれぞれ計算する。
【００５８】
電子装置は、ピクセルのＫ個の方向における局部領域勾配値
0006007354.tif 000011
をそれぞれ計算する。ここで、ｋは、方向を示す。ピクセル（ｉ，ｊ）のｋ方向における局部領域勾配値
0006007354.tif 000012
は、ピクセルが位置する局部領域に位置する全てのピクセルのｋ方向における方向勾配値の和である。本実施例では、次の式が成立する。
【数１】
0006007354.tif 000013
【００５９】
ここで、Ｒは、平均半径であり、その値は、実際の需要に応じて予め定められ、例えばＲ＝４である。図２Ｂを参照すると、Ｒの値により、ピクセル（ｉ，ｊ）が位置する局部領域２２の範囲も決められる。ピクセル（ｉ，ｊ）が位置する局部領域２２に含まれるピクセルの数は、（２Ｒ＋１）＊（２Ｒ＋１）である。例えば、Ｒ＝４の場合、ピクセル（ｉ，ｊ）が位置する局部領域２２の範囲は、ピクセル（ｉ，ｊ）を中心として９＊９＝８１個のピクセルからなる領域である。
【００６０】
（２）ピクセルの平均勾配値ｈｎｏｒｍ（ｉ，ｊ）を計算する。
【００６１】
電子装置は、ピクセルの平均勾配値ｈｎｏｒｍ（ｉ，ｊ）を計算する。平均勾配値ｈｎｏｒｍ（ｉ，ｊ）は、ピクセルの各局部領域勾配値
0006007354.tif 000014
の平方和のルートである。本実施例では、次の式が成立する。
【数２】
0006007354.tif 000015
【００６２】
（３）局部領域勾配値
0006007354.tif 000016
を平均勾配値ｈｎｏｒｍ（ｉ，ｊ）で除算して、ピクセルのｋ方向における勾配ヒストグラム特徴ｈｋ（ｉ，ｊ）を得る。
【００６３】
電子装置は、局部領域勾配値
0006007354.tif 000017
を平均勾配値ｈｎｏｒｍ（ｉ，ｊ）で除算して、ピクセルのｋ方向における勾配ヒストグラム特徴ｈｋ（ｉ，ｊ）を得る。本実施例では、次の式が成立する。
【数３】
0006007354.tif 000018
【００６４】
（４）Ｋ個の方向における勾配ヒストグラム特徴の集合をピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）とする。
【００６５】
電子装置は、Ｋ個の方向における勾配ヒストグラム特徴の集合をピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）とする。ピクセル（ｉ，ｊ）の勾配ヒストグラム特徴集合をｈ（ｉ，ｊ）と記する。勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）は、ピクセル（ｉ，ｊ）のＫ個の方向における勾配ヒストグラム特徴を含む。本実施例では、次の式が成立する。
ｈ（ｉ，ｊ）＝｛ｈ０（ｉ，ｊ），ｈ４５（ｉ，ｊ），ｈ９０（ｉ，ｊ），ｈ１３５（ｉ，ｊ）｝
【００６６】
これから分かるように、ｈｋ（ｉ，ｊ）の値が大きいほど、ｋ方向に沿って各ピクセルの階調値の変化が明らかであり、急な変化がある可能性が大いにある。これにより、ｋ方向に直交する方向が検出待ち直線の大体の方向であると推測できる。
【００６７】
なお、説明しておくべきことは、ノイズまたは光照射などの要素による干渉を低減するとともに計算量を削減するために、ピクセルの平均勾配値ｈｎｏｒｍ（ｉ，ｊ）を計算した後に、さらに、平均勾配値ｈｎｏｒｍ（ｉ，ｊ）が所定の平均値Ｔｎｏｒｍより小さいか否かを検出してもよい。検出した結果、平均勾配値ｈｎｏｒｍ（ｉ，ｊ）が所定の平均値Ｔｎｏｒｍより小さい場合、ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）の各勾配ヒストグラム特徴を０にリセットする。所定の平均値Ｔｎｏｒｍは、ピクセルが位置する局部領域の各方向における全体的な勾配状況を反映するものであり、また、ｈｎｏｒｍ（ｉ，ｊ）が比較的小さい場合、当該局部領域内の境界強度が弱いことを示しているが、これは、当該局部領域内の検出待ち直線の存在に起因する隣接ピクセル同士の階調の変化によるものではなく、ノイズまたは光照射などの要因要素に起因する隣接ピクセル同士の階調の変化によるものであり得るため、ｈｎｏｒｍ（ｉ，ｊ）が所定の平均値Ｔｎｏｒｍより小さい場合は、ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）の各勾配ヒストグラム特徴を０にリセットする。
【００６８】
ステップ２０３において、各ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定する。
【００６９】
電子装置は、各ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定する。
【００７０】
本ステップは、下記の複数のサブステップを含んでもよい。
【００７１】
（１）ピクセルごとに、勾配ヒストグラム特徴集合において数値が最大である勾配ヒストグラム特徴に対応する方向を選択して、ピクセルが位置する局部領域の主方向とする。
【００７２】
ステップ２０２で紹介したように、ｈｋ（ｉ，ｊ）の値が大きいほど、ｋ方向に沿って各ピクセルの階調値の変化が明らかであり、急に変化する可能性が大いにある。これにより、ｋ方向に直交する方向が検出待ち直線の大体の方向であると推測できる。
【００７３】
したがって、電子装置は、勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）において数値が最大である勾配ヒストグラム特徴に対応する方向を選択して、ピクセルが位置する局部領域の主方向とする。当該主方向は、局部領域における直線の方向と略直交する。
【００７４】
（２）各ピクセルが位置する局部領域の主方向の、Ｋ個の方向における投票数を統計する。
【００７５】
電子装置は、画像における各ピクセルが位置する局部領域の主方向を特定した後に、画像全体に亘って、各ピクセルが位置する局部領域の主方向の、Ｋ個の方向における投票数を統計する。
【００７６】
たとえば、当該統計結果は、ａ個のピクセルが位置する局部領域の主方向が０°であり、ｂ個のピクセルが位置する局部領域の主方向が４５°であり、ｃ個のピクセルが位置する局部領域の主方向が９０°であり、ｄ個のピクセルが位置する局部領域の主方向が１３５°である、という結果である。ここで、ａ、ｂ、ｃ、ｄは、画像全体に亘って統計して得られた４個の方向上の統計数であり、ｂ＞ａ＞ｃ＞ｄであるとする。
【００７７】
（３）投票数が投票閾値を超える方向に直交する方向を選択して、検出待ち直線の候補方向とする。
【００７８】
電子装置は、各ピクセルが位置する局部領域の主方向の、Ｋ個の方向における投票数を統計した後に、各方向での投票数が投票閾値より大きいか否かを検出する。実際の応用中に、投票閾値の大きさは、画像の大きさ、電子装置のデータ処理能力、及び直線検出精度に対する要求などの要素を総合的に考慮した上で定められる。
【００７９】
その後、電子装置は、投票数が投票閾値を超える少なくとも１つの方向を選別し、選別した方向に直交する方向を検出待ち直線の候補方向とする。投票数が投票閾値を超える方向は、画像における各局部領域の主方向を反映し、各局部領域の主方向が画像における直線に略直交するため、投票数が投票閾値を超える方向に直交する方向を選択して、検出待ち直線の候補方向とする必要がある。
【００８０】
本ステップによって、通常、Ｋ個の方向から１〜２個の方向を選別して検出待ち直線の候補方向とする。後続ステップにおいて、電子装置は、コーススケール（ｃｏａｒｓｅ ｓｃａｌｅ）及びファインスケール（ｆｉｎｅ ｓｃａｌｅ）の計算及び分析によって、最終的に検出待ち直線の精確な方向と位置を特定する。
【００８１】
本実施例では、ｂ＞投票閾値＞ａ＞ｃ＞ｄとする。投票数ｂに対応する主方向が４５°であるため、１３５°方向を検出待ち直線の候補方向とする。
【００８２】
ステップ２０４において、候補方向ごとに、当該候補方向に平行な少なくとも１本の走査線を生成する。
【００８３】
電子装置は、候補方向ごとに、当該候補方向に平行な少なくとも１本の走査線を生成する。図２Ｃを参照すると、大きさがＭ＊Ｎである画像における直線Ｌが図示されている。上記ステップ２０１〜ステップ２０３を経て、検出待ち直線の候補方向が１３５°であると特定できる。方向が１３５°である走査線２６は、画像全体にわたる。互いに隣り合う走査線２６同士の距離は、画像の大きさ、電子装置のデータ処理能力、及び直線検出精度に対する要求などの要素を総合的に考慮した上で定められる。
【００８４】
ステップ２０５において、各走査線のマッチング距離をそれぞれ計算する。
電子装置は、各走査線のマッチング距離をそれぞれ計算する。走査線のマッチング距離は、走査線と検出待ち直線との類似度を反映する。例えば、本ステップは、下記の複数のサブステップを含む。
【００８５】
（１）走査線ごとに、走査線においてｎ（ｎ≧１）個のサンプリング点をサンプリングして得る。
【００８６】
電子装置は、走査線ごとに、走査線においてｎ（ｎ≧１）個のサンプリング点をサンプリングして得る。選択的に、電子装置は、走査線ごとに、均一にｎ個のサンプリング点をサンプリングして取得する。図２Ｃに示されたように、本実施例では、電子装置が走査線ごとに均一に１０個のサンプリング点２７をサンプリングして取得するとする。
【００８７】
（２）各サンプリング点の勾配ヒストグラム特徴集合と、候補方向に直交する方向におけるテンプレート勾配ヒストグラム特徴集合との間のマッチング距離を計算する。
【００８８】
電子装置は、各サンプリング点の勾配ヒストグラム特徴集合と、候補方向に直交する方向におけるテンプレート勾配ヒストグラム特徴集合との間のマッチング距離を計算する。上記ステップ２０２において、電子装置は、既に画像における各ピクセルの勾配ヒストグラム特徴集合を取得している。このとき、電子装置は、各サンプリング点の座標に基づいて、各ピクセルの勾配ヒストグラム特徴集合から、各サンプリング点の勾配ヒストグラム特徴集合を検索して取得する。
【００８９】
テンプレート勾配ヒストグラム特徴集合をＴｅｍｐｌａｔｅｓ（ｓ∈｛０，４５，９０，１３５｝）と記する。ある可能な実施形態において、下記のようになる。
Ｔｅｍｐｌａｔｅ０＝｛１，０，０，０｝
Ｔｅｍｐｌａｔｅ４５＝｛０，１，０，０｝
Ｔｅｍｐｌａｔｅ９０＝｛０，０，１，０｝
Ｔｅｍｐｌａｔｅ１３５＝｛０，０，０，１｝
【００９０】
また、本実施例において、取得したｎ個のサンプリング点をそれぞれ（ｘ０，ｙ０）、（ｘ１，ｙ１）、…、（ｘｉ，ｙｉ）、…、（ｘｎ−１，ｙｎ−１）とする。すると、サンプリング点（ｘｉ，ｙｉ）の勾配ヒストグラム特徴集合と、候補方向に直交する方向におけるテンプレート勾配ヒストグラム特徴集合とのマッチング距離は、ｄｉｓｔ［ｈ（ｘｉ，ｙｉ），Ｔｅｍｐｌａｔｅｓ］＝ｄｉｓｔ［ｈ（ｘｉ，ｙｉ），Ｔｅｍｐｌａｔｅ４５］＝｜ｈ０（ｘｉ，ｙｉ）−０｜＋｜ｈ４５（ｘｉ，ｙｉ）−１｜＋｜ｈ９０（ｘｉ，ｙｉ）−０｜＋｜ｈ１３５（ｘｉ，ｙｉ）−０｜となる。
【００９１】
（３）ｎ個のサンプリング点のマッチング距離を加算して走査線のマッチング距離を得る。
【００９２】
電子装置は、ｎ個のサンプリング点のマッチング距離を加算して走査線のマッチング距離を得る。走査線のマッチング距離は、
【数４】
0006007354.tif 000019
となる。
【００９３】
ステップ２０６において、マッチング距離が最小である走査線を選択して候補直線とする。
【００９４】
電子装置は、各走査線のマッチング距離を算出した後に、マッチング距離が最小である走査線を選択して候補直線とする。図２Ｃに示されたように、本実施例において、ＯとＰの２点を通る走査線を、マッチング距離が最小である走査線とする。すなわち、ＯとＰの２点を通る走査線を、候補直線とする。
【００９５】
図面から分かるように、候補直線の特定後に、検出待ち直線Ｌの画像における大体の位置をほぼ特定できる。その後、後続ステップ２０７での細かいスケールの計算、分析により、検出待ち直線Ｌの画像における精確な方向と位置を最終的に特定する。
【００９６】
ステップ２０７において、候補直線に基づいて、検出待ち直線の具体的な方向と位置を特定する。
【００９７】
電子装置は、候補直線に基づいて、検出待ち直線の具体的な方向と位置を特定する。
【００９８】
本ステップは、下記の複数のサブステップを含んでもよい。
【００９９】
（１）候補直線を中心軸線として、所定の大きさの矩形領域を生成する。
【０１００】
電子装置は、候補直線を中心軸線として、所定の大きさの矩形領域を生成する。図２Ｃに示されたように、候補直線の上でＯ、Ｐの２点を選択し、線分ＯＰの長さは矩形領域の長さとなる。実際の応用中に、線分ＯＰの長さは、その値をなるべく大きめに取ることが望ましい。その後、それぞれＯ、Ｐの２点を通って、候補直線の垂直線ＡＢとＣＤを描く。ここで、Ｏは、ＡＢの中心点になり、Ｐは、ＣＤの中心点になる。線分ＡＢ、ＣＤの長さは、矩形領域の幅となる。実際の応用中に、線分ＡＢ、ＣＤの長さは、互いに隣り合う走査線同士の距離の２倍を取ることができる。
【０１０１】
（２）矩形領域において、候補直線に直交する直線の両側でそれぞれｕ（ｕ≧１）個とｖ（ｖ≧１）個の点を選択し、両側の点を２つずつ連結してｕ＊ｖ本の線分を得る（すなわち、候補直線に直交する直線の一側の各点をもう一側の各点各々と連結してｕ＊ｖ本の線分を得る）。
【０１０２】
通常、ｕとｖは、例えばｕ＝ｖ＝８のように、同一の値を取ることができる。このとき、両側上の点を２つずつ連結して８＊８＝６４本の線分を得ることができる。
【０１０３】
（３）ｕ＊ｖ本の線分のうちの各線分のマッチング距離をそれぞれ計算する。
【０１０４】
電子装置は、ｕ＊ｖ本の線分のうちの各線分のマッチング距離をそれぞれ計算する。線分のマッチング距離は、線分と検出待ち直線との類似度を反映する。線分のマッチング距離が小さいほど、線分と検出待ち直線とが類似する。逆に、線分のマッチング距離が大きいほど、線分と検出待ち直線とがより大きくずれていることになる。
【０１０５】
走査線のマッチング距離の計算と同様に、ｕ＊ｖ本の線分のうちの各線分について、幾つかのサンプリング点をサンプリングして取得し、各サンプリング点の勾配ヒストグラム特徴集合と、線分の実際方向上のテンプレート勾配ヒストグラム特徴集合との間のマッチング距離を計算し、ｎ個のサンプリング点のマッチング距離を加算して線分のマッチング距離を得る。但し、線分の実際方向上のテンプレート勾配ヒストグラム特徴集合において、線分のＫ個の方向での投影距離に基づいて、テンプレート勾配ヒストグラム特徴集合における各勾配ヒストグラム特徴の大きさをその重みに従って割り当てる。
【０１０６】
（４）マッチング距離が最小である線分の属する直線を選択して検出待ち直線とする。
【０１０７】
電子装置は、各線分のマッチング距離を算出した後に、マッチング距離が最小である線分の属する直線を選択して検出待ち直線とする。
【０１０８】
もちろん、電子装置の計算処理力の許容範囲内で、ｕとｖの値を大きめに取ることができ、これにより、検出待ち直線の精確な方向と位置をより精確に特定できる。
【０１０９】
上記ステップ２０１〜ステップ２０７では、画像における直線の検出を詳細に紹介した。背景技術で言及した関連する直線検出方法に比べて、本実施例による直線検出方法は、ハフ変換を使用せず、画像の二値化をする必要もないため、二値化による誤差の影響を充分に避け、直線検出の精確度を高めることができる。以下、本実施例による直線検出方法に基づいて如何に画像における矩形を検出するかについて具体的に紹介する。
【０１１０】
ステップ２０８において、任意の検出待ち直線について、第１の所定条件を満たす第２の検出待ち直線が画像に存在するか否かを検出する。
【０１１１】
電子装置は、任意の検出待ち直線について、第１の所定条件を満たす第２の検出待ち直線が画像に存在するか否かを検出する。電子装置が画像から第２の検出待ち直線を検出する方法は、上記ステップ２０１〜ステップ２０７の直線検出方法を参照すればよい。第２の検出待ち直線の検出後に、引き続き各第２の検出待ち直線が第１の所定条件を満たすか否かを検出する。第１の所定条件は、第２の検出待ち直線と検出待ち直線との交点が画像内にあり、かつ両者がなす角度が角度閾値より小さい、という条件を含む。
【０１１２】
両直線がなす角度は、下記式によって計算できる。
角度θ＝｜ａｒｃｔａｎ（ａＬ１）−ａｒｃｔａｎ（ａＬ２）｜
【０１１３】
ここで、ａＬ１とａＬ２は、それぞれ直線Ｌ１と直線Ｌ２の傾きである。角度の閾値は、例えば３ラジアンのように、大まかに定められればよい。
【０１１４】
ステップ２０９において、検出した結果、第１の所定条件を満たす第２の検出待ち直線が存在する場合、第２の検出待ち直線を候補直線集合に追加する。
【０１１５】
検出した結果、第１の所定条件を満たす第２の検出待ち直線が存在する場合、電子装置は、第２の検出待ち直線を検出待ち直線の候補直線集合に追加する。検出待ち直線の候補直線集合には、第１の所定条件を満たすすべての第２の検出待ち直線が含まれる。
【０１１６】
ステップ２１０において、候補直線集合における任意２本の第２の検出待ち直線について、第２の所定条件を満たす第３の検出待ち直線が存在するか否かを検出する。
【０１１７】
電子装置は、候補直線集合における任意２本の第２の検出待ち直線について、第２の所定条件を満たす第３の検出待ち直線が存在するか否かを検出する。第２の所定条件は、第３の検出待ち直線が検出待ち直線と異なり、第３の検出待ち直線が２本の第２の検出待ち直線の両方と交差し、かつ２つの交点のいずれもが画像内にある、という条件を含む。
【０１１８】
ステップ２１１において、検出した結果、第２の所定条件を満たす第３の検出待ち直線が存在する場合、検出待ち直線、２本の第２の検出待ち直線および第３の検出待ち直線からなる四角形を候補矩形集合に追加する。
【０１１９】
検出した結果、第２の所定条件を満たす第３の検出待ち直線が存在する場合、電子装置は、検出待ち直線、２本の第２の検出待ち直線および第３の検出待ち直線からなる四角形を候補矩形集合に追加する。候補矩形集合には、検出待ち矩形の可能性がある全ての四角形が含まれる。
【０１２０】
ステップ２１２において、候補矩形集合における各四角形について、四角形のマッチング距離を計算する。
【０１２１】
電子装置は、候補矩形集合における各四角形について、四角形のマッチング距離を計算する。四角形のマッチング距離は、四角形と検出待ち矩形との類似度を反映する。四角形のマッチング距離が小さいほど、四角形が検出待ち矩形と類似することを示し、逆に、四角形のマッチング距離が大きいほど、四角形と検出待ち矩形の形状がずれていることを示す。
【０１２２】
四角形のマッチング距離は、四角形の四辺に対応する線分のマッチング距離の和である。ここで、四角形の任意の辺に対応する線分のマッチング距離は、上記のステップ２０７におけるサブステップ（３）での方法を参照すればよく、ここでは繰り返して説明しない。
【０１２３】
ステップ２１３において、マッチング距離が最小である四角形、または、マッチング距離がマッチング閾値より小さい四角形を検出待ち矩形と特定する。
【０１２４】
電子装置は、マッチング距離が最小である四角形、または、マッチング距離がマッチング閾値より小さい四角形を検出待ち矩形と特定する。
【０１２５】
上記記載をまとめると、本実施例による直線検出方法は、画像における各ピクセルの勾配ヒストグラム特徴集合であって、ピクセルが位置する局部領域の直線特性を反映する前記勾配ヒストグラム特徴集合を取得し、各ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定し、その後、候補方向に基づいて、検出待ち直線の精確な方向と位置を特定することによって、関連技術に係る直線検出方法において、境界強度が比較的弱い場合またはノイズによる干渉が発生する場合、直線が途切れてしまい、検出結果が正確ではない問題を解決でき、背景技術で言及した関連する直線検出方法に比べて、本実施例による直線検出方法は、ハフ変換を使用せず、画像の二値化をする必要もないため、二値化による誤差の影響を充分に避け、直線検出の正確度を高めることができる。
【０１２６】
また、本実施例は、直線検出を基に、矩形検出方法も提供する。検出待ち矩形の可能性がある四角形を構成した後に、各四角形のマッチング距離をそれぞれ計算し、マッチング距離が最小である四角形、または、マッチング距離がマッチング閾値より小さい四角形を検出待ち矩形と特定することによって、画像におけるカード、請求書、書籍などの矩形形状の検出を実現し、本発明による直線検出方法及び矩形検出方法の実際応用範囲を広めた。
【０１２７】
以下は、本発明の装置の実施例であり、本発明の方法の実施例を実行できる。本発明の装置の実施例で開示されない細部は、本発明の方法の実施例を参照すればよい。
【０１２８】
図３は、一例示的な実施例による直線検出装置の模式図である。当該直線検出装置は、ソフトウェア、ハードウェアまたは両者の組み合わせによって、電子装置の一部または全部を実現できる。当該直線検出装置は、特徴取得モジュール３１０と、候補特定モジュール３２０と、精確特定モジュール３３０とを含む。
【０１２９】
特徴取得モジュール３１０は、画像における各ピクセルの勾配ヒストグラム特徴集合を取得する。前記勾配ヒストグラム特徴集合は、ピクセルが位置する局部領域の直線特性を反映する。
【０１３０】
候補特定モジュール３２０は、各前記ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定する。
【０１３１】
精確特定モジュール３３０は、前記候補方向に基づいて、前記検出待ち直線の精確な方向と位置を特定する。
【０１３２】
上記の記載をまとめると、本実施例による直線検出装置は、画像における各ピクセルの勾配ヒストグラム特徴集合であって、ピクセルが位置する局部領域の直線特性を反映する上記勾配ヒストグラム特徴集合を取得し、各ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定し、その後、候補方向に基づいて、検出待ち直線の精確な方向と位置を特定することによって、関連技術に係る直線検出方法において、境界強度が比較的弱い場合またはノイズによる干渉が発生する場合、直線が途切れてしまい、検出結果が正確ではない問題を解決でき、背景技術で言及した関連する直線検出方法に比べて、本実施例による直線検出方法は、ハフ変換を使用せず、画像の二値化をする必要もないため、二値化による誤差の影響を充分に避け、直線検出の正確度を高めることができる。
【０１３３】
図４は、別の例示的な実施例による直線検出装置の模式図である。当該直線検出装置は、ソフトウェア、ハードウェアまたは両者の組み合わせによって、電子装置の一部または全部を実現できる。当該直線検出装置は、特徴取得モジュール３１０と、候補特定モジュール３２０と、精確特定モジュール３３０と、第１の検出モジュール３３２と、直線候補モジュール３３４と、第２の検出モジュール３３６と、矩形候補モジュール３３８と、マッチング計算モジュール３４０と、矩形特定モジュール３４２とを含む。
【０１３４】
特徴取得モジュール３１０は、画像における各ピクセルの勾配ヒストグラム特徴集合を取得する。前記勾配ヒストグラム特徴集合は、ピクセルが位置する局部領域の直線特性を反映する。
【０１３５】
前記特徴取得モジュール３１０は、勾配計算ユニット３１０ａと特徴計算ユニット３１０ｂとを含む。
【０１３６】
前記勾配計算ユニット３１０ａは、前記ピクセル（ｉ，ｊ）ごとに、前記ピクセルの方向勾配集合ｇ（ｉ，ｊ）を計算する。前記方向勾配集合ｇ（ｉ，ｊ）は、前記ピクセルのＫ（Ｋ≧２）個の方向における方向勾配値を含む。前記ピクセルの任意の方向における方向勾配値は、前記方向において前記ピクセルと隣接ピクセルとの間の階調値の差の絶対値である。
【０１３７】
前記特徴計算ユニット３１０ｂは、前記ピクセルの方向勾配集合ｇ（ｉ，ｊ）に基づいて、前記ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）を計算する。
【０１３８】
前記特徴計算ユニット３１０ｂは、局部領域勾配サブユニット３１０ｂ１と、平均勾配サブユニット３１０ｂ２と、平均検出サブユニット３１０ｂ３と、特徴リセットサブユニット３１０ｂ４と、特徴計算サブユニット３１０ｂ５と、特徴特定サブユニット３１０ｂ６とを含む。
【０１３９】
前記局部領域勾配サブユニット３１０ｂ１は、前記ピクセルの前記Ｋ個の方向における局部領域勾配値
0006007354.tif 000020
をそれぞれ計算する。ｋ方向における局部領域勾配値
0006007354.tif 000021
は、前記ピクセルが位置する局部領域における全てのピクセルの前記ｋ方向における方向勾配値の和であり、ｋは方向を表す。
【０１４０】
前記平均勾配サブユニット３１０ｂ２は、前記ピクセルの平均勾配値ｈｎｏｒｍ（ｉ，ｊ）を計算する。前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）は、前記ピクセルの各前記局部領域勾配値
0006007354.tif 000022
の平方和のルートである。
【０１４１】
前記平均検出サブユニット３１０ｂ３は、ピクセル（ｉ，ｊ）ごとに、前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）が所定の平均値Ｔｎｏｒｍより小さいか否かを検出する。
【０１４２】
前記特徴リセットサブユニット３１０ｂ４は、検出結果として前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）が前記所定の平均値Ｔｎｏｒｍより小さい場合、前記ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）のうちの各勾配ヒストグラム特徴を０にリセットする。
【０１４３】
前記特徴計算サブユニット３１０ｂ５は、前記局部領域勾配値
0006007354.tif 000023
を前記平均勾配値ｈｎｏｒｍ（ｉ，ｊ）で除算して、前記ピクセルの前記ｋ方向における勾配ヒストグラム特徴ｈｋ（ｉ，ｊ）を取得する。
【０１４４】
前記特徴特定サブユニット３１０ｂ６は、前記Ｋ個の方向における勾配ヒストグラム特徴の集合を前記ピクセルの勾配ヒストグラム特徴集合ｈ（ｉ，ｊ）と特定する。
【０１４５】
候補特定モジュール３２０は、各前記ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定する。
【０１４６】
前記候補特定モジュール３２０は、方向選択ユニット３２０ａと、投票統計ユニット３２０ｂと、候補選択ユニット３２０ｃとを含む。
【０１４７】
前記方向選択ユニット３２０ａは、前記ピクセルごとに、前記勾配ヒストグラム特徴集合において数値が最大である勾配ヒストグラム特徴に対応する方向を選択して、前記ピクセルが位置する局部領域の主方向とする。
【０１４８】
前記投票統計ユニット３２０ｂは、各前記ピクセルが位置する局部領域の主方向の、前記Ｋ個の方向における投票数を統計する。
【０１４９】
前記候補選択ユニット３２０ｃは、前記投票数が投票閾値を超える方向に直交する方向を選択して、前記検出待ち直線の候補方向とする。
【０１５０】
精確特定モジュール３３０は、前記候補方向に基づいて、前記検出待ち直線の精確な方向と位置を特定する。
【０１５１】
前記精確特定モジュール３３０は、走査生成ユニット３３０ａと、走査マッチングユニット３３０ｂと、走査選択ユニット３３０ｃと、精確特定ユニット３３０ｄとを含む。
【０１５２】
前記走査生成ユニット３３０ａは、前記候補方向ごとに、前記候補方向に平行な少なくとも１本の走査線を生成する。
【０１５３】
前記走査マッチングユニット３３０ｂは、各走査線のマッチング距離をそれぞれ計算する。前記走査線のマッチング距離は、前記走査線と前記検出待ち直線との類似度を反映する。
【０１５４】
前記走査マッチングユニット３３０ｂは、サンプリング取得サブユニット３３０ｂ１と、サンプリングマッチングサブユニット３３０ｂ２と、サンプリング加算サブユニット３３０ｂ３とを含む。
【０１５５】
前記サンプリング取得サブユニット３３０ｂ１は、各前記走査線について、ｎ（ｎ≧１）個のサンプリング点をサンプリングして取得する。
【０１５６】
前記サンプリングマッチングサブユニット３３０ｂ２は、各前記サンプリング点の勾配ヒストグラム特徴集合と、前記候補方向に直交する方向におけるテンプレート勾配ヒストグラム特徴集合との間のマッチング距離を計算する。
【０１５７】
前記サンプリング加算サブユニット３３０ｂ３は、前記ｎ個のサンプリング点のマッチング距離を加算して前記走査線のマッチング距離を得る。
【０１５８】
前記走査選択ユニット３３０ｃは、マッチング距離が最小である前記走査線を候補直線として選択する。
【０１５９】
前記精確特定ユニット３３０ｄは、前記候補直線に基づいて、前記検出待ち直線の精確な方向と位置を特定する。
【０１６０】
前記精確特定ユニット３３０ｄは、矩形生成サブユニット３３０ｄ１と、線分生成サブユニット３３０ｄ２と、線分マッチングサブユニット３３０ｄ３と、線分選択サブユニット３３０ｄ４とを含む。
【０１６１】
前記矩形生成サブユニット３３０ｄ１は、前記候補直線を中心軸線として、所定の大きさの矩形領域を生成する。
【０１６２】
前記線分生成サブユニット３３０ｄ２は、前記矩形領域の前記候補直線に直交する直線の両側でそれぞれｕ（ｕ≧１）個とｖ（ｖ≧１）個の点を選択し、両側の点を２つずつ連結してｕ＊ｖ本の線分を取得する。
【０１６３】
前記線分マッチングサブユニット３３０ｄ３は、前記ｕ＊ｖ本の線分のうちの各線分のマッチング距離をそれぞれ計算する。前記線分のマッチング距離は、前記線分と前記検出待ち直線との類似度を反映する。
【０１６４】
前記線分選択サブユニット３３０ｄ４は、マッチング距離が最小である線分の属する直線を前記検出待ち直線として選択する。
【０１６５】
第１の検出モジュール３３２は、任意の前記検出待ち直線について、第１の所定条件を満たす第２の検出待ち直線が前記画像に存在するか否かを検出する。前記第１の所定条件は、前記第２の検出待ち直線と前記検出待ち直線との交点が前記画像内にあり、かつ両者がなす角度が角度閾値より小さい、という条件を含む。
【０１６６】
直線候補モジュール３３４は、検出結果として第１の所定条件を満たす第２の検出待ち直線が存在する場合、前記第２の検出待ち直線を候補直線集合に追加する。
【０１６７】
第２の検出モジュール３３６は、前記候補直線集合における任意２本の前記第２の検出待ち直線について、第２の所定条件を満たす第３の検出待ち直線が存在するか否かを検出する。前記第２の所定条件は、前記第３の検出待ち直線が前記検出待ち直線と異なり、前記第３の検出待ち直線が２本の前記第２の検出待ち直線の両方に交差し、かつ２つの交点の両方が前記画像内にある、という条件を含む。
【０１６８】
矩形候補モジュール３３８は、検出結果として第２の所定条件を満たす第３の検出待ち直線が存在する場合、前記検出待ち直線、２本の前記第２の検出待ち直線および前記第３の検出待ち直線からなる四角形を候補矩形集合に追加する。
【０１６９】
マッチング計算モジュール３４０は、前記候補矩形集合における各四角形について、前記四角形と検出待ち矩形との類似度を反映する前記四角形のマッチング距離を計算する。前記四角形のマッチング距離は、前記四角形の四辺に対応する線分のマッチング距離の和である。
【０１７０】
矩形特定モジュール３４２は、マッチング距離が最小である四角形、または、マッチング距離がマッチング閾値より小さい四角形を前記検出待ち矩形と特定する。
【０１７１】
上記の記載をまとめると、本実施例による直線検出装置は、画像における各ピクセルの勾配ヒストグラム特徴集合であって、ピクセルが位置する局部領域の直線特性を反映する前記勾配ヒストグラム特徴集合を取得し、各ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定し、その後、候補方向に基づいて、検出待ち直線の精確な方向と位置を特定することによって、関連技術に係る直線検出方法において、境界強度が比較的弱い場合またはノイズによる干渉が発生する場合、直線が途切れてしまい、検出結果が正確ではない問題を解決でき、本実施例による直線検出方法は、ハフ変換を使用せず、画像の二値化をする必要もないため、二値化による誤差の影響を充分に避け、直線検出の正確度を高めることができる。
【０１７２】
また、本実施例は、直線検出を基に、矩形検出装置も提供する。検出待ち矩形の可能性がある四角形を構成した後に、各四角形のマッチング距離をそれぞれ計算し、マッチング距離が最小である四角形、または、マッチング距離がマッチング閾値より小さい四角形を検出待ち矩形と特定することによって、画像におけるカード、請求書、書籍などの矩形形状の検出を実現し、本発明による直線検出装置及び矩形検出装置の実際応用範囲を広めた。
【０１７３】
なお、上記実施例による直線検出装置は、画像における直線を検出する際に、上記各機能的モジュールの区分を例として説明したが、実際の応用時に、必要に応じて上記機能を異なる機能的モジュールに割り当てて完成してもよい。すなわち、装置の内部構成を異なる機能的モジュールに区分して、以上記載した全てまたは一部の機能を完成してもよい。また、上記実施例による直線検出装置は、直線検出方法の方法実施例と同一の構想に属し、その具体的な実現過程は方法の実施例を参照すればよく、ここでは繰り返して説明しない。
【０１７４】
図５は、一例示的実施例による直線検出用装置５００のブロック図である。例えば、装置５００は、携帯電話、コンピュータ、デジタル放送端末、メッセージ送受信装置、ゲームコンソール、タブレット装置、医療設備、フィットネス機器、ＰＤＡなどである。
【０１７５】
図５を参照すると、装置５００は、プロセスアセンブリ５０２、メモリ５０４、電源アセンブリ５０６、マルチメディアアセンブリ５０８、オーディオアセンブリ５１０、入出力（Ｉ／Ｏ）インターフェイス５１２、センサアセンブリ５１４、及び通信アセンブリ５１６のような一つ以上のアセンブリを含んでよい。
【０１７６】
プロセスアセンブリ５０２は、一般的には装置５００の全体の操作を制御するものであり、例えば、表示、電話呼び出し、データ通信、カメラ操作、及び記録操作と関連する操作を制御する。プロセスアセンブリ５０２は、一つ以上のプロセッサ５２０を含み、これらによって命令を実行することにより、上記の方法の全部、或は一部のステップを実現するようにしてもよい。なお、プロセスアセンブリ５０２は、一つ以上のモジュールを含み、これらによってプロセスアセンブリ５０２と他のアセンブリの間のインタラクションを容易にするようにしてもよい。例えば、プロセスアセンブリ５０２は、マルチメディアモジュールを含み、これらによってマルチメディアアセンブリ５０８とプロセスアセンブリ５０２の間のインタラクションを容易にするようにしてもよい。
【０１７７】
メモリ５０４は、各種類のデータを記憶することにより装置５００の操作を支援するように構成される。これらのデータの例は、装置５００において操作されるいずれのアプリケーションプログラム又は方法の命令、連絡対象データ、電話帳データ、メッセージ、画像、ビデオ等を含む。メモリ５０４は、いずれの種類の揮発性メモリ、不揮発性メモリ記憶デバイスまたはそれらの組み合わせによって実現されてもよく、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ Ｅｒａｓａｂｌｅ Ｐｒｏｇｒａｍｍａｂｌｅ Ｒｅａｄ−Ｏｎｌｙ Ｍｅｍｏｒｙ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ Ｐｒｏｇｒａｍｍａｂｌｅ Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）、ＰＲＯＭ（ Ｐｒｏｇｒａｍｍａｂｌｅ ＲＯＭ）、ＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｂｅｒ）、磁気メモリ、フラッシュメモリ、磁気ディスク、或いは光ディスクである。
電源アセンブリ５０６は、装置５００の多様なアセンブリに電力を供給する。電源アセンブリ５０６は、電源管理システム、一つ以上の電源、及び装置５００のための電力の生成、管理及び割り当てに関連する他のアセンブリを含んでもよい。
【０１７８】
マルチメディアアセンブリ５０８は、上記装置５００とユーザの間に一つの出力インターフェイスを提供するスクリーンを含む。上記の実施例において、スクリーンは液晶モニター（ＬＣＤ）とタッチパネル（ＴＰ）を含んでもよい。スクリーンがタッチパネルを含むことにより、スクリーンはタッチスクリーンを実現することができ、ユーザからの入力信号を受信することができる。タッチパネルは一つ以上のタッチセンサを含み、タッチ、スライド、及びタッチパネル上のジェスチャを検出することができる。上記タッチセンサは、タッチ、或はスライド動作の境界だけでなく、上記タッチ、或はスライド操作に係る継続時間及び圧力も検出できる。部分実施例において、マルチメディアアセンブリ５０８は、一つのフロントカメラ、及び／又はリアカメラを含む。装置５００が、例えば撮影モード、或はビデオモード等の操作モードにある場合、フロントカメラ、及び／又はリアカメラは外部からマルチメディアデータを受信できる。フロントカメラとリアカメラのそれぞれは、一つの固定型の光レンズ系、或は可変焦点距離と光学ズーム機能を有するものであってもよい。
【０１７９】
オーディオアセンブリ５１０は、オーディオ信号を入出力するように構成される。例えば、オーディオアセンブリ５１０は、一つのマイク（ＭＩＣ）を含み、装置５００が、例えば呼出しモード、記録モード、及び音声認識モード等の操作モードにある場合、マイクは外部のオーディオ信号を受信することができる。受信されたオーディオ信号は、さらにメモリ５０４に記憶されたり、通信アセンブリ５１６を介して送信されたりする。部分実施例において、オーディオアセンブリ５１０は、オーディオ信号を出力するための一つのスピーカーをさらに含む。
【０１８０】
Ｉ／Ｏインターフェイス５１２は、プロセスアセンブリ５０２と周辺インターフェイスモジュールの間にインターフェイスを提供するものであり、上記周辺インターフェイスモジュールは、キーボード、クリックホイール、ボタン等であってもよい。これらのボタンは、ホームボタン、ボリュームボタン、起動ボタン、ロッキングボタンを含んでもよいが、これらに限定されない。
【０１８１】
センサアセンブリ５１４は、装置５００に各方面の状態に対する評価を提供するための一つ以上のセンサを含む。例えば、センサアセンブリ５１４は、装置５００のＯＮ／ＯＦＦ状態、装置５００のディスプレイとキーパッドのようなアセンブリの相対的な位置決めを検出できる。また、例えば、センサアセンブリ５１４は、装置５００、或は装置５００の一つのアセンブリの位置変更、ユーザと装置５００とが接触しているか否か、装置５００の方位、又は加速／減速、装置５００の温度の変化を検出できる。センサアセンブリ５１４は、何れの物理的接触がない状態にて付近の物体の存在を検出するための近接センサを含んでもよい。センサアセンブリ５１４は、撮影アプリケーションに適用するため、ＣＭＯＳ、又はＣＣＤ図像センサのような光センサを含んでもよい。部分実施例において、当該センサアセンブリ５１４は、加速度センサ、ジャイロスコープセンサ、磁気センサ、圧力センサ、及び温度センサをさらに含んでもよい。
【０１８２】
通信アセンブリ５１６は、装置５００と他の機器の間に有線、又は无線形態の通信を提供する。装置５００は、例えばＷｉＦｉ、２Ｇ、３Ｇ、或はこれらの組み合わせのような、通信規格に基づいた无線ネットワークに接続されてもよい。一つの例示的な実施例において、通信アセンブリ５１６は、放送チャンネルを介して外部の放送管理システムからの放送信号、又は放送に関連する情報を受信する。一つの例示的な実施例において、前記通信アセンブリ５１６は、近距離無線通信（ＮＦＣ）モジュールをさらに含むことにより、近距離通信をプッシュする。例えば、ＮＦＣモジュールは、ＲＦＩＤ（Ｒａｄｉｏ Ｆｒｅｑｕｅｎｃｙ ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）技術、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ Ｄａｔａ Ａｓｓｏｃｉａｔｉｏｎ）技術、ＵＷＢ（Ｕｌｔｒａ Ｗｉｄｅ Ｂａｎｄ）技術、ＢＴ（Ｂｌｕｅｔｏｏｔｈ）技術、および他の技術に基づいて実現できる。
【０１８３】
例示的な実施例において、装置５００は、一つ以上のＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ Ｓｐｅｃｉｆｉｃ Ｉｎｔｅｇｒａｔｅｄ Ｃｉｒｃｕｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ Ｓｉｇｎａｌ Ｐｒｏｃｅｓｓｏｒ）、ＤＳＰＤ（Ｄｉｇｉｔａｌ Ｓｉｇｎａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｄｅｖｉｃｅ）、ＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ Ｌｏｇｉｃ Ｄｅｖｉｃｅ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ Ｇａｔｅ Ａｒｒａｙ）、コントローラ、マイクロコントローラ、マイクロプロセッサ、または他の電子部品によって実現されるものであり、上記方法を実行する。
【０１８４】
例示的な実施例において、さらに、命令を含むコンピュータ読取り可能な非一時的な記録媒体、例えば命令を含むメモリ５０４を提供しており、装置５００のプロセッサ５２０により上記命令を実行して上記方法を実現する。例えば、前記コンピュータ読取り可能な非一時的な記録媒体は、ＲＯＭ、ＲＡＭ、ＣＤ-ＲＯＭ、磁気テープ、フロッピーディスク、光データ記憶デバイス等である。
【０１８５】
本実施例は、コンピュータ読み取り可能な不揮発性記録媒体を提供し、移動端末は、当該移動端末のプロセッサにより当該記録媒体に記憶されている指令を実行することにより、直線検出方法を実現し、当該方法は、
画像における各ピクセルの勾配ヒストグラム特徴集合であって、ピクセルが位置する局部領域の直線特性を反映する前記勾配ヒストグラム特徴集合を取得するステップと、
各前記ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定するステップと、
前記候補方向に基づいて、前記検出待ち直線の精確な方向と位置を特定するステップとを含む。
【０１８６】
上記記載をまとめると、本実施例による装置は、画像における各ピクセルの勾配ヒストグラム特徴集合であって、ピクセルが位置する局部領域の直線特性を反映する前記勾配ヒストグラム特徴集合を取得し、各ピクセルの勾配ヒストグラム特徴集合に基づいて、検出待ち直線の少なくとも１つの候補方向を特定し、その後、候補方向に基づいて、検出待ち直線の精確な方向と位置を特定することによって、関連技術に係る直線検出方法において、境界強度が比較的弱い場合またはノイズによる干渉が発生する場合、直線が途切れてしまい、検出結果が正確ではない問題を解決でき、本実施例による直線検出方法は、ハフ変換を使用せず、画像の二値化をする必要もないため、二値化による誤差の影響を充分に避け、直線検出の正確度を高めることができる。
【０１８７】
なお、典型的には、本発明に記載の移動端末は、例えば携帯電話、パーソナルディジタルアシスタント（ＰＤＡ）等の各種の手持ち端末装置であってもよいため、本発明の保護範囲をある特定タイプの移動端末に限定すべきではない。
【０１８８】
なお、本発明に係る方法は、さらに、ＣＰＵにより実行されるコンピュータプログラムとしても実現され得る。該コンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。該コンピュータプログラムがＣＰＵにより実行されると、本発明の方法において限定される上述の機能が実現される。
【０１８９】
なお、上記の方法の各ステップ及びシステム要素は、コントローラ、及びコントローラに上記のステップ又は要素の機能を実現させるコンピュータプログラムを記録するためのコンピュータ読み取り可能な記録媒体によりも実現され得る。
【０１９０】
なお、本発明に記載のコンピュータ読取り可能な記録媒体（例えば、メモリ）は、揮発性メモリまたは不揮発性メモリのいずれかであってもよく、あるいは、揮発性メモリ及び不揮発性メモリの両方を備えてもよい、とのことを理解すべきである。例えば、不揮発性メモリには、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、又はフラッシュメモリが含まれてもよく、揮発性メモリには、外部のキャッシュメモリとして機能するＲＡＭが含まれてもよいが、両方ともこれに限定されるものではない。例えば、ＲＡＭは、ＳＲＡＭ、ＤＲＡＭ、ＳＤＲＡＭ、ＤＤＲ ＳＤＲＡＭ（ダブル・データ・レートＳＤＲＡＭ）、ＥＳＤＲＡＭ（エンハンストＳＤＲＡＭ）、ＳＬＤＲＡＭ（シンクリンクＤＲＡＭ）及びＤＲＲＡＭ（ダイレクトＲａｍｂｕｓ ＲＡＭ）などの多くの形式により実現可能であるが、これに限定されるものではない。ここで上記の記録媒体を開示するのは、本発明の保護範囲にこれらの記録媒体及び他の適したタイプの記録媒体を含ませるためであって、これらのみに限定されないことを意図する。
【０１９１】
当業者は、更に、本発明に記載の種々の例示的な論理ブロック、モジュール、回路、及びアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、又は両者の組み合わせにより実現され得る、ことを理解すべきである。ハードウェアとソフトウェアの間のこのような互換性を明確に説明するために、種々の例示的なコンポーネント、ブロック、モジュール、回路、及びステップの機能について、以上において通常的な説明を行っている。このような機能が、ソフトウェアにより実現されるか、又は、ハードウェアにより実現されるかは、具体的なアプリ、及びシステム全体に課される設計上の制約により選択される。当業者は、具体的なアプリそれぞれにおいて、様々な方式を選択して前記機能を実現してもよく、このような選択は、本発明の範囲を逸脱したものとして解釈されるべきではない。
【０１９２】
以上の開示内容に結び付けられて説明される種々の例示的な論理ブロック、モジュール、及び回路は、上述の機能を行なうように設計された汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラム可能な論理デバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、或いは、これら部材の任意の組み合わせによって、実現又は実行され得る。汎用プロセッサは、マイクロプロセッサであってもよいが、マイクロプロセッサの代わりに、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又は状態機械であってもよい。プロセッサは、例えば、ＤＳＰとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと１つ又は複数のマイクロプロセッサの組み合わせ、或いは任意のこのような他の構成といった、コンピューティングデバイスの組み合わせとして実現されてもよい。
【０１９３】
以上の開示内容に結び付けられて説明される方法、又は、アルゴリズムのステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、又はこの両者の組合せに直接的に含まれてもよい。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、又は当該分野において公知の他の形態で存在する任意の記憶媒体に格納されてもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み出すことができ、且つ、プロセッサが記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代案として、前記記憶媒体はプロセッサと一体的に集積されてもよい。プロセッサと記憶媒体はＡＳＩＣに格納されてもよい。ＡＳＩＣはユーザ端末に格納されてもよい。代案として、プロセッサと記憶媒体は別個のコンポーネントとしてユーザ端末に格納されてもよい。
【０１９４】
１つ又は複数の例示的な設計として、前記機能はハードウェア、ソフトウェア、ファームウェア又はこれらの任意の組み合わせによって実現され得る。ソフトウェアにより実現される場合、前記機能を１つ又は複数の指令、又はコードとしてコンピュータ読取り可能な媒体に記憶するか、又は、コンピュータ読取り可能な媒体を用いて伝送する。コンピュータ読取り可能な媒体は、コンピュータ記憶媒体及び通信媒体を含み、該通信媒体には、コンピュータプログラムを１つの位置から他の位置へ伝送するための任意の媒体が含まれる。記憶媒体は、汎用又は専用コンピュータによりアクセス可能な任意の使用可能媒体であり得る。例として、該コンピュータ読取り可能な媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又は他の光ディスク記憶デバイス、ディスク記憶デバイス又は他の磁性記憶デバイスを含んでもよく、或いは、携帯できるもの、又は記憶形態が指令又はデータ構造である必要なプログラムコードを記憶するためのもので、且つ、汎用又は専用コンピュータ或いは汎用又は専用プロセッサによりアクセス可能な任意の他の媒体であり得るが、これに限定されるものではない。なお、任意の接続であっても、コンピュータ読取り可能な媒体として称され得る。例えば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、又は、赤外線、ワイヤレス及びマイクロ波のような無線技術を用いて、ウェブサイト、サーバ又は他のリモートソースからソフトウェアを送信する場合、上記の同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、又は、赤外線、ワイヤレス及びマイクロ波のような無線技術の何れもが媒体の定義に含まれる。以上の磁気ディスク及び光ディスクは、コンパクトディスク（ＣＤ）、レーザーディスク、光ディスク、デジタルバーサタイルディスク（ＤＶＤ）、フロッピー・ディスク、ブルーレイディスクを含んでおり、磁気ディスクは、通常磁性を利用してデータの再生を行なうものであり、光ディスクは、レーザ光を用いて光学的にデータの再生を行なうものである。また、以上の構成の組合わせもコンピュータ読取り可能な媒体の範囲に含まれるべきである。
【０１９５】
以上の開示内容により、本発明の実施例を例示的に示しているが、特許請求の範囲により限定される本発明の範囲を逸脱しない限り、多種の変更及び修正を行うことができる。以上に開示された実施例に基づく方法請求項の機能、ステップ及び／又はジェスチャーは、ある特定の手順で実行する必要はない。なお、本発明に係る要素は、個体として記載又は要求されているが、単数であると明確に限定されていない限りは複数であってもよい。
【０１９６】
上記の本発明の実施例の番号は、単に記載のためのものであり、実施例の優劣を代表するものではない。
【０１９７】
当業者は、上記実施例の全部または一部のステップをハードウェアによって実現してもよく、プログラムを通じて関連するハードウェアを指令することによって実現してもよいことを理解できる。上記のプログラムは、コンピュータ読み取り可能な記録媒体に記録でき、上記言及した記録媒体は、ＲＯＭ、磁気ディスクまたは光ディスクである。
【０１９８】
以上は、本発明の好ましい実施例に過ぎず、本発明を限定するものではない。本発明の趣旨及び原則範囲内で行われる任意の修正、均等の取替、改良などは、その何れも本発明の保護範囲に含まれるべきである。
【図１】
0006007354.tif 000032
【図２Ａ】
0006007354.tif 000033
【図２Ｂ】
0006007354.tif 000034
【図２Ｃ】
0006007354.tif 000035
【図３】
0006007354.tif 000036
【図４】
0006007354.tif 000037
【図５】
0006007354.tif 000038