"内フックから外フックまで渦巻状に成形された渦巻きばねの形状を芯線化するための画像処理装置であり、渦巻きばねを撮影した撮影画像を入力する画像入力手段と、入力された撮影画像から渦巻きばねの輪郭線を抽出する輪郭線抽出手段と、抽出された輪郭線を極座標変換する座標変換手段と、極座標変換された輪郭線に対して、その輪郭線上を一方向に移動しながら一巡したときの輪郭線の角座標値列θ1,θ2,,θnを取得する角座標値列取得手段と、取得された輪郭線の角座標値列を用いて、内フック領域及び外フック領域を特定するフック領域特定手段と、を有する画像処理装置。前記フック領域特定手段は、前記輪郭線の角座標値列が極大値又は極小値となる画素を含む所定の領域を、内フック領域又は外フック領域として特定する、請求項1に記載の画像処理装置。特定された内フック領域内の輪郭線から2つの内フック端点を特定し、それら内フック端点の位置から内フック先端点の位置を算出する内フック先端点算出手段と、特定された外フック領域内の輪郭線から2つの外フック端点を特定し、それら外フック端点の位置から外フック先端点の位置を算出する外フック先端点算出手段と、入力された撮影画像内の渦巻きばねを細線化する細線化手段と、細線化手段で細線化された渦巻きばねの端部を、内フック先端点算出手段で算出した内フック先端点と外フック先端点算出手段で算出した外フック先端点とを用いて修正する細線化画像修正手段と、をさらに有する、請求項1又は2に記載の画像処理装置。内フックから外フックまで渦巻状に成形された渦巻きばねの形状を芯線化するための画像処理方法であり、コンピュータに下記の処理、即ち、渦巻きばねを撮影した撮影画像を入力する画像入力処理と、入力された撮影画像から渦巻きばねの輪郭線を抽出する輪郭線抽出処理と、抽出された輪郭線を極座標変換する座標変換処理と、極座標変換された輪郭線に対して、その輪郭線上を一方向に移動しながら一巡したときの輪郭線の角座標値列θ1,θ2,,θnを取得する角座標値列取得処理と、取得された輪郭線の角座標値列を用いて、内フック領域及び外フック領域を特定するフック領域特定処理と、を実行させる画像処理方法。内フックから外フックまで渦巻状に成形された渦巻きばねの形状を芯線化するためのプログラムであり、コンピュータに下記の処理、即ち、渦巻きばねを撮影した撮影画像を入力する画像入力処理と、入力された撮影画像から渦巻きばねの輪郭線を抽出する輪郭線抽出処理と、抽出された輪郭線を極座標変換する座標変換処理と、極座標変換された輪郭線に対して、その輪郭線上を一方向に移動しながら一巡したときの輪郭線の角座標値列θ1,θ2,,θnを取得する角座標値列取得処理と、取得された輪郭線の角座標値列を用いて、内フック領域及び外フック領域を特定するフック領域特定処理と、を実行させるプログラム。特許文献1の技術は、二次元彫刻において行われる線図形文字等を芯線化する技術であり、工業製品である機械要素の形状を芯線化する技術ではない。特に、機械要素の一種である渦巻きばねでは、撮影された画像から内フック領域及び外フック領域の位置を正確に特定して芯線化する必要がある。一方、特許文献1の技術は、芯線化する対象が渦巻きばねではないため、内フック領域及び外フック領域の形状特性を考慮していない。その結果、特許文献1の技術では、内フック領域及び外フック領域の位置を正確に特定して芯線化することができない場合がある。本願は、渦巻きばねの撮影画像から内フック領域及び外フック領域の位置を正しく特定することができ、その後の芯線化を適切に行うことを可能とする技術を提供する。本願は、内フックから外フックまで渦巻状に成形された渦巻きばねの形状を芯線化するための画像処理装置を開示する。この画像処理装置は、渦巻きばねを撮影した撮影画像を入力する画像入力手段と、入力された撮影画像から渦巻きばねの輪郭線を抽出する輪郭線抽出手段と、抽出された輪郭線を極座標変換する座標変換手段と、極座標変換された輪郭線に対して、その輪郭線上を一方向に移動しながら一巡したときの輪郭線の角座標値列θ1,θ2,,θnを取得する角座標値列取得手段と、取得された輪郭線の角座標値列を用いて、内フック領域及び外フック領域を特定するフック領域特定手段と、を有する。この画像処理装置では、渦巻きばねの撮影画像に対して輪郭線を抽出し、その輪郭線に対して極座標変換を行う。そして、輪郭線上を一方向に移動しながら一巡したときの輪郭線の角座標値列θ1,θ2,,θnを取得する。輪郭線上を一方向に移動しながら一巡すると、内フック及び外フックの位置で周回方向が変化することとなるすなわち、時計回りから反時計回り、あるいは、反時計回りから時計回り。したがって、輪郭線の角座標値列θ1,θ2,,θnを用いて、内フック領域及び外フック領域の位置を正確に特定することができる。したがって、その後の芯線化を適切に行うことが可能となる。上記の画像処理装置において、例えば、フック領域特定手段は、前記輪郭線の角座標値列が極大値又は極小値となる画素を含む所定の領域を、内フック領域又は外フック領域として特定してもよい。輪郭線の角座標値列の極大値又は極小値を用いると、内フック領域や外フック領域を正確かつ容易に特定することが可能となる。上記の画像処理装置は、特定された内フック領域内の輪郭線から2つの内フック端点を特定し、それら内フック端点の位置から内フック先端点の位置を算出する内フック先端点算出手段と、特定された外フック領域内の輪郭線から2つの外フック端点を特定し、それら外フック端点の位置から外フック先端点の位置を算出する外フック先端点算出手段と、入力された撮影画像内の渦巻きばねを細線化する細線化手段と、細線化手段で細線化された渦巻きばねの端部を、内フック先端点算出手段で算出した内フック先端点と外フック先端点算出手段で算出した外フック先端点とを用いて修正する細線化画像修正手段と、をさらに備えることが好ましい。このような構成によると、特定された内フック領域から内フック先端点の位置が算出され、また、特定された外フック領域から外フック先端点の位置が算出され、これら算出された内フック先端点及び外フック先端点の位置を用いて細線化画像が修正される。このため、渦巻きばねの両端を正確に細線化することができる。また、本願は、渦巻きばねの形状を芯線化するための画像処理方法を開示する。この画像処理方法は、コンピュータに、渦巻きばねを撮影した撮影画像を入力する画像入力処理と、入力された撮影画像から渦巻きばねの輪郭線を抽出する輪郭線抽出処理と、抽出された輪郭線を極座標変換する座標変換処理と、極座標変換された輪郭線に対して、その輪郭線上を一方向に移動しながら一巡したときの輪郭線の角座標値列θ1,θ2,,θnを取得する角座標値列取得処理と、取得された輪郭線の角座標値列を用いて、内フック領域及び外フック領域を特定するフック領域特定処理を実行させる。この方法によっても、渦巻きばねの撮影画像から内フック領域及び外フック領域の位置を正しく特定することができ、その後の芯線化を適切に行うことが可能となる。本願はさらに、渦巻きばねの形状を芯線化するためのプログラムを開示する。このプログラムは、コンピュータに、渦巻きばねを撮影した撮影画像を入力する画像入力処理と、入力された撮影画像から渦巻きばねの輪郭線を抽出する輪郭線抽出処理と、抽出された輪郭線を極座標変換する座標変換処理と、極座標変換された輪郭線に対して、その輪郭線上を一方向に移動しながら一巡したときの輪郭線の角座標値列θ1,θ2,,θnを取得する角座標値列取得処理と、取得された輪郭線の角座標値列を用いて、内フック領域及び外フック領域を特定するフック領域特定処理を実行させる。このプログラムにより、コンピュータを用いて、渦巻きばねの撮影画像から内フック領域及び外フック領域の位置を正しく特定することができ、その後の芯線化を適切に行うことが可能となる。実施例図1に示すように、本実施例の画像処理装置10は、渦巻きばね30を撮影し、撮影した画像から渦巻きばね30の細線化画像芯線化画像を出力する装置である。画像処理装置10は、ステージ12と、ステージ12上に配置された照明器14と、ステージ12に固定されているCCDカメラ16と、CCDカメラ16に通信線18を介して接続されているコンピュータ22と、コンピュータ22に接続されているディスプレイ20を備えている。照明器14は、面光源であり、その発光面上に渦巻きばね30が載置される。CCDカメラ16は、照明器14上に配置されており、照明器14上に載置された渦巻きばね30を撮影する。即ち、渦巻きばね30は照明器14によって下方から照明され、照明器14の透過光渦巻きばね30の影がCCDカメラ16によって撮影される。なお、照明器14は、本実施例のような透過照明に限定されず、渦巻きばね30を上方から照明するものでもよい。この場合、渦巻きばね30が全周方向から均等に照明されるように、複数の照明器やリング型の照明器を用いることが好ましい。CCDカメラ16が撮影した画像データは、通信線18を介してコンピュータ22に入力される。コンピュータ22には、後述する各種画像処理を実行するためのプログラムが記憶されている。コンピュータ22は、CCDカメラ16が撮影した撮影画像の画像データを処理し、渦巻きばね30の細線化画像を作成する。コンピュータ22は、作成した渦巻きばね30の細線化画像を、ディスプレイ20に表示する。図2は、画像処理装置10による渦巻きばね30の細線化の流れを示すフローチャートである。図3は、図2のフローチャートに示すステップS18のフック領域の特定処理、及び、ステップS20のフック先端点算出処理の流れを示すフローチャートである。画像処理装置10は、図2、図3に示す工程、処理を経て、渦巻きばね30の細線化画像を作成する。以下、図2、図3に示すフローチャートに沿って、画像処理装置10による処理の流れを説明する。先ず、図2のステップS10において、CCDカメラ16により、渦巻きばね30の撮影を行う。CCDカメラ16により撮影された撮影画像は、コンピュータ22に入力される。入力される撮影画像は、例えば、最も黒い画素の濃度値を255とし、最も白い画素の濃度値を0とする256階調の画像とすることができる。図4に、渦巻きばね30の撮影画像を例示する。図4に示すように、渦巻きばね30は、内フック32から外フック34まで、渦巻状に伸びている。撮影画像は、画素x,y毎に濃度値を有する濃度値画像である。次に、図2のステップS12では、ステップS10で撮影された撮影画像を二値化する。すなわち、入力された撮影画像の各画素x,yに対して、濃度値が予め設定された設定値以上となる場合は1とし、濃度値が予め設定された設定値未満となる場合は0とする。これによって、渦巻きばね30に対応する部分の画素群が濃度値1となり、それ以外の画素群が濃度値0となる。なお、CCDカメラ16により撮影された画像はノイズを含むため、二値化画像もノイズを含んでいる。このため、渦巻きばね30に対応しない部分の画素にも濃度値1となるものが存在する。なお、このステップS12から後述するS30までの処理は、コンピュータ22によって実行される。次に、図2のステップS14では、ステップS12で得られた二値化画像を用いて、渦巻きばね30の重心cx,cyを算出する。具体的には、濃度値が1となる画素群すなわち、渦巻きばね30に対応する部分の画素群の座標値x、yから、その重心cx,cyを計算する。図4に示す例では、渦巻きばね30の略中央に重心cx,cyが位置している。次に、図2のステップS16では、ステップS12で得られた二値化画像から輪郭線を抽出する。二値化画像から輪郭線を抽出する処理は、公知の方法例えば、長谷川純一,輿水大和,中山晶,横井茂樹著,画像処理の基本技法<技術入門編>,技術評論社,p70-73を用いることができる。図5に、渦巻きばね30の二値化画像から抽出された輪郭線の例が示されている。なお、本実施例では、ステップS16で抽出される輪郭線は、画素番号ii=0~nと、その画素番号iに対応する画素の座標値xi,yiで表される。画素番号iは、輪郭線上の画素に付与された番号であり、以下の規則に従って付与される。すなわち、輪郭線上に設定された1つの画素を原点として、その画素に画素番号i=0を付与する。原点は、輪郭線上の任意の点に設定することができる。次いで、その原点と隣接する画素に画素番号1を付与する。ここで、原点となる画素には、輪郭線上を時計回りに移動する方向に隣接する画素と、反時計回りに移動する方向に隣接する画素の2通りがある。本実施例では、原点と隣接する画素のうち、反時計回りに移動する方向に隣接する画素に画素番号1を付与する。次いで、画素番号1の画素に隣接する画素に画素番号2を付与し、以下、同様の手順で画素番号を付与する。これによって、輪郭線を構成する全ての画素に画素番号が付与される。上述した説明から明らかなように、画素番号iの画素から画素番号nの画素まで順に移動すると、輪郭線上を一方向に一巡することとなる。なお、本明細書では、画素番号0からnまでの座標値列x0,y0,x2,y2xn,ynを輪郭線系列xi,yii=0~nという。次に、図2のステップS17では、ステップS16で得られた輪郭線系列xi,yii=0~nを極座標による輪郭線系列ri,θii=0~nに変換する。すなわち、図5に示すように、xy座標系による輪郭線系列xi,yiを、ステップS14で算出された重心cx,cyを原点として、動径riと偏角θiにより表す。図5に示すように、動径riは、原点cx,cyと輪郭線系列xi,yiの距離である。偏角θiは、原点cx,cyと輪郭線系列xi,yiとを結んだ直線と、x軸とのなす角である。したがって、ステップS32によって、xy座標系の輪郭線系列cx,cyi=0~nは、極座標系の輪郭線系列ri,θii=0~nに変換される。ここで、極座標系の輪郭線系列ri,θiから得られる角座標値列θii=0~nをグラフ化すると、図6aに示すグラフとなる。図6aに示すグラフでは、縦軸が偏角θiであり、横軸が画素番号輪郭線要素番号iとなっている。図6aから明らかなように、角座標値列θiは-180°~180°の範囲の数値を有し、-180°と180°において不連続となっている。次に、図2のステップS18,20では、ステップS17で極座標変換された輪郭線系列ri,θii=0~nから、フック領域を特定すると共に、フック先端点を算出する処理を行う。これらの処理について、図3に示すフローチャ-トに沿って説明する。先ず、図3のステップS34,S36では、図2のステップS17で作成した極座標系の輪郭線系列ri,θii=0~nから、内フック領域と外フック領域を抽出する。本実施例では、輪郭線系列ri,θii=0~nのうち、角座標値列θii=0~nの特性を利用して、内フック領域Aと外フック領域Bを特定する。なお、図6aに示すグラフでは、角座標値列θii=0~nが-180°~180°の範囲とされ、角座標値列θiには不連続点が存在する。ステップS34以降の処理は、図6aに示すグラフの不連続点をつなぎ合わせた角座標値列図6bを用いて行ってもよいし、不連続点を残した角座標値列図6aを用いて行ってもよい。上述したことから明らかなように、輪郭線系列ri,θii=0~nは、輪郭線上を原点から反時計回りに移動を開始し、輪郭線を一巡することで画素番号が付与されている。このため、渦巻きばねを内側から見て右巻きにセットした場合では、原点から内フック端点又は外フック端点までは反時計回りに移動しながら画素番号が付与され、内フック端点又は外フック端点から外フック端点又は内フック端点までは時計回りに移動しながら画素番号が付与され、外フック端点又は内フック端点から原点までは反時計回りに移動しながら画素番号が付与される。したがって、不連続点を接続したグラフ図6bでは、原点から内フック端点又は外フック端点までは角座標値列θii=0~nは単調減少又は単調増加し、内フック端点又は外フック端点から外フック端点又は内フック端点までは角座標値列θii=0~nは単調増加又は単調減少し、外フック端点又は内フック端点から原点までは角座標値列θii=0~nは単調減少又は単調増加する。したがって、図6bに示すように、角座標値列θii=0~nの関数は、内フック端点の近傍で極小値をとり、外フック端点の近傍で極大値をとる。そこで、ステップS34では、角座標値列θii=0~nが極小値となる部分を含む領域Aを内フック領域として特定する。例えば、図6aに示すように、内フック領域Aとして、極小値に隣接して角座標値θa1が180°となる画素番号a1から角座標値θa2が180°となる画素番号a2までの領域を特定し、この領域a1~a2内に極小値が含まれるようにする。図7には、特定された内フック領域Aの輪郭線系列が示されている。図7より明らかなように、特定された内フック領域Aに内フック端点が含まれている。また、ステップS36では、角座標値列θii=0~nが極大値となる部分を含む領域Bを外フック領域として特定する。例えば、図6aに示すように、外フック領域Bとして、極大値に隣接して角座標値θb1が-180°となる画素番号b1から角座標値θb2が-180°となる画素番号b2までの領域を特定し、この領域b1~b2内に極大値が含まれるようにする。図8には、特定された外フック領域Bの輪郭線系列が示されている。図8より明らかなように、特定された外フック領域Bに外フック端点が含まれている。なお、図7と図8の比較から明らかなように、外フック領域Bは、内フック領域Aに比較して広い領域となっている。すなわち、特定した外フック領域Brk,θkk=b1~b2が広い場合には、図9に示すように、外フック領域Bのトリミングを行うことが好ましい。図9に示す例では、極大値imaxから角度α例えば、40°の角度範囲を新しい外フック領域B’rk,θkk=b1’~b2’として新たに切り出している。図10は、トリミング後の外フック領域B’を示している。図10より明らかなように、トリミング後の外フック領域B’は、トリミング前の外フック領域Bと比較して適切な大きさに修正されている。これによって、次のステップS40で行われるフック先端点の算出処理の計算量を少なくすることができる。なお、上述の例では、外フック領域Bが広いため、外フック領域Bをトリミングしたが、内フック領域Aが外フック領域Bより広い場合には、内フック領域Aをトリミングしてもよい。さらには、内フック領域Aと外フック領域Bの両者をトリミングするようにしてもよい。また、図6bに示すグラフでは、内フック領域Aで極小値をとり、外フック領域Bで極大値をとったが、渦巻きばねの巻き方向が逆となれば、当然、内フック領域で極大値をとり、外フック領域で極小値をとることとなる。次に、ステップS38では、ステップS34で特定した内フック領域Axk,ykk=a1~a2から2つの内フック端点を特定し、その2つの内フック端点から内フック先端点の座標値xac,yacを算出する。また、ステップS40では、ステップS36で特定した外フック領域B’xk,ykk=b1’~b2’から2つの外フック端点を特定し、その2つの外フック端点から外フック先端点の座標値xbc,ybcを算出する。なお、ステップS38とステップS40の処理は、対象とする領域が内フック領域Aか外フック領域Bかで相違するものの、その処理手順は同一である。このため、ここではステップS40の処理、すなわち、外フック端点を特定し、その特定した外フック端点から外フック先端点の座標値xbc,ybcを求める処理の一例について説明する。図11に示すように、外フック領域B’xk,ykk=b1’~b2’内には外フック端点が2つ存在し、これら2つの外フック端点では輪郭線が略直交している。すなわち、渦巻きばね30は、ばね素線板材を渦巻状に成形することで製造されるため、外フック領域Bには2つの外フック端点が存在し、それら2つの外フック端点では輪郭線が略直交する。したがって、まず、ステップS36で特定した輪郭線系列B’xk,ykk=b1’~b2’内から、輪郭線が略直交する点を抽出する。この処理は、例えば、外フック領域B’を構成する各輪郭線系列B’xk,ykk=b1’~b2’のそれぞれに対して、図11に示すようにベクトルpkとmkを設定し、これらのベクトルpkとmkが直交するか否かで抽出することができる。pk、mkは、例えば、次の式1で表すことができる。上記の式1から明らかなように、mkは、輪郭線上の点xk,ykからN画素だけ前の輪郭線上の各点までの輪郭線系列xk-N、yk-N,xk-N―1,yk-N―1,,xk,ykが向いている方向を平均したものである。また、pkは、輪郭線上の点xk,ykからN画素だけ後ろの輪郭線上の各点までの輪郭線列xk,yk,xk1,yk1,,xkN,ykNが向いている方向を平均したものである。なお、本実施例では、ベクトルmk、pkを算出するために0~N画素の範囲を用いた。ここで、設定値Nは、ステップS10で撮影された画像内における、渦巻きばね30の素線の板厚に応じて設定することが好ましい。例えば、撮影された画像内において、渦巻きばね30の素線の板厚が約X画素となる場合は、設定値NをX/2とすることができる。このように、撮影された画像内において、渦巻きばね30の板厚が何画素分の長さに相当するかで、mk及びpkを算出する画素数を設定することが好ましい。上述したように、ベクトルmkとベクトルpkを算出すると、次に、ベクトルpkとベクトルmkが直交するか否かを判定する。ベクトルpkとベクトルmkが直交するか否かを判定するには、例えば、ベクトルpkとベクトルmkから算出されるcosθkを用いることができる下記の式2参照。ここで、θkは、ベクトルpkとベクトルmkのなす角度である。フックの端点では、ベクトルmkとベクトルpkは略直交する。ベクトルmkとベクトルpkが略直交すると、θk≒90°となり、cosθk≒0となる。したがって、cosθk≒0となる2つのkを探索することで、輪郭線系列からフック端点に相当する点2点を特定することができる。なお、本実施例では、輪郭線から2つのベクトルmkとpkを算出し、cosθを用いてフック端点を算出したが、cosθの代わりに、sinθ又はtanθを用いてフック端点を特定してもよい。また、ベクトルmkとpkを用いる代わりに、渦巻きばねの外形を表す直線式近似した直線式を算出し、直線の直交条件2つの直線の傾きの積が-1となることを用いてフック端点を特定してもよい。また、テンプレートマッチング等を用いてフック端点を特定してもよい。上記のように特定した外フック端点をPaxpa,ypa、内フック端点をPbxpb,ypbと記すこととする。外フック端点Paと内フック端点Pbを特定すると、この2つの外フック端点Paxpa,ypa,Pbxpb,ypbの中点を算出し、この算出した中点を外フック先端点の座標値xbc,ybcとする。なお、既に説明したように、内フック先端点の座標値xac,yacは、上述した外フック先端点の座標値xbc,ybcを求める手順と同様の手順で求めることができる。上記のようにして内フック先端点及び外フック先端点の座標値を算出すると、次に、図2のステップS22に進み、ステップS10で撮影された撮影画像内の渦巻きばね30を細線化することで細線化画像を作成する。撮影された画像内の渦巻きばね30を細線化する方法としては、従来公知の方法例えば、上述した画像処理の基本技法<技術入門編>長谷川純一,輿水大和,中山晶,横井茂樹著/技術評論社に開示の方法等を用いることができる。図12は、ステップS22によって作成される細線化画像の一例を示している。ステップS10で撮影された撮影画像内に多くのノイズが含まれている場合は、図12に示すように、ステップS22で得られる細線化画像にも多くのノイズいわゆる、ループが含まれている。次に、図2のステップS24では、まず、ステップS12で得られた二値化画像を収縮して収縮画像図13を作成する。次いで、作成した収縮画像図13とステップS22で得られた細線化画像図12とのAND条件すなわち、両画像において渦巻きばねとされている点をとり、新しい細線化画像図14、図15を作成する。図14、17より明らかなように、新しい細線化画像ではループ状のノイズが切断され、ひげ状のノイズのみが残っている。なお、二値化画像から収縮画像を得る方法としては、従来公知の方法例えば、上述した画像処理の基本技法<技術入門編>長谷川純一,輿水大和,中山晶,横井茂樹著/技術評論社に開示の方法等を用いることができる。次に、図2のステップS26では、ステップS24で作成された細線化画像に含まれるひげ状のノイズを削除する。図15に示すように、ステップS24で作成された細線化画像には、内フック先端点と外フック先端点の近傍以外にも、多くのひげ状のノイズが含まれている。そこで、内フック先端点の最近傍のひげ状のノイズと外フック先端点の最近傍のひげ状のノイズは、後述する処理で削除することとし、まずは、それ以外のひげ状のノイズを削除する図16参照。これによって、内フック先端点近傍及び/又は外フック先端点近傍に1個のひげ状のノイズのみが残ることとなる。ステップS24で作成された細線化画像の外フック及び内フック先端点の近傍はY字状に分岐した形状を有する図15参照。この細線化画像にステップS26の処理を行うことで、内フック先端点近傍及び外フック先端点近傍のY字状分岐の一方が削除される。例えば、図16に示すように、Y字状に分岐した外フック先端点のうち、ステップS40で算出した外フック先端点の座標値xbc,ybcに近い方が残され、遠い方が削除される。図16に示す例では、図中、上側の分岐が残され、下側の分岐が削除される。なお、内フック先端点についても、上記と同様に処理することができる。ステップS26の処理を行うことで、図17に示す細線化画像が得られる。上記のようにして、細線化画像から全てのひげ状のノイズが削除されると、図2のステップS28に進み、細線化画像の内フック先端点から予め設定されたn個の画素を削除し、削除後に先端となる点とステップS38で算出した内フック先端点xac,yacとを接続する。また、細線化画像の外フック先端点から予め設定されたn個の画素を削除し、削除後の先端となる点とステップS40で算出した外フック先端点xbc,ybcとを接続する。これによって、ステップS28の処理が終了する。ステップS28の処理により、ひげ状のノイズが全て削除された細線化画像図18が得られる。次に、図2のステップS30では、ステップS28で得られた細線化画像を平滑化して、最終的な細線化画像芯線画像図18参照を作成する。細線化画像を平滑化する方法としては、従来公知の方法例えば、スプライン補間、最小二乗法、デジタルフィルタによる平滑化法等を用いることができる。上述したように、本実施例の画像処理装置10では、撮影された画像から渦巻きばね30の輪郭線系列xi,yii=0~nを抽出し、その抽出した輪郭線系列を極座標変換して輪郭線系列ri,θii=0~nとする。そして、角座標値列θii=0~nの特性から、内フック領域A及び外フック領域Bを特定する。このため、正確に内フック領域A及び外フック領域Bを特定することができる。また、内フック領域A及び外フック領域Bを正確に特定することができるため、内フック端点及び外フック端点も正確に特定することができる。また、内フック領域A及び外フック領域Bを特定する処理、及び、内フック端点及び外フック端点を特定する処理は、撮影された画像から抽出された渦巻きばね30の輪郭線系列xi,yii=0~nを利用して行われる。このため、画像処理するデータ量を少なくすることができ、短時間で処理を完了することができる。さらに、正確に算出された内フック先端点及び外フック先端点等を用いて、細線化画像からノイズ成分であるループ及びひげを削除する。このため、細線化画像から適切にノイズ成分が削除され、正確な細線化画像芯線化画像を得ることができる。以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、上述した実施例では、極座標変換するときの原点として、渦巻きばね30の重心cx,cyを用いたが、本発明は、このような実施形態に限られない。例えば、極座標変換するときの原点は、渦巻きばね30の内側ではなく、渦巻きばね30の外側に設定してもよい。また、本願の技術は、図4に示すフック形状を有する渦巻きばねを芯線化できるだけではなく、種々のフック形状を有する渦巻きばねを芯線化することができる。例えば、図19、20に示すような、切り放しタイプの外フック形状を有する渦巻きばねを芯線化することもできる。また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は、複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。"