"コードを含む画像を取得する取得部と、前記画像から前記コードの一部を含む複数の局所領域を検出する検出部と、前記複数の局所領域を統合してコード領域を得る統合部と、前記コード領域を読み取る読取部と、を備える読取装置。前記統合部は、前記複数の局所領域の位置に基づいて前記コード領域の主軸を算出し、前記読取部は、前記主軸方向に前記コード領域を読み取る請求項1に記載の読取装置。前記統合部は、前記複数の局所領域の位置に応じて前記複数の局所領域を統合し、1以上のコード領域を得る請求項1又は2に記載の読取装置。前記統合部は、前記複数の局所領域それぞれについて当該局所領域の位置と他の局所領域の位置とを用いて局所領域距離を算出し、当該局所領域距離が閾値未満の局所領域を統合し、前記1以上のコード領域を得る請求項3に記載の読取装置。前記検出部は、前記複数の局所領域それぞれの方向を更に検出し、前記統合部は、前記複数の局所領域の位置及び前記方向に応じて前記複数の局所領域を統合し、1以上のコード領域を得る請求項1又は2に記載の読取装置。前記統合部は、前記複数の局所領域それぞれについて当該局所領域の位置と他の局所領域の位置とを用いて第1局所領域距離を算出するとともに前記局所領域の方向と前記他の局所領域の方向とを用いて第2局所領域距離を算出し、当該第1局所領域距離及び当該第2局所領域距離に基づく値が閾値未満の局所領域を統合し、前記1以上のコード領域を得る請求項5に記載の読取装置。前記統合部は、前記複数の局所領域それぞれについて当該局所領域の位置と他の局所領域の位置とを用いて第1局所領域距離を算出するとともに前記局所領域の方向と前記他の局所領域の方向とを用いて第2局所領域距離を算出し、当該第1局所領域距離が第1閾値未満であり、かつ当該第2局所領域距離が第2閾値未満である局所領域を統合し、前記1以上のコード領域を得る請求項5に記載の読取装置。前記コードは、前記主軸方向には模様が異なり、前記主軸方向に対して垂直な方向には、模様が一様なパタンであり、前記読取部は、前記コード領域の前記パタンを認識して、前記コードを復号する請求項1~7のいずれか1つに記載の読取装置。取得部が、コードを含む画像を取得する取得ステップと、検出部が、前記画像から前記コードの一部を含む複数の局所領域を検出する検出ステップと、統合部が、前記複数の局所領域を統合してコード領域を得る統合ステップと、読取部が、前記コード領域を読み取る読取ステップと、を含む読取方法。コードを含む画像を取得する取得ステップと、前記画像から前記コードの一部を含む複数の局所領域を検出する検出ステップと、前記複数の局所領域を統合してコード領域を得る統合ステップと、前記コード領域を読み取る読取ステップと、をコンピュータに実行させるためのプログラム。しかしながら、上述したような従来技術では、変形可能な物体にコードが印刷又は貼り付けられている場合、物体の変形に伴いコードに歪みが生じるため、コードを読み取れない場合がある。本発明が解決しようとする課題は、歪みが生じたコードであっても読み取り可能な読取装置、方法及びプログラムを提供することである。実施形態の読取装置は、取得部と、検出部と、統合部と、読取部と、を備える。取得部は、コードを含む画像を取得する。検出部は、画像からコードの一部を含む複数の局所領域を検出する。統合部は、複数の局所領域を統合してコード領域を得る。読取部は、コード領域を読み取る。以下、添付図面を参照しながら、実施形態を詳細に説明する。第1実施形態図1は、第1実施形態の読取装置10の一例を示す構成図である。図1に示すように、読取装置10は、取得部11と、検出部13と、統合部15と、読取部17とを、備える。読取装置10の各部は、例えば、CPUCentralProcessingUnitなどの処理装置にプログラムを実行させること、即ち、ソフトウェアにより実現してもよいし、ICIntegratedCircuitなどのハードウェアにより実現してもよいし、ソフトウェア及びハードウェアを併用して実現してもよい。取得部11は、画像入力部図示省略から入力される画像を取得する。画像入力部は、例えば、デジタルカメラなどの撮像装置により実現でき、撮像した画像を入力する。第1実施形態では、画像入力部が入力する画像、即ち、取得部11が取得する画像は、湾曲など変形可能な物体に印刷又は貼り付けられているコードを撮像した画像を想定している。このため、第1実施形態では、取得部11は、コードを含む画像を取得することになる。なお、物体の変形に伴い歪みが生じているコードを画像入力部が撮像した場合には、取得部11が取得した画像内のコードにも当然歪みが生じている。第1実施形態のコードは、光学的に認識可能なコードであり、局所的に類似した模様が繰り返し並んだパタンが用いられる。具体的には、第1実施形態のコードは、第1方向には模様が異なり、第1方向に対して垂直な第2方向には模様が一様なパタンが用いられる。第1実施形態では、第1方向は、コードが印刷又は貼り付けられる物体の主軸方向を想定しており、以下では、第1方向をコードの主軸方向と称するものとする。物体の主軸とは、例えば、物体の長手方向の中心軸が該当し、コードの主軸とは、例えば、コードの主軸方向第1方向での中心軸が該当する。図2は、第1実施形態のコード21の一例を示す図である。図2に示す例では、コード21は、コード21の主軸方向に対して白黒の縞模様のパタンが用いられた1次元のコードとなっている。なお図2に示す例では、ケーブル図示省略に印刷されることを想定して、コード21を円筒形状で表しているが、コード21の形状はこれに限定されるものではない。また図2に示す例では、コード21の主軸方向とケーブルの主軸方向とを一致させて、コード21をケーブルに印刷することを想定している。検出部13は、取得部11により取得された画像から、コードの一部を含む複数の局所領域を検出する。具体的には、検出部13は、コードパタンの一部を形成する模様を含む局所領域を検出対象のオブジェクトとする検出器を用いて、取得部11により取得された画像から複数の局所領域を検出する。この検出器は、検出対象の模様を含む多数のサンプル画像を用いた機械学習を予め行っておくことで生成できる。図3は、第1実施形態の検出部13の詳細の一例を示す構成図である。図3に示すように、検出部13は、検出器記憶部13Aと、特徴量算出部13Bと、量子化部13Cと、識別部13Dとを、含む。検出器記憶部13Aは、複数の画素領域を有する特徴領域とサンプル画像中の特徴領域の特徴量である学習特徴量を量子化して得られる量子化学習特徴量との組を、予め複数個選択して得られる組み合わせ、及びサンプル画像が検出対象のオブジェクトであるか否かを示す情報、を有する検出器を記憶する。この検出器は、予めサンプル画像に関して学習することで得られる。特徴量算出部13Bは、取得部11により取得された画像中で上記組み合わせに属する各特徴領域に対応する領域の特徴量である入力特徴量を、特徴領域の画素領域の各々に異なる重みを付けた重み付け和又は重み付け和の絶対値を求めることにより算出する。量子化部13Cは、特徴量算出部13Bにより算出された入力特徴量を量子化して量子化入力特徴量を得る。識別部13Dは、量子化部13Cにより得られた量子化入力特徴量を、検出器記憶部13Aに記憶されている検出器に適用して、取得部11により取得された画像内に検出対象のオブジェクト局所領域が含まれているか否かを識別する。図4は、第1実施形態の検出部13により検出された複数の局所領域23の一例を示す図である。例えば、取得部11により取得される画像内のコードが、図2に示すコード21のように、コード21の主軸方向に対して白黒の縞模様のパタンが用いられた1次元コードであるとする。この場合、検出部13は、白黒の模様を数本含む局所領域を検出対象のオブジェクトとする検出器を用いて、取得部11により取得された画像から、図4に示すように、白黒の模様を数本含む複数の局所領域23を検出する。この検出器は、白黒の模様を数本含む多数のサンプル画像を用いた機械学習を予め行っておくことで生成できる。機械学習のためのサンプル画像は、実際に画像を撮像した実画像を用いてもよいし、コンピュータグラフィックスにより作成した人工的な画像を用いてもよい。なお図4に示す例では、取得部11により取得された画像内のコード21に歪みが生じているコード21の主軸が曲がっているが、これは、コード21が印刷されたケーブル図示省略の湾曲に伴う歪みである。統合部15は、検出部13により検出された複数の局所領域を統合してコード領域を得る。具体的には、統合部15は、検出部13により検出された複数の局所領域の位置に応じて複数の局所領域を統合し、1以上のコード領域を得る。例えば、統合部15は、検出部13により検出された複数の局所領域それぞれについて当該局所領域の位置と他の局所領域の位置とを用いて局所領域距離を算出し、当該局所領域距離が閾値未満の局所領域を統合し、1以上のコード領域を得る。なお第1実施形態では、統合部15は、複数の局所領域それぞれについて、当該局所領域と当該局所領域以外の他の局所領域それぞれとの局所領域距離を算出し、算出した局所領域距離が閾値未満の局所領域を統合するものとするが、これに限定されるものではない。例えば、統合部15は、複数の局所領域それぞれについて、当該局所領域と当該局所領域に近接する他の局所領域それぞれとの局所領域距離を算出し、算出した局所領域距離が閾値未満の局所領域を統合するようにしてもよい。第1実施形態では、統合部15は、局所領域間の中心距離に基づいて階層的クラスタリングを行って局所領域を統合するものとするが、局所領域の統合手法はこれに限定されるものではない。例えば、1の局所領域の中心位置の2次元座標がx1,y1、他の局所領域の中心位置の2次元座標がx2,y2であるとする。この場合、統合部15は、数式1を用いて、1の局所領域と他の局所領域との間の局所領域距離を二乗距離Dで表す。Dx1,y1,x2,y2=x1-x22y1-y22...1そして統合部15は、算出した二乗距離D局所領域距離が閾値未満であれば両局所領域を統合し、閾値以上であれば両局所領域を統合しない。図5及び図6は、第1実施形態の統合部15により得られたコード領域の一例を示す図である。図5に示す例では、取得部11により取得された画像に含まれるコードがコード21ひとつであるため、統合部15は、複数の局所領域23を統合して1つのコード領域を得ている。一方、図6に示す例では、取得部11により取得された画像に含まれるコードがコード21、31、41の3つであるため、統合部15は、複数の局所領域23を統合したコード領域、複数の局所領域33を統合したコード領域、及び複数の局所領域43を統合したコード領域の3つのコード領域を得ている。このように第1実施形態では、異なるコードの局所領域を統合せずに分離できているが、これは、統合部15が、局所領域距離が閾値未満の局所領域を統合し、局所領域距離が閾値以上の局所領域を統合しないようにしているためである。また統合部15は、検出部13により検出された複数の局所領域の位置に基づいて、コード領域コードの主軸を算出する。第1実施形態では、統合部15は、コード領域に統合された局所領域それぞれの中心位置をフィッティングした2次曲線を主軸として算出するものとするが、主軸の算出手法はこれに限定されるものではない。例えば、コード領域に統合された局所領域それぞれの中心位置をxi,yi、主軸を表す2次曲線をy=ax2bxcとする。但し、i=1,2,...,Nであり、Nは、コード領域に統合された局所領域の個数である。この場合、統合部15は、数式2に示す関数fa,b,cを最小にする変数a,b,cを求めることで、コード領域の主軸を表す2次曲線y=ax2bxcを算出する。これにより、統合部15は、図5に示す例のように、複数の局所領域23を統合したコード領域コード21の主軸25を算出する。読取部17は、統合部15により得られたコード領域を読み取る。具体的には、読取部17は、統合部15により得られたコード領域を統合部15により算出された主軸方向に読み取る。例えば、読取部17は、統合部15により得られたコード領域のパタンコードのパタンを認識して、コードを復号する。図7~図10は、第1実施形態の読取部17の読み取り手法の一例を示す説明図である。まず、読取部17は、図7に示すように、統合部15により算出された主軸25上の点画素28について法線27を算出し、法線27上の点画素のうち点28を中心とする5点点28及び点29の輝度値を加算する。第1実施形態では、輝度値を加算する法線27上の点の数を5としたが、輝度値を加算する法線27上の点の数は、これに限定されるものではない。読取部17は、この処理を主軸25上の各点に対して行うことにより、主軸方向を横軸、輝度値を縦軸とするヒストグラムを作成し図8参照、このヒストグラムを2値化する図9参照。そして読取部17は、2値化したヒストグラムを用いて、各白黒の主軸方向の幅のサイズを算出し、算出した幅のサイズが閾値よりも大きければ1、閾値より小さければ0とする図10参照。これにより、読取部17は、統合部15により得られたコード領域のパタンを認識でき、コードを復号する。図11は、第1実施形態の読取装置10で行われる読取処理の手順の流れの一例を示すフローチャートである。まず、取得部11は、画像入力部から、コードを含む画像を取得するステップS101。続いて、検出部13は、取得部11により取得された画像から、コードの一部を含む複数の局所領域を検出するステップS103。続いて、統合部15は、検出部13により検出された複数の局所領域それぞれの位置に基づいて、複数の局所領域を統合してコード領域を得るステップS105。続いて、読取部17は、統合部15により得られたコード領域を読み取るステップS107。以上のように、第1実施形態では、コードが印刷又は貼り付けられた物体の主軸が曲がるなど変形していてコードに歪みが生じていても、コードの局所的な形状がほとんど変わらないことを利用し、コードを含む画像からコードの一部を含む複数の局所領域を検出してコード領域に統合し、統合したコード領域を読み取る。従って第1実施形態によれば、コードに歪みが生じていても、コードを読み取ることができる。また第1実施形態によれば、局所領域距離が閾値未満の局所領域を統合し、局所領域距離が閾値以上の局所領域を統合しないようにしているため、異なるコードの局所領域を統合せずに分離することができる。また第1実施形態では、主軸方向には模様が異なり、主軸方向に対して垂直な方向には模様が一様なパタンが用いられたコードを使用する。このように第1実施形態によれば、主軸方向に対して垂直な方向のコードの模様は一様なので、コードが非平面に印刷又は貼り付けられており、当該垂直な方向においてコードの一部が隠れてしまう場合であっても、コードを読み取ることができる。また第1実施形態において、コンピュータグラフィックスにより作成した人工的な画像をサンプル画像に用いて機械学習を行い、検出器を生成するようにすれば、サンプル画像の作成に伴う各種コスト労力等を削減することができる。第2実施形態第2実施形態では、局所領域の方向を考慮して局所領域を統合する例について説明する。以下では、第1実施形態との相違点の説明を主に行い、第1実施形態と同様の機能を有する構成要素については、第1実施形態と同様の名称符号を付し、その説明を省略する。図12は、第2実施形態の読取装置50の一例を示す構成図である。図12に示すように、第2実施形態の読取装置50では、検出部53及び統合部55が第1実施形態の読取装置10と相違する。検出部53は、検出した複数の局所領域それぞれの方向を更に検出する。具体的には、検出部53は、コードパタンの一部を形成する模様を含みかつ当該模様の方向を定義した局所領域を検出対象のオブジェクトとする検出器を用いて、取得部11により取得された画像から複数の局所領域及びその方向を検出する。図13は、第2実施形態の検出部53の検出対象のオブジェクト局所領域の一例を示す図である。図13に示す例では、白黒の縞模様が0度の方向を向いている局所領域61、白黒の縞模様が45度の方向を向いている局所領域62、白黒の縞模様が90度の方向を向いている局所領域63、及び白黒の縞模様が135度の方向を向いている局所領域64が、検出対象のオブジェクトとして示されている。この場合、検出部53は、局所領域61を検出対象のオブジェクトとする検出器、局所領域62を検出対象のオブジェクトとする検出器、局所領域63を検出対象のオブジェクトとする検出器、及び局所領域64を検出対象のオブジェクトとする検出器の4つの検出器を用いることで、取得部11により取得された画像から複数の局所領域だけでなくその方向0度、45度、90度、135度を検出する。統合部55は、検出部53により検出された複数の局所領域の位置及び方向に応じて複数の局所領域を統合し、1以上のコード領域を得る。例えば、統合部55は、検出部53により検出された複数の局所領域それぞれについて当該局所領域の位置と他の局所領域の位置とを用いて第1局所領域距離を算出するとともに当該局所領域の方向と他の局所領域の方向とを用いて第2局所領域距離を算出する。そして統合部55は、第1局所領域距離及び第2局所領域距離に基づく値が閾値未満の局所領域を統合し、1以上のコード領域を得る。第2実施形態では、統合部55は、局所領域間の中心距離及び方向差角度差に基づいて階層的クラスタリングを行って局所領域を統合するものとするが、局所領域の統合手法はこれに限定されるものではない。例えば、統合部55は、局所領域の中心位置の2次元座標x,yと局所領域の方向角度dとで3次元ベクトルx,y,dを作り、この3次元ベクトルを用いた何らかの距離尺度に基づいてクラスタリングを行う。なお、距離には、2次元座標及び方向角度の3つの要素を同等に扱うユークリッド距離や二乗距離を用いてもよいし、別々の距離尺度を用いて算出した2次元座標の距離と方向角度の距離との和を用いるようにしてもよい。例えば、1の局所領域の中心位置及び方向がx1,y1,d1、他の局所領域の中心位置及び方向がx2,y2,d2であるとする。この場合、統合部55は、数式3を用いて、1の局所領域と他の局所領域との間の局所領域距離を二乗距離Dで表す。Dx1,y1,d1,x2,y2,d2=D1x1,y1,x2,y2D2d1,d2...3ここで、D1x1,y1,x2,y2、D2d1,d2は、それぞれ、数式4、5を用いて求められる。D1x1,y1,x2,y2=x1-x22y1-y22...4D2d1,d2=d1-d22...5そして統合部55は、算出した二乗距離D局所領域距離が閾値未満であれば両局所領域を統合し、閾値以上であれば両局所領域を統合しない。図14は、第2実施形態の統合部55により得られたコード領域の一例を示す図である。図14に示す例では、取得部11により取得された画像に含まれるコードがコード21、31の2つであるため、統合部55は、複数の局所領域73を統合したコード領域、及び複数の局所領域83を統合したコード領域の2つのコード領域を得ている。このように第2実施形態では、異なるコードが近接している場合であっても異なるコードの局所領域を統合せずに分離できているが、これは、統合部55が、局所領域の距離及び方向を考慮した局所領域距離が閾値未満の局所領域を統合し、局所領域距離が閾値以上の局所領域を統合しないようにしているためである。なお、統合部55は、第1局所領域距離が第1閾値未満であり、かつ第2局所領域距離が第2閾値未満である局所領域を統合し、1以上のコード領域を得るようにしてもよい。つまり統合部55は、算出した二乗距離D1第1局所領域距離が第1閾値未満であり、かつ算出した二乗距離D2第2局所領域距離が第2閾値未満であれば両局所領域を統合し、そうでなければ両局所領域を統合しないようにしてもよい。図15は、第2実施形態の読取装置50で行われる読取処理の手順の流れの一例を示すフローチャートである。まず、取得部11は、画像入力部から、コードを含む画像を取得するステップS201。続いて、検出部53は、取得部11により取得された画像から、コードの一部を含む複数の局所領域及びその方向を検出するステップS203。続いて、統合部55は、検出部53により検出された複数の局所領域それぞれの位置及び方向に基づいて、複数の局所領域を統合してコード領域を得るステップS205。続いて、読取部17は、統合部55により得られたコード領域を読み取るステップS207。以上のように第2実施形態では、局所領域の距離及び方向を考慮した局所領域距離が閾値未満の局所領域を統合し、局所領域距離が閾値以上の局所領域を統合しないようにしているため、異なるコードが近接している場合であっても異なるコードの局所領域を統合せずに分離することができる。ハードウェア構成図16は、上記第1~第2実施形態の読取装置のハードウェア構成の一例を示すブロック図である。図16に示すように、上記各実施形態の読取装置は、CPUなどの制御装置91と、ROMReadOnlyMemoryやRAMRandomAccessMemoryなどの記憶装置92と、HDDHardDiskDriveやSSDSolidStateDriveなどの外部記憶装置93と、ディスプレイなどの表示装置94と、デジタルカメラやボタンなどの各種入力装置95と通信I/F96とを、備えており、通常のコンピュータを利用したハードウェア構成で実現できる。上記各実施形態の読取装置で実行されるプログラムは、ROM等に予め組み込んで提供される。また、上記各実施形態の読取装置で実行されるプログラムを、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、メモリカード、DVD、フレキシブルディスクFD等のコンピュータで読み取り可能な記憶媒体に記憶されて提供するようにしてもよい。また、上記各実施形態の読取装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記各実施形態の読取装置で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。上記各実施形態の読取装置で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、例えば、制御装置91が外部記憶装置93からプログラムを記憶装置92上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。以上説明したとおり、上記各実施形態によれば、歪みが生じたコードであっても読み取ることができる。なお本発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。例えば、上記各実施形態のフローチャートにおける各ステップを、その性質に反しない限り、実行順序を変更し、複数同時に実施し、あるいは実施毎に異なった順序で実施してもよい。"