JP2015052958A - 歪補正装置、歪補正方法及び歪補正プログラム - Google Patents
歪補正装置、歪補正方法及び歪補正プログラム Download PDFInfo
- Publication number
- JP2015052958A JP2015052958A JP2013185938A JP2013185938A JP2015052958A JP 2015052958 A JP2015052958 A JP 2015052958A JP 2013185938 A JP2013185938 A JP 2013185938A JP 2013185938 A JP2013185938 A JP 2013185938A JP 2015052958 A JP2015052958 A JP 2015052958A
- Authority
- JP
- Japan
- Prior art keywords
- representative point
- sub
- representative
- correction
- value
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 20
- 238000012937 correction Methods 0.000 claims description 72
- 238000004364 calculation method Methods 0.000 claims description 43
- 230000009466 transformation Effects 0.000 claims description 6
- 230000001131 transforming effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 abstract description 34
- 238000010586 diagram Methods 0.000 description 15
- 230000014509 gene expression Effects 0.000 description 4
- 230000004075 alteration Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 241000226585 Antennaria plantaginifolia Species 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Abstract
Description
レンズ収差など単一の要素による歪みだけを考慮した場合、撮影した画像は単純な形状に歪む。しかし、歪みの原因はレンズの収差以外にも、撮像素子の特性、撮像素子に対するレンズの取り付け位置などがあり、これらの原因が複合することで、画像の歪はより複雑な形状となる。
画像の歪が単純に代数式で表現できるのであれば、座標変換の代数式を定義することで歪補正を行うことが可能である。しかし、前述した通り、実際撮影した画像の歪は複数の原因による複雑な形状をしており、代数式で表現した場合は大きい誤差が発生する場合や、次数の高い代数式になってしまい演算コストが大きくなる場合が多い。
この発明は、座標変換テーブルのサイズを縮小しつつ、座標変換の規則性が低い場合の補間誤差の発生を抑えることを目的とする。
座標変換することによって画像の歪を補正する歪補正装置であり、
予め定められた画素である代表点の補正後の座標値を記憶するとともに、前記代表点の間に位置する画素である副代表点の補正後の座標値として、前記代表点の補正後の座標値を基準とする相対値を記憶する座標値記憶部と、
画素が指定された場合に、指定された画素の近傍の代表点の補正後の座標値に対して、指定された画素の近傍の副代表点の相対値により重み付けして、指定された画素の補正後の座標値を計算する補間計算部と
を備えることを特徴とする。
また、この発明に係る歪補正装置では、座標変換テーブルには、代表点と副代表点の座標値のみ記憶されており、全ての画素の座標値を記憶する場合に比べ、サイズを縮小することができる。
図1は、画像の樽型歪を示す図である。
カメラで撮影を行うと、図1(a)に示すように被写体が長方形である場合に、図1(b)に示すように撮影され、得られたカメラ画像は樽型に歪むことがある。
前述したように、歪の原因には、レンズの収差、撮像素子の特性、撮像素子に対するレンズの取り付け位置など様々なものがあり、これらの原因が複合することで、実際には画像の歪はより複雑な形状となる。
図2(a)に示すように歪んでしまった補正前の画像の各画素を座標変換することにより、図2(b)に示すように歪む前の形状に戻す。
なお、図2では、簡単のため一部の画素についてのみ、変換前の座標と変換後の座標とを矢印で結び、座標変換が行われていることを示している。しかし、実際には、全ての画素について同様の座標変換が行われている。
歪補正装置10は、座標変換テーブルの値を記憶する座標値記憶部11、座標変換テーブルの値の読み出し要求を行う読出部12、読み出されたテーブル値に基づき入力座標値に対する補正後の座標値を計算する補間計算部13を備える。
座標値記憶部11は、水平垂直方向に離散的に並んだ画素を代表点として、代表点についての補正後の座標値を、座標変換テーブルの値として記憶する。また、座標値記憶部11は、水平方向に並んだ2つの代表点の間の画素と、垂直方向に並んだ2つの代表点の間の画素とを副代表点として、副代表点についての補正後の座標値を、座標変換テーブルの値として記憶する。
代表点についての補正後の座標値としては、絶対値やある位置を基準とするオフセット値等が記憶される。ここでは、代表点についての補正後の座標値として絶対値が記憶されるものとして説明する。副代表点についての補正後の座標値としては、水平方向又は垂直方向の両側の2つの代表点についての補正後の座標値を基準とする相対値が記憶される。
図4では、水平垂直方向に4画素毎に代表点が配置されている。そして、水平方向に並んだ2つの代表点の間の3画素と、垂直方向に並んだ2つの代表点の間の3画素とが副代表点となっている。
なお、図4では、水平垂直方向に4画素毎に代表点が配置されていたが、これは一例であり、何画素毎に代表点が配置されていてもよい。また、水平方向と垂直方向とで、異なる画素毎に代表点が配置されていてもよい。代表点を配置する間隔が大きいほど、座標変換テーブルのサイズを縮小できるが、補間の誤差は大きくなる。
図5では、例として相対値のbit数を8bit、256階調としている。しかし、相対値のbit数は任意の値でよい。隣接する左側の代表点の絶対値を0、右側の代表点の絶対値を1とした場合に、0〜1の範囲が副代表点の相対値として設定される。ここでは、8bit、256階調であるため、副代表点の相対値は、例えば、0/256〜255/256が設定される。
b0=a0+(a1−a0)×(B0/256)
b1=a0+(a1−a0)×(B1/256)
b2=a0+(a1−a0)×(B2/256)
読出部12に対して、画素が指定される。すると、読出部12は、指定された画素の周辺の4つの代表点の補正後の座標値と、指定された画素の上下左右にある4つの副代表点の相対値との読出し要求を、座標値記憶部11へ出力する。また、読出部12は、指定された画素を補間計算部13へ出力する。
座標値記憶部11は、要求された4つの代表点の補正後の座標値と、4つの副代表点の相対値とを補間計算部13へ出力する。
補間計算部13は、指定された画素と、4つの代表点の補正後の座標値と、4つの副代表点の相対値とを受け取り、指定された画素の補正後の座標値を補間演算により計算する。
補間計算部13は、以下の式のように指定された画素の補正後の座標値mを計算する。
m=alu×(1−bl)×(1−bu)+aru×(1−br)×(bu)+ald×(bl)×(1−bd)+ard×(br)×(bd)
ここで、aluは、左上の代表点の補正後の座標値(ここでは、絶対値)である。aruは、右上の代表点の補正後の座標値(ここでは、絶対値)である。aldは、左下の代表点の補正後の座標値(ここでは、絶対値)である。ardは、右下の代表点の補正後の座標値(ここでは、絶対値)である。また、blは、左側の副代表点の相対値である。buは、上側の副代表点の相対値である。brは、右側の副代表点の相対値である。bdは、下側の副代表点の相対値である。
実施の形態1では、副代表点の相対値の設定範囲を0〜1とした。実施の形態2では、この範囲を超えて副代表点の相対値の設定を行うことができるようにする。
実施の形態2では、実施の形態1と異なる部分のみを説明する。
図7では、例として相対値のbit数を8bit、256階調としている。しかし、相対値のbit数は任意の値でよい。隣接する左側の代表点の絶対値を0、右側の代表点の絶対値を1とした場合に、−0.5〜1.5の範囲が副代表点の相対値として設定される。ここでは、8bit、256階調であるため、副代表点の相対値は、例えば、−64/128〜191/128が設定される。
b0=a0+(a1−a0)×((B0−64)/128)
b1=a0+(a1−a0)×((B1−64)/128)
b2=a0+(a1−a0)×((B2−64)/128)
実施の形態1では、上下左右の4つの副代表点の相対値を用いて補間演算を行った。実施の形態3では、上左の2つの副代表点の相対値のみを用いて補間演算を行う。
実施の形態3では、実施の形態1と異なる部分のみを説明する。
実施の形態3では、補間演算の際、上側と左側との2つの副代表点の相対値のみを用いる。そのため、エリアCの範囲の画素の平均的な変化が表現されるように、エリアCの上側に位置する副代表点Aと、エリアCの左側に位置する副代表点Bとの相対値を設定する。
例えば、上(左)側に位置する副代表点の相対値は、実施の形態1で説明した方法により計算した、上(左)側に位置する副代表点の相対値と、その副代表点の下(右)側に位置する副代表点の相対値との平均値とすれば、エリアCの範囲の画素の平均的な変化が表現される。つまり、上側に位置する副代表点bu1の相対値であれば、実施の形態1で説明した方法により計算した、上側に位置する副代表点bu1の相対値と、副代表点bu1の下側に位置する副代表点bd1の相対値との平均値とすればよい。
補間計算部13は、以下の式のように指定された画素の補正後の座標値mを計算する。
m=alu×(1−bl)×(1−bu)+aru×(1−bl)×(bu)+ald×(bl)×(1−bu)+ard×(bl)×(bu)
ここで、aluは、左上の代表点の補正後の座標値(ここでは、絶対値)である。aruは、右上の代表点の補正後の座標値(ここでは、絶対値)である。aldは、左下の代表点の補正後の座標値(ここでは、絶対値)である。ardは、右下の代表点の補正後の座標値(ここでは、絶対値)である。また、blは、左側の副代表点の相対値である。buは、上側の副代表点の相対値である。
実施の形態4では、座標変換テーブルの読み出しを容易にする方法について説明する。
実施の形態4では、実施の形態1と異なる部分のみを説明する。
実施の形態4では、代表点の補正後の座標値を、副代表点の相対値の2倍のビット数に設定する。ここでは、代表点の補正後の座標値のビット数を2×i(iは任意の値)、副代表点の相対値のビット数をiとする。
1語の語長がiビットのメモリに対して、8iビットを1ブロック(図10では、メモリの1つの行が1ブロックを表している)として、各ブロックの先頭に、代表点の補正後の座標値が配置され、その後に、その代表点の下側及び右側の副代表点の相対値が配置される。
ここでは、水平垂直方向に4画素間隔に代表点が配置されているため、1つのブロックに、1つの代表点の補正後の座標値(2iビット)と、6つの副代表点の相対値(6iビット)とが配置される。そのため、上記のようにメモリにデータを配置することにより、1ブロックが8iビットの一般的なメモリに、データを無駄なく配置できる。また、連続して読み出される可能性の高いデータ(代表点の補正後の座標値と、その代表点に続く水平/垂直方向の副代表点の相対値)を連続したアドレスに配置できる。
これにより、副代表点の座標値の下位ビット(ここでは、下位2ビット)が、メモリの下位アドレス(図10に示すメモリの列)に対応付けられる。つまり、副代表点の座標値の下位ビットにより、メモリの下位アドレスを特定できる。
図10に示すメモリの下位アドレスが0xXXX2の列を見ると、b01,b41,b81のように、代表点の1つ下に位置する副代表点の相対値が配置されている。したがって、図10には示されていないが、b01,b41,b81以外にも、b05,b45や、b09,b49等の相対値が配置される。また、図10に示すメモリの下位アドレスが0xXXX4の列を見ると、b02,b42,b82のように、代表点の2つ下に位置する副代表点の相対値が配置されている。したがって、図10には示されていないが、b02,b42,b82以外にも、b06,b46や、b0A,b4A等の相対値が配置される。
つまり、下位アドレスが0xXXX2の列であれば、垂直方向の座標値が1,5,9,・・・、下位アドレスが0xXXX4の列であれば、垂直方向の座標値が2,6,A,・・・のように、垂直方向の座標値が4置きに同じ列に配置される。ここで、1,5,9,・・・は、2進数で表せば、いずれも下位2ビットは、“01”である。同様に、2,6,Aは、2進数で表せば、いずれも下位2ビットは、“10”である。すなわち、垂直方向の座標値の下位2ビットから、下位アドレスを特定できる。
つまり、下位アドレスが0xXXX3の列であれば、水平方向の座標値が1,5,9,・・・、下位アドレスが0xXXX5の列であれば、水平方向の座標値が2,6,A,・・・のように、水平方向の座標値が4置きに同じ列に配置される。ここで、1,5,9,・・・は、2進数で表せば、いずれも下位2ビットは、“01”である。同様に、2,6,Aは、2進数で表せば、いずれも下位2ビットは、“10”である。すなわち、水平方向の座標値の下位2ビットから、下位アドレスを特定できる。
また、実施の形態4に係る歪補正装置10は、座標値の上位ビットがメモリの上位アドレスに対応し、座標値の下位ビットがメモリの下位アドレスに対応する。そのため、座標値記憶部11の読み出し演算を簡略化できる。
歪補正装置10はコンピュータであり、歪補正装置10の各要素をプログラムで実現することができる。
歪補正装置10のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。
プログラムは、座標値記憶部11、読出部12、補間計算部13として説明している機能を実現するプログラムである。
更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、上記プログラムを実行する。
また、実施の形態1〜3の説明において、「〜の記憶」、「〜の出力」、「〜の計算」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置903にファイルとして記憶されている。
Claims (7)
- 座標変換することによって画像の歪を補正する歪補正装置であり、
予め定められた画素である代表点の補正後の座標値を記憶するとともに、前記代表点の間に位置する画素である副代表点の補正後の座標値として、前記代表点の補正後の座標値を基準とする相対値を記憶する座標値記憶部と、
画素が指定された場合に、指定された画素の近傍の代表点の補正後の座標値に対して、指定された画素の近傍の副代表点の相対値により重み付けして、指定された画素の補正後の座標値を計算する補間計算部と
を備えることを特徴とする歪補正装置。 - 前記代表点は、水平垂直方向に離散的に並んだ画素であり、
前記副代表点は、水平方向に並んだ2つの代表点の間の画素と、垂直方向に並んだ2つの代表点の間の画素とであり、
前記相対値は、副代表点の水平方向又は垂直方向の両側の2つの代表点の補正後の座標値を基準とする値であり、
前記補間計算部は、指定された画素の周辺の4つの代表点の補正後の座標値に対して、指定された画素の水平方向の両側にある2つの副代表点のうち少なくとも1つの副代表点の相対値と、指定された画素の垂直方向の両側にある2つの副代表点のうち少なくとも1つの副代表点の相対値とにより重み付けして、指定された画素の補正後の座標値を計算する
ことを特徴とする請求項1に記載の歪補正装置。 - 前記補間計算部は、指定された画素の周辺の4つの代表点の補正後の座標値に対して、指定された画素の水平方向の両側にある2つの副代表点のうち1つの副代表点のみの相対値と、指定された画素の垂直方向の両側にある2つの副代表点のうち1つの副代表点のみの相対値とにより重み付けして、指定された画素の補正後の座標値を計算する
ことを特徴とする請求項2に記載の歪補正装置。 - 前記座標値記憶部は、前記代表点の補正後の座標値と、その代表点とその代表点の水平方向の一方側にある代表点との間にある副代表点の相対値と、その代表点とその代表点の垂直方向の一方側にある代表点との間にある副代表点の相対値とを、記憶装置の連続したアドレスに記憶する
ことを特徴とする請求項3に記載の歪補正装置。 - 前記代表点は、水平垂直方向に2の乗数間隔で配置された画素であり、
前記座標値記憶部は、代表点の補正後の座標値を2iビット(iは1以上の整数)、副代表点の相対値をiビットとして記憶する
ことを特徴とする請求項4に記載の歪補正装置。 - 座標変換することによって画像の歪を補正する歪補正方法であり、
予め定められた画素である代表点の補正後の座標値を記憶するとともに、前記代表点の間に位置する画素である副代表点の補正後の座標値として、前記代表点の補正後の座標値を基準とする相対値を記憶した記憶装置を用いて、
画素が指定された場合に、指定された画素の近傍の代表点の補正後の座標値に対して、指定された画素の近傍の副代表点の相対値により重み付けして、指定された画素の補正後の座標値を計算する
ことを特徴とする歪補正方法。 - 座標変換することによって画像の歪を補正する歪補正プログラムであり、
予め定められた画素である代表点の補正後の座標値を記憶するとともに、前記代表点の間に位置する画素である副代表点の補正後の座標値として、前記代表点の補正後の座標値を基準とする相対値を記憶した記憶装置を用いて、
画素が指定された場合に、指定された画素の近傍の代表点の補正後の座標値に対して、指定された画素の近傍の副代表点の相対値により重み付けして、指定された画素の補正後の座標値を計算する補間計算処理
をコンピュータに実行させることを特徴とする歪補正プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013185938A JP6080728B2 (ja) | 2013-09-09 | 2013-09-09 | 歪補正装置、歪補正方法及び歪補正プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013185938A JP6080728B2 (ja) | 2013-09-09 | 2013-09-09 | 歪補正装置、歪補正方法及び歪補正プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015052958A true JP2015052958A (ja) | 2015-03-19 |
JP6080728B2 JP6080728B2 (ja) | 2017-02-15 |
Family
ID=52701933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013185938A Active JP6080728B2 (ja) | 2013-09-09 | 2013-09-09 | 歪補正装置、歪補正方法及び歪補正プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6080728B2 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004129212A (ja) * | 2002-08-02 | 2004-04-22 | Sony Corp | 画像投射装置および画像変換方法 |
JP2009010730A (ja) * | 2007-06-28 | 2009-01-15 | Kyocera Corp | 画像処理方法と該画像処理方法を用いた撮像装置 |
-
2013
- 2013-09-09 JP JP2013185938A patent/JP6080728B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004129212A (ja) * | 2002-08-02 | 2004-04-22 | Sony Corp | 画像投射装置および画像変換方法 |
JP2009010730A (ja) * | 2007-06-28 | 2009-01-15 | Kyocera Corp | 画像処理方法と該画像処理方法を用いた撮像装置 |
Also Published As
Publication number | Publication date |
---|---|
JP6080728B2 (ja) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9105090B2 (en) | Wide-angle lens image correction | |
CN110060200B (zh) | 图像透视变换方法、装置及设备 | |
US10373298B2 (en) | Image distortion correction method and apparatus | |
JP6619034B2 (ja) | ホモグラフィの修正 | |
US10325345B2 (en) | Device for performing image transformation processing and method thereof | |
CN116012241A (zh) | 图像畸变校正方法、装置、计算机设备和存储介质 | |
CN117612470A (zh) | 颜色查找表生成方法及色彩校正方法 | |
KR20130057327A (ko) | 스테레오 매칭 시스템의 전처리 장치 | |
US10713763B2 (en) | Image processing apparatus, image processing method, and storage medium | |
WO2023070862A1 (zh) | 校正广角镜头图像畸变的方法、装置及照相设备 | |
JP6080728B2 (ja) | 歪補正装置、歪補正方法及び歪補正プログラム | |
US8509568B2 (en) | Image processing apparatus and image processing method | |
KR20130057328A (ko) | 스테레오 매칭 시스템의 전처리 장치 | |
JP2006238188A (ja) | 補間フィルタおよび映像信号処理装置 | |
US9454801B2 (en) | Image processing apparatus, method for processing image, and program | |
US9218647B2 (en) | Image processing apparatus, image processing method, and storage medium | |
JP5387289B2 (ja) | 画像処理装置、画像処理方法およびそのプログラム | |
US9008461B2 (en) | Image processing apparatus and image processing method | |
JP6972089B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP5387288B2 (ja) | 画像処理装置、画像処理方法およびそのプログラム | |
JP6249234B2 (ja) | 画像処理装置 | |
US20160156852A1 (en) | Image processing apparatus, electronic apparatus, and image processing method | |
JP6563358B2 (ja) | 画像処理装置及び画像処理方法 | |
US20130114888A1 (en) | Image processing apparatus, computer program product, and image processing method | |
US20190043200A1 (en) | Image processing apparatus, image processing method, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161207 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20161220 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170117 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6080728 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |