JP2011018248A - 画像処理ボード、画像処理装置、及び画像処理方法 - Google Patents
画像処理ボード、画像処理装置、及び画像処理方法 Download PDFInfo
- Publication number
- JP2011018248A JP2011018248A JP2009163215A JP2009163215A JP2011018248A JP 2011018248 A JP2011018248 A JP 2011018248A JP 2009163215 A JP2009163215 A JP 2009163215A JP 2009163215 A JP2009163215 A JP 2009163215A JP 2011018248 A JP2011018248 A JP 2011018248A
- Authority
- JP
- Japan
- Prior art keywords
- image
- correction
- inspection object
- unit
- processing
- 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
- 238000000034 method Methods 0.000 title claims description 65
- 238000007689 inspection Methods 0.000 claims abstract description 66
- 238000003702 image correction Methods 0.000 claims abstract description 54
- 230000005540 biological transmission Effects 0.000 claims description 45
- 230000007547 defect Effects 0.000 claims description 9
- 238000003672 processing method Methods 0.000 claims description 3
- 238000003384 imaging method Methods 0.000 abstract description 7
- 238000003705 background correction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Image Input (AREA)
Abstract
【課題】傾いた状態で検査対象物をカメラで撮像したとしても、リアルタイムで検査対象物の傾きを補正することができる画像処理ボードを提供する。
【解決手段】画像処理ボード104は、ラインセンサカメラ(不図示)で検査対象物の画像を取り込む画像取込処理を実行する画像取込部161と、検査対象物の傾きを正す方向に回転するように、検査対象物の画像を補正する画像補正処理を実行する画像補正部162と、補正後の画像をメインメモリ(不図示)に転送する画像転送処理を実行する画像転送部163と、撮像命令をCPU(不図示)から受けると、画像取込部161に画像取込処理を実行させて、補正開始ライン数以上のラインを取り込むと、画像取込処理に並行して、画像補正部162に画像補正処理を実行させて、転送開始ライン数以上のラインを取り込むと、画像取込処理に並行して、画像転送部163に画像転送処理を実行させる制御部160とを備える。
【選択図】図2
【解決手段】画像処理ボード104は、ラインセンサカメラ(不図示)で検査対象物の画像を取り込む画像取込処理を実行する画像取込部161と、検査対象物の傾きを正す方向に回転するように、検査対象物の画像を補正する画像補正処理を実行する画像補正部162と、補正後の画像をメインメモリ(不図示)に転送する画像転送処理を実行する画像転送部163と、撮像命令をCPU(不図示)から受けると、画像取込部161に画像取込処理を実行させて、補正開始ライン数以上のラインを取り込むと、画像取込処理に並行して、画像補正部162に画像補正処理を実行させて、転送開始ライン数以上のラインを取り込むと、画像取込処理に並行して、画像転送部163に画像転送処理を実行させる制御部160とを備える。
【選択図】図2
Description
本発明は、画像処理で検査対象物の欠陥を検出する画像処理装置の画像処理ボードに関するものである。
従来から、画像処理で検査対象物の欠陥を検出する画像処理装置に関する技術が色々と提案されている(例えば、特許文献1参照。)。
例えば、図12に示すように、画像処理装置1は、検査対象物の欠陥を検出する装置である。CPU(Central Processing Unit)2、メインメモリ3およびPCI(Peripheral Component Interconnect)バス4を備えたパーソナルコンピュータ5と、PCIバス4に接続された画像処理ボード6とを備える。画像処理ボード6は、複数台のカメラからの画像データ全てを画素単位で格納できるだけの大容量を有した大容量画像メモリ8を備える。
例えば、図12に示すように、画像処理装置1は、検査対象物の欠陥を検出する装置である。CPU(Central Processing Unit)2、メインメモリ3およびPCI(Peripheral Component Interconnect)バス4を備えたパーソナルコンピュータ5と、PCIバス4に接続された画像処理ボード6とを備える。画像処理ボード6は、複数台のカメラからの画像データ全てを画素単位で格納できるだけの大容量を有した大容量画像メモリ8を備える。
さらに、画像処理ボード6は、複数台のカメラからの原画像データを大容量画像メモリ8に記憶させる処理、シェーディング補正処理、および原画像データを圧縮する画像圧縮処理などを行う。
具体的には、画像処理ボード6のFPGA(Field Programmable Gate Array)10は、カメラコントローラ9から順次転送される画像データをシェーディング補正処理し、シェーディング補正後の画像データの全てを大容量画像メモリ8に順次転送して同メモリに記憶させる処理を実行する。これらの処理と同時に、FPGA10は、カメラコントローラ9から順次転送される画像データを圧縮して圧縮画像データを作成し、この圧縮画像データをPCIバス4を通じてパーソナルコンピュータ5のメインメモリ3にDMA(Direct Memory Access)転送する。
CPU2は、画像処理ボード6からPCIバス4を通じてメインメモリ3へ転送される圧縮画像データに対して、2値化処理、ラベリング処理など、欠陥検出のためのソフトウェア処理を行う。
すなわち、画像処理装置1は、一部の処理を、画像処理ボード6によるハードウェア処理で行う。これによって、装置全体の処理速度を速くすることができる。
しかしながら、常に正しい姿勢で検査対象物がカメラに撮像されるとは限らない。すなわち、傾いた状態で検査対象物がカメラに撮像される場合がある。この場合においては、上記の画像処理ボード6では、検査対象物の傾きを補正することができないという問題がある。これは、シェーディング補正後の画像データの全てを大容量画像メモリ8に順次転送すると同時に、順次転送される画像データを圧縮して圧縮画像データを圧縮して圧縮画像データを作成して、この圧縮画像データをPCIバス4を通じてパーソナルコンピュータ5のメインメモリ3にDMA(Direct Memory Access)転送するためである。
そこで、本発明は、上記問題に鑑みて、傾いた状態で検査対象物をカメラで撮像したとしても、リアルタイムで検査対象物の傾きを補正することができる画像処理ボードを提供することを目的とする。
上記目的を達成するために、本発明に係わる画像処理ボードは、下記に示す特徴を備える。
(CL1)本発明に係わる画像処理ボードは、(a)内部インターフェースを介してメインメモリとプロセッサとが接続されて、外部インターフェースを介してカメラが接続される画像処理ボードであって、(b)前記カメラで検査対象物の画像をライン単位で順に取り込む画像取込処理を実行する画像取込手段と、(c)前記検査対象物の傾きを正す方向に回転するように、前記検査対象物の画像をブロック単位で順に補正する画像補正処理を実行する画像補正手段と、(d)前記補正後の画像を前記メインメモリに所定のサイズ単位で順に転送する画像転送処理を実行する画像転送手段と、(e)前記画像補正処理を実行開始するにあたっての閾値となる画像の取り込みライン数である補正開始ライン数を記憶する補正開始パラメータ記憶手段と、(f)前記画像転送処理を実行開始するにあたっての閾値となる画像の取り込みライン数である転送開始ライン数を記憶する転送開始パラメータ記憶手段と、(g)前記検査対象物を撮像する命令を前記プロセッサから受けると、前記画像取込手段に前記画像取込処理を実行させて、前記補正開始ライン数以上のラインを取り込むと、前記画像取込処理に並行して、前記画像補正手段に前記画像補正処理を実行させて、前記転送開始ライン数以上のラインを取り込むと、前記画像取込処理に並行して、前記画像転送手段に前記画像転送処理を実行させる制御手段とを備える。
(CL1)本発明に係わる画像処理ボードは、(a)内部インターフェースを介してメインメモリとプロセッサとが接続されて、外部インターフェースを介してカメラが接続される画像処理ボードであって、(b)前記カメラで検査対象物の画像をライン単位で順に取り込む画像取込処理を実行する画像取込手段と、(c)前記検査対象物の傾きを正す方向に回転するように、前記検査対象物の画像をブロック単位で順に補正する画像補正処理を実行する画像補正手段と、(d)前記補正後の画像を前記メインメモリに所定のサイズ単位で順に転送する画像転送処理を実行する画像転送手段と、(e)前記画像補正処理を実行開始するにあたっての閾値となる画像の取り込みライン数である補正開始ライン数を記憶する補正開始パラメータ記憶手段と、(f)前記画像転送処理を実行開始するにあたっての閾値となる画像の取り込みライン数である転送開始ライン数を記憶する転送開始パラメータ記憶手段と、(g)前記検査対象物を撮像する命令を前記プロセッサから受けると、前記画像取込手段に前記画像取込処理を実行させて、前記補正開始ライン数以上のラインを取り込むと、前記画像取込処理に並行して、前記画像補正手段に前記画像補正処理を実行させて、前記転送開始ライン数以上のラインを取り込むと、前記画像取込処理に並行して、前記画像転送手段に前記画像転送処理を実行させる制御手段とを備える。
(CL2)上記(CL1)に記載の画像処理ボードは、(a)前記検査対象物の画像と前記補正後の画像とを記憶するフレームメモリと、(b)前記フレームメモリに対するアクセスを調停するアクセス調停手段とを備え、(c)(c1)前記外部インターフェースから前記フレームメモリへのデータ伝送を第1のデータ伝送として、(c2)前記フレームメモリから前記画像補正手段へのデータ伝送を第2のデータ伝送として、(c3)前記画像補正手段から前記フレームメモリへのデータ伝送を第3のデータ伝送として、(c4)前記フレームメモリから前記内部インターフェースへのデータ伝送を第4のデータ伝送とした場合において、(c5)前記第4のデータ伝送よりも前記第1のデータ伝送を優先して、前記第2のデータ伝送と前記第3のデータ伝送とよりも前記第4のデータ伝送を優先するように、前記アクセス調停手段において、前記フレームメモリに対するアクセスが調停される。
なお、本発明は、画像処理ボードとして実現されるだけではなく、画像処理ボードを有する画像処理装置として実現されるとしてもよい。また、画像処理方法として実現されるとしてもよい。
本発明によれば、画像処理ボードにおいて、ラインセンサカメラで撮像された検査対象物の画像を、検査対象物の傾きを正すような補正をしながら、補正後の画像をメインメモリに転送する。これによって、傾いた状態で検査対象物をラインセンサカメラで撮像したとしても、リアルタイムで検査対象物の傾きを補正することができる。
(実施の形態)
以下、本発明に係わる実施の形態について説明する。
<構成>
図1に示すように、画像処理装置100は、画像処理で検査対象物の欠陥を検出する装置である。具体的には、画像処理装置100は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、ネットワークアダプタなどを備えるコンピュータシステムである。また、画像処理装置100を制御するプログラム(以下、画像処理プログラムと呼称する。)がHDDなどにインストールされており、画像処理プログラムがCPUで実行されることによって、画像処理装置100の各機能が実現される。
以下、本発明に係わる実施の形態について説明する。
<構成>
図1に示すように、画像処理装置100は、画像処理で検査対象物の欠陥を検出する装置である。具体的には、画像処理装置100は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、ネットワークアダプタなどを備えるコンピュータシステムである。また、画像処理装置100を制御するプログラム(以下、画像処理プログラムと呼称する。)がHDDなどにインストールされており、画像処理プログラムがCPUで実行されることによって、画像処理装置100の各機能が実現される。
ここでは、一例として、画像処理装置100では、バス101などを介して、CPU102、メインメモリ103などに、画像処理ボード104が接続されている。画像処理ボード104にラインセンサカメラ105が接続されている。画像処理ボード104において、ラインセンサカメラ105で撮像されて得られた検査対象物の画像に対して検査対象物の傾きを正す補正を施しながら、補正後の画像をメインメモリ103に転送する。CPU102において、メインメモリ103に記憶されている補正後の画像を使用して画像処理を実行して、検査対象物の欠陥を検出する。
なお、所定の間隔で画像を水平方向と垂直方向とに分割して得られた画像部分をブロックと呼称する。1画素を8ビット(1バイト)とする。
<画像処理ボード104>
画像処理ボード104は、画像処理装置100のマザーボード(不図示)の拡張スロットに取り付けられて、ラインセンサカメラ105で撮像された画像を取り込むことができるカードである。ここでは、一例として、内部インターフェース111、外部インターフェース112、フレームメモリ113、FPGA(Field Programmable Gate Array)114などを備える。
<画像処理ボード104>
画像処理ボード104は、画像処理装置100のマザーボード(不図示)の拡張スロットに取り付けられて、ラインセンサカメラ105で撮像された画像を取り込むことができるカードである。ここでは、一例として、内部インターフェース111、外部インターフェース112、フレームメモリ113、FPGA(Field Programmable Gate Array)114などを備える。
<内部インターフェース111>
内部インターフェース111は、画像処理ボード104と内部デバイス(例えば、CPU102、メインメモリ103など。)との間でデータ伝送を行うハードウェアインターフェースである。ここでは、一例として、PCI(Peripheral Component Interconnect)仕様に準拠したハードウェアインターフェースとする。なお、PCIの代わりに、PCI Express仕様に準拠したハードウェアインターフェースとしてもよい。
内部インターフェース111は、画像処理ボード104と内部デバイス(例えば、CPU102、メインメモリ103など。)との間でデータ伝送を行うハードウェアインターフェースである。ここでは、一例として、PCI(Peripheral Component Interconnect)仕様に準拠したハードウェアインターフェースとする。なお、PCIの代わりに、PCI Express仕様に準拠したハードウェアインターフェースとしてもよい。
<外部インターフェース112>
外部インターフェース112は、画像処理ボード104とラインセンサカメラ105との間で送受信を行うハードウェアインターフェースである。ここでは、一例として、アナログ信号に対応したカメラインターフェースとする。なお、アナログ信号の代わりに、例えば、カメラリンクなどのように、デジタル信号に対応したカメラインターフェースとしてもよい。
外部インターフェース112は、画像処理ボード104とラインセンサカメラ105との間で送受信を行うハードウェアインターフェースである。ここでは、一例として、アナログ信号に対応したカメラインターフェースとする。なお、アナログ信号の代わりに、例えば、カメラリンクなどのように、デジタル信号に対応したカメラインターフェースとしてもよい。
<フレームメモリ113>
フレームメモリ113は、ラインセンサカメラ105で取り込まれた画像を記憶するメモリである。具体的には、フレームメモリ113は、ビット幅が64ビット(8バイト)であり、作動周波数が200[MHz]であり、転送速度が1600[MB/s]である、容量が256[MB]であるDDR SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)とする。常時有効に利用することができるように、最小アクセス単位が連続した256バイトであり、8つのバンクをインターリーブで動作させることができるようになっている。ここでは、一例として、図2に示すように、傾き補正前画像記憶部131、傾き補正後画像記憶部132などを備える。
フレームメモリ113は、ラインセンサカメラ105で取り込まれた画像を記憶するメモリである。具体的には、フレームメモリ113は、ビット幅が64ビット(8バイト)であり、作動周波数が200[MHz]であり、転送速度が1600[MB/s]である、容量が256[MB]であるDDR SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)とする。常時有効に利用することができるように、最小アクセス単位が連続した256バイトであり、8つのバンクをインターリーブで動作させることができるようになっている。ここでは、一例として、図2に示すように、傾き補正前画像記憶部131、傾き補正後画像記憶部132などを備える。
<傾き補正前画像記憶部131>
傾き補正前画像記憶部131は、傾き補正前の画像を記憶する。ここでは、一例として、傾き補正前画像記憶部131に対しては、少なくとも、横6144[画素]×縦6144[ライン]の画像を記憶することができる記憶領域が確保されている。
傾き補正前画像記憶部131は、傾き補正前の画像を記憶する。ここでは、一例として、傾き補正前画像記憶部131に対しては、少なくとも、横6144[画素]×縦6144[ライン]の画像を記憶することができる記憶領域が確保されている。
<傾き補正後画像記憶部132>
傾き補正後画像記憶部132は、傾き補正後の画像を記憶する。ここでは、一例として、傾き補正後画像記憶部132に対しては、少なくとも、横6144[画素]×縦6144[ライン]の画像を記憶することができる記憶領域が確保されている。
傾き補正後画像記憶部132は、傾き補正後の画像を記憶する。ここでは、一例として、傾き補正後画像記憶部132に対しては、少なくとも、横6144[画素]×縦6144[ライン]の画像を記憶することができる記憶領域が確保されている。
<FPGA114>
FPGA114は、画像取込処理と画像補正処理と画像転送処理とを並列処理可能なプログラマブルロジックデバイスである。ここで、画像取込処理とは、ラインセンサカメラ105で撮像された検査対象物の画像をライン単位で順に取り込む処理である。画像補正処理は、検査対象物の傾きを正す方向に回転するように、画像取込処理で取り込んだ画像をブロック単位で順に補正する処理である。画像転送処理は、画像補正処理で検査対象物の傾きを補正して得られた画像をメインメモリ103に所定のサイズ単位で順に転送する処理である。
FPGA114は、画像取込処理と画像補正処理と画像転送処理とを並列処理可能なプログラマブルロジックデバイスである。ここで、画像取込処理とは、ラインセンサカメラ105で撮像された検査対象物の画像をライン単位で順に取り込む処理である。画像補正処理は、検査対象物の傾きを正す方向に回転するように、画像取込処理で取り込んだ画像をブロック単位で順に補正する処理である。画像転送処理は、画像補正処理で検査対象物の傾きを補正して得られた画像をメインメモリ103に所定のサイズ単位で順に転送する処理である。
具体的には、図1に示すように、FPGA114は、メモリインターフェース141、ロジックセル142、SRAM143、RAM144などを備える。ここでは、一例として、図2に示すように、補正前ブロック記憶部151、補正後ブロック記憶部152、補正開始パラメータ記憶部153、転送開始パラメータ記憶部154、入力バッファ部155、出力バッファ部156、制御部160、画像取込部161、画像補正部162、画像転送部163、アクセス調停部164などの各機能が定義されたコンフィグレーションデータがコンフィグレーションメモリ(不図示)にロードされることによって、各機能がFPGA114に実現される。
<補正前ブロック記憶部151>
補正前ブロック記憶部151は、傾き補正前のブロックを一時的に記憶する。ここでは、一例として、補正前ブロック記憶部151に対しては、少なくとも、補正対象に対応する部分の周辺も含めた画像部分を記憶することができる記憶領域が確保されている。具体的には、横288[画素]×縦56[ライン]のブロックの周辺も記憶することができるように、64[KB]の記憶領域が確保されている。
補正前ブロック記憶部151は、傾き補正前のブロックを一時的に記憶する。ここでは、一例として、補正前ブロック記憶部151に対しては、少なくとも、補正対象に対応する部分の周辺も含めた画像部分を記憶することができる記憶領域が確保されている。具体的には、横288[画素]×縦56[ライン]のブロックの周辺も記憶することができるように、64[KB]の記憶領域が確保されている。
<補正後ブロック記憶部152>
補正後ブロック記憶部152は、傾き補正後のブロックを一時的に記憶する。ここでは、一例として、補正後ブロック記憶部152に対しては、少なくとも、補正対象に対応する画像部分を記憶することができる記憶領域が確保されている。具体的には、横288[画素]×縦56[ライン]のブロックを記憶することができるように、16[KB]の記憶領域が確保されている。
補正後ブロック記憶部152は、傾き補正後のブロックを一時的に記憶する。ここでは、一例として、補正後ブロック記憶部152に対しては、少なくとも、補正対象に対応する画像部分を記憶することができる記憶領域が確保されている。具体的には、横288[画素]×縦56[ライン]のブロックを記憶することができるように、16[KB]の記憶領域が確保されている。
<補正開始パラメータ記憶部153>
補正開始パラメータ記憶部153は、画像補正処理を実行開始するにあたっての閾値となる画像のライン数(以下、補正開始ライン数と呼称する。)を記憶する。ここでは、少なくとも、検査対象物の傾きを特定することができるライン数以上である。
補正開始パラメータ記憶部153は、画像補正処理を実行開始するにあたっての閾値となる画像のライン数(以下、補正開始ライン数と呼称する。)を記憶する。ここでは、少なくとも、検査対象物の傾きを特定することができるライン数以上である。
<転送開始パラメータ記憶部154>
転送開始パラメータ記憶部154は、画像転送処理を実行開始するにあたっての閾値となる画像のライン数(以下、転送開始ライン数と呼称する。)を記憶する。
転送開始パラメータ記憶部154は、画像転送処理を実行開始するにあたっての閾値となる画像のライン数(以下、転送開始ライン数と呼称する。)を記憶する。
<入力バッファ部155>
入力バッファ部155は、外部インターフェース112から出力されたデータを、先入れ先出し方式で、一時的に記憶して、アクセス調停部164に出力する。
入力バッファ部155は、外部インターフェース112から出力されたデータを、先入れ先出し方式で、一時的に記憶して、アクセス調停部164に出力する。
<出力バッファ部156>
出力バッファ部156は、アクセス調停部164から出力されたデータを、先入れ先出し方式で、一時的に記憶して、内部インターフェース111に出力する。
出力バッファ部156は、アクセス調停部164から出力されたデータを、先入れ先出し方式で、一時的に記憶して、内部インターフェース111に出力する。
<制御部160>
制御部160は、画像取込部161、画像補正部162、画像転送部163を制御して、画像取込処理、画像補正処理、画像転送処理を並行して実行させる。具体的には、制御部160は、内部インターフェース111を介してCPU102から、検査対象物を撮像する命令(以下、撮像命令と呼称する。)を受けると、取込を開始する指令(以下、取込開始指令と呼称する。)を画像取込部161に出し、画像取込部161に画像取込処理を実行させる。また、画像補正処理実行条件を満たすと、先頭から順に、ブロック単位で、補正を開始する指令(以下、補正開始指令と呼称する。)を画像補正部162に出し、画像取込処理に並行して、画像補正部162に画像補正処理を実行させる。また、画像転送処理実行条件を満たすと、傾き補正後の画像の転送を開始する指令(以下、傾き補正後画像転送開始指令と呼称する。)を画像転送部163に出し、画像取込処理と画像補正処理とに並行して、画像転送部163に画像転送処理を実行させる。
制御部160は、画像取込部161、画像補正部162、画像転送部163を制御して、画像取込処理、画像補正処理、画像転送処理を並行して実行させる。具体的には、制御部160は、内部インターフェース111を介してCPU102から、検査対象物を撮像する命令(以下、撮像命令と呼称する。)を受けると、取込を開始する指令(以下、取込開始指令と呼称する。)を画像取込部161に出し、画像取込部161に画像取込処理を実行させる。また、画像補正処理実行条件を満たすと、先頭から順に、ブロック単位で、補正を開始する指令(以下、補正開始指令と呼称する。)を画像補正部162に出し、画像取込処理に並行して、画像補正部162に画像補正処理を実行させる。また、画像転送処理実行条件を満たすと、傾き補正後の画像の転送を開始する指令(以下、傾き補正後画像転送開始指令と呼称する。)を画像転送部163に出し、画像取込処理と画像補正処理とに並行して、画像転送部163に画像転送処理を実行させる。
ここでは、画像補正処理実行条件は、回転角度が特定されることとする。画像転送処理実行条件は、転送開始パラメータ記憶部154に記憶されている転送開始ライン数以上のラインが取り込まれることとする。
なお、制御部160は、補正開始パラメータ記憶部153に記憶されている補正開始ライン数以上のラインが取り込まれると、検査対象物の傾きを特定することができる部分まで傾き補正前の画像の転送を開始する指令(以下、傾き補正前画像転送開始指令と呼称する。)を画像転送部163に出し、画像取込処理に並行して、画像転送部163に傾き補正前の画像に対する画像転送処理を実行させる。さらに、検査対象物の傾きを特定することができる部分まで傾き補正前の画像がメインメモリ103に転送されると、内部インターフェース111を介してCPU102に回転角度特定命令を出す。これに伴い、CPU102から内部インターフェース111を介して回転角度を受けると、受けた回転角度を画像補正部162に転送する。
このとき、CPU102は、制御部160からバス101を介して回転角度特定命令を受けると、メインメモリ103に記憶されている傾き補正前の画像の部分から、検査対象物のエッジを検出して、検出したエッジから検査対象物の傾きを特定する。特定した傾きから、検査対象物の傾きを正す回転角度を特定する。特定した回転角度を、バス101を介して制御部160に転送する。
また、制御部160は、ブロック単位で画像補正処理が実行される度に、内部インターフェース111を介してCPU102に基準座標特定命令を出す。これに伴い、CPU102から内部インターフェース111を介して基準座標を受けると、受けた基準座標を画像補正部162に転送する。
このとき、CPU102は、制御部160からバス101を介して基準座標特定命令を受けると、検出したエッジ、特定した回転角度、ブロックのサイズ、ブロックから抽出される画像部分のサイズなどから、次に画像補正処理が実行されるブロックに係わる基準座標を特定する。特定した基準座標を、バス101を介して制御部160に転送する。
ここで、基準座標とは、読出基準アドレスと、抽出基準アドレスと、書込基準アドレスとからなるものである。読出基準アドレスとは、傾き補正前画像記憶部131から読み出す画像部分の読み出し開始アドレスである。抽出基準アドレスとは、補正前ブロック記憶部151に記憶されている画像部分から抽出される画像部分の基準点となるアドレスである。書込基準アドレスとは、傾き補正後画像記憶部132に書き込む画像部分の書き込み開始アドレスである。
<画像取込部161>
画像取込部161は、外部インターフェース112とアクセス調停部164とを制御して、画像取込処理を実行する。具体的には、制御部160から取込開始指令を受けると、外部インターフェース112を制御して、ラインセンサカメラ105を使用して、検査対象物の画像をライン単位で取り込む。アクセス調停部164を制御して、ライン単位で取り込んだ検査対象物の画像を傾き補正前画像記憶部131に書き込む。このとき、ラインセンサカメラ105の駆動クロックに合わせて、アクセス調停部164に取込命令を出力する。
画像取込部161は、外部インターフェース112とアクセス調停部164とを制御して、画像取込処理を実行する。具体的には、制御部160から取込開始指令を受けると、外部インターフェース112を制御して、ラインセンサカメラ105を使用して、検査対象物の画像をライン単位で取り込む。アクセス調停部164を制御して、ライン単位で取り込んだ検査対象物の画像を傾き補正前画像記憶部131に書き込む。このとき、ラインセンサカメラ105の駆動クロックに合わせて、アクセス調停部164に取込命令を出力する。
ここで、取込命令は、入力バッファ部155からデータを取り出して傾き補正前画像記憶部131に書き込むコマンドと、書き込み先のアドレスとを含む命令である。
<画像補正部162>
画像補正部162は、アクセス調停部164を制御して、画像補正処理を実行する。具体的には、制御部160から補正開始指令を受けると、図3に示すように、アクセス調停部164を制御して、傾き補正前の画像を、ブロック単位で、傾き補正前画像記憶部131から読み出す。このとき、制御部160から転送された基準座標の読出基準アドレス(図3に示す傾き補正前画像記憶部131の黒丸のアドレス)に基づいてリード命令を生成し、生成したリード命令をアクセス調停部164に出力する。
<画像補正部162>
画像補正部162は、アクセス調停部164を制御して、画像補正処理を実行する。具体的には、制御部160から補正開始指令を受けると、図3に示すように、アクセス調停部164を制御して、傾き補正前の画像を、ブロック単位で、傾き補正前画像記憶部131から読み出す。このとき、制御部160から転送された基準座標の読出基準アドレス(図3に示す傾き補正前画像記憶部131の黒丸のアドレス)に基づいてリード命令を生成し、生成したリード命令をアクセス調停部164に出力する。
ここで、リード命令は、傾き補正前画像記憶部131からデータを読み出して補正前ブロック記憶部151に書き込むコマンドと、読出基準アドレスによって特定される読み出し先のアドレスとを含む命令である。
さらに、画像補正部162は、制御部160から転送された基準座標の抽出基準アドレス(図3に示す補正前ブロック記憶部151の黒丸のアドレス)に基づいて、ブロック単位で読み出した画像部分から、補正対象に対応する画像部分を抽出する。抽出した画像部分を、制御部160から転送された回転角度で回転させる。アクセス調停部164を制御して、傾きを正した位置に配置されるように、回転させて得られた画像部分を傾き補正後画像記憶部132に書き込む。このとき、制御部160から転送された基準座標の書込基準アドレス(図3に示す傾き補正後画像記憶部132の黒丸のアドレス)に基づいてライト命令を生成し、生成したライト命令をアクセス調停部164に出力する。
ここで、ライト命令は、補正後ブロック記憶部152からデータを読み出して傾き補正後画像記憶部132に書き込むコマンドと、書込基準アドレスによって特定される書き込み先のアドレスとを含む命令である。
<画像転送部163>
画像転送部163は、内部インターフェィス111とアクセス調停部164とを制御して、画像転送処理を実行する。具体的には、制御部160から傾き補正後画像転送開始指令を受けると、アクセス調停部164を制御して、傾き補正後の画像を、先頭から順に、所定のサイズ単位で、傾き補正後画像記憶部132から読み出す。内部インターフェース111を制御して、所定のサイズ単位で読み出した画像部分をメインメモリ103に転送する。このとき、画像を取り込む合間を見計らって、アクセス調停部164に傾き補正後画像転送命令を出す。
画像転送部163は、内部インターフェィス111とアクセス調停部164とを制御して、画像転送処理を実行する。具体的には、制御部160から傾き補正後画像転送開始指令を受けると、アクセス調停部164を制御して、傾き補正後の画像を、先頭から順に、所定のサイズ単位で、傾き補正後画像記憶部132から読み出す。内部インターフェース111を制御して、所定のサイズ単位で読み出した画像部分をメインメモリ103に転送する。このとき、画像を取り込む合間を見計らって、アクセス調停部164に傾き補正後画像転送命令を出す。
ここで、傾き補正後画像転送命令は、傾き補正後画像記憶部132からデータを読み出して出力バッファ部156に出力するコマンドと、読み出し先のアドレスとを含む命令である。
なお、画像転送部163は、制御部160から傾き補正前画像転送開始指令を受けると、アクセス調停部164を制御して、検査対象物の傾きを特定することができる部分まで傾き補正前の画像を、先頭から順に、所定のサイズ単位で、傾き補正前画像記憶部131から読み出す。内部インターフェース111を制御して、所定のサイズ単位で読み出した画像部分をメインメモリ103に転送する。このとき、画像を取り込む合間を見計らって、アクセス調停部164に傾き補正前画像転送命令を出す。
ここで、傾き補正前画像転送命令は、傾き補正前画像記憶部131からデータを読み出して出力バッファ部156に出力するコマンドと、読み出し先のアドレスとを含む命令である。
<アクセス調停部164>
アクセス調停部164は、フレームメモリ113に対するアクセスを調停する。ここでは、一例として、4[KB]のデータを最小単位として、下記(a),(b),(c)の順に優先して、アクセスを調停する。
アクセス調停部164は、フレームメモリ113に対するアクセスを調停する。ここでは、一例として、4[KB]のデータを最小単位として、下記(a),(b),(c)の順に優先して、アクセスを調停する。
(a)アクセス調停部164は、画像取込部161から取込命令を受けると、入力バッファ部155からデータを取り出す。取り出したデータを傾き補正前画像記憶部131に書き込む。このとき、取込命令によって特定されるアドレスにデータを書き込む。
(b)アクセス調停部164は、(b1)画像転送部163から傾き補正後画像転送命令を受けると、傾き補正後画像記憶部132から傾き補正後画像のデータを読み出す。読み出した傾き補正後画像のデータを出力バッファ部156に出力する。このとき、傾き補正後画像転送命令によって特定されるアドレスから傾き補正後画像のデータを読み出す。また、(b2)画像転送部163から傾き補正前画像転送命令を受けると、傾き補正前画像記憶部131から傾き補正前画像のデータを読み出す。読み出した傾き補正前画像のデータを出力バッファ部156に出力する。このとき、傾き補正前画像転送命令によって特定されるアドレスから傾き補正前画像のデータを読み出す。
(c)アクセス調停部164は、(c1)画像補正部162からリード命令を受けると、傾き補正前画像記憶部131からデータを読み出す。読み出したデータを補正前ブロック記憶部151に書き込む。このとき、リード命令によって特定されるアドレスからデータを読み出す。また、(c2)画像補正部162からライト命令を受けると、補正後ブロック記憶部152からデータを読み出す。読み出したデータを傾き補正後画像記憶部132に書き込む。このとき、ライト命令によって特定されるアドレスにデータを書き込む。
<ラインセンサカメラ105>
ラインセンサカメラ105は、複数の画素を一列に配置された撮像素子を有する産業用カメラである。アナログインターフェースに対応した産業用カメラ(以下、アナログカメラと呼称する。)、またはデジタルインターフェースに対応した産業用カメラ(以下、デジタルカメラと呼称する。)である。ここでは、一例として、最大データレートが80[MHz]であり、最大有効画素数が6144[画素]であるデジタルカメラとする。なお、デジタルカメラの代わりに、最大ビデオレートが40[MHz]であり、最大有効画素数が6144[画素]であるアナログカメラとしてもよい。
ラインセンサカメラ105は、複数の画素を一列に配置された撮像素子を有する産業用カメラである。アナログインターフェースに対応した産業用カメラ(以下、アナログカメラと呼称する。)、またはデジタルインターフェースに対応した産業用カメラ(以下、デジタルカメラと呼称する。)である。ここでは、一例として、最大データレートが80[MHz]であり、最大有効画素数が6144[画素]であるデジタルカメラとする。なお、デジタルカメラの代わりに、最大ビデオレートが40[MHz]であり、最大有効画素数が6144[画素]であるアナログカメラとしてもよい。
<補足>
なお、ラインセンサカメラ105がデジタルカメラである場合には、ラインセンサカメラ105からパケットが出力される。ラインセンサカメラ105から出力されたパケットが、入力バッファ部155を介して、アクセス調停部164にデータとして出力される。アクセス調停部164に出力されたデータが傾き補正前画像記憶部131に書き込まれる。
なお、ラインセンサカメラ105がデジタルカメラである場合には、ラインセンサカメラ105からパケットが出力される。ラインセンサカメラ105から出力されたパケットが、入力バッファ部155を介して、アクセス調停部164にデータとして出力される。アクセス調停部164に出力されたデータが傾き補正前画像記憶部131に書き込まれる。
また、ラインセンサカメラ105がアナログカメラである場合には、ラインセンサカメラ105からビデオ信号が出力される。ラインセンサカメラ105から出力されたビデオ信号が外部インターフェース112でA/D変換される。A/D変換されて得られたデータが、入力バッファ部155を介して、アクセス調停部164に出力される。アクセス調停部164に出力されたデータが傾き補正前画像記憶部131に書き込まれる。
<動作>
次に、画像処理装置100の動作について説明する。ここでは、画像処理ボード104の制御処理について説明する。
次に、画像処理装置100の動作について説明する。ここでは、画像処理ボード104の制御処理について説明する。
<制御処理>
まず、制御部160で実行される制御処理について説明する。
図4に示すように、制御部160は、内部インターフェース111を介してCPU102から撮像命令を受けると(S101:YES)、画像取込部161に画像取込処理を実行させる(S102)。補正開始パラメータ記憶部153に記憶されている補正開始ライン数以上のラインが取り込まれると(S103:YES)、画像取込処理に並行して、回転角度特定処理を実行する(S104)。回転角度が特定されると、先頭から順に、ブロック単位で、基準座標特定処理を実行して(S105)、画像補正部162に画像補正処理を実行させる(S106)。画像の全エリアが補正されるまで(S107:NO)、処理S105,S106を繰り返し実行する。転送開始パラメータ記憶部154に記憶されている転送開始ライン数以上のラインが取り込まれると(S108:YES)、画像取込処理と画像補正処理とに並行して、画像転送部163に画像転送処理を実行させる(S109)。
まず、制御部160で実行される制御処理について説明する。
図4に示すように、制御部160は、内部インターフェース111を介してCPU102から撮像命令を受けると(S101:YES)、画像取込部161に画像取込処理を実行させる(S102)。補正開始パラメータ記憶部153に記憶されている補正開始ライン数以上のラインが取り込まれると(S103:YES)、画像取込処理に並行して、回転角度特定処理を実行する(S104)。回転角度が特定されると、先頭から順に、ブロック単位で、基準座標特定処理を実行して(S105)、画像補正部162に画像補正処理を実行させる(S106)。画像の全エリアが補正されるまで(S107:NO)、処理S105,S106を繰り返し実行する。転送開始パラメータ記憶部154に記憶されている転送開始ライン数以上のラインが取り込まれると(S108:YES)、画像取込処理と画像補正処理とに並行して、画像転送部163に画像転送処理を実行させる(S109)。
<画像取込処理>
次に、画像取込部161で実行される画像取込処理について説明する。
図5に示すように、画像取込部161は、外部インターフェース112を制御して、ラインセンサカメラ105で検査対象物の画像をライン単位で取り込む(S111)。アクセス調停部164を制御して、ラインセンサカメラ105で取り込んだ検査対象物の画像を傾き補正前画像記憶部131に書き込む(S112)。撮像対象範囲の全エリアが傾き補正前画像記憶部131に記憶されるまで(S113:NO)、処理S111、S112を繰り返し実行する。撮像対象範囲の全エリアが記憶されると(S113:YES)、画像取込処理を終了する。
次に、画像取込部161で実行される画像取込処理について説明する。
図5に示すように、画像取込部161は、外部インターフェース112を制御して、ラインセンサカメラ105で検査対象物の画像をライン単位で取り込む(S111)。アクセス調停部164を制御して、ラインセンサカメラ105で取り込んだ検査対象物の画像を傾き補正前画像記憶部131に書き込む(S112)。撮像対象範囲の全エリアが傾き補正前画像記憶部131に記憶されるまで(S113:NO)、処理S111、S112を繰り返し実行する。撮像対象範囲の全エリアが記憶されると(S113:YES)、画像取込処理を終了する。
<回転角度特定処理>
次に、制御部160とCPU102との間で実行される回転角度特定処理について説明する。
次に、制御部160とCPU102との間で実行される回転角度特定処理について説明する。
図6に示すように、制御部160は、傾き補正前画像転送開始指令を画像転送部163に出す(S121)。さらに、検査対象物の傾きを特定することができる部分まで傾き補正前の画像がメインメモリ103に転送されると(S122)、内部インターフェース111を介してCPU102に回転角度特定命令を出す(S123)。これに伴い、CPU102から内部インターフェース111を介して回転角度を受けると(S126)、受けた回転角度を画像補正部162に転送する(S127)。
このとき、CPU102は、制御部160からバス101を介して回転角度特定命令を受けると(S123)、メインメモリ103に記憶されている傾き補正前の画像の部分から、検査対象物のエッジを検出して(S124)、検出したエッジから検査対象物の傾きを特定する。特定した傾きから、検査対象物の傾きを正す回転角度を特定する(S125)。特定した回転角度を、バス101を介して制御部160に転送する(S126)。
<基準座標特定処理>
次に、制御部160とCPU102との間で実行される基準座標特定処理について説明する。
次に、制御部160とCPU102との間で実行される基準座標特定処理について説明する。
図7に示すように、制御部160は、ブロック単位で画像補正処理が実行される度に、内部インターフェース111を介してCPU102に基準座標特定命令を出す(S131)。これに伴い、CPU102から内部インターフェース111を介して基準座標を受けると(S133)、受けた基準座標を画像補正部162に転送する(S134)。
このとき、CPU102は、制御部160からバス101を介して基準座標特定命令を受けると(S131)、検出したエッジ、特定した回転角度、ブロックのサイズ、ブロックから抽出される画像部分のサイズなどから、次に画像補正処理が実行されるブロックに係わる基準座標を特定する(S132)。特定した基準座標を、バス101を介して制御部160に転送する(S133)。
<画像補正処理>
次に、画像補正部162で実行される画像補正処理について説明する。
図8に示すように、画像補正部162は、制御部160から転送された基準座標の読出基準アドレスに基づいて、アクセス調停部164を制御して、傾き補正前の画像を、ブロック単位で、傾き補正前画像記憶部131から読み出す(S141)。ブロック単位で読み出した画像部分から、補正対象に対応する画像部分を抽出する(S142)。抽出した画像部分を、制御部160から転送された回転角度で回転させる(S143)。制御部160から転送された基準座標の書込基準アドレスに基づいて、アクセス調停部164を制御して、傾きを正した位置に配置されるように、回転させて得られた画像部分を傾き補正後画像記憶部132に書き込み(S144)、画像補正処理を終了する。
次に、画像補正部162で実行される画像補正処理について説明する。
図8に示すように、画像補正部162は、制御部160から転送された基準座標の読出基準アドレスに基づいて、アクセス調停部164を制御して、傾き補正前の画像を、ブロック単位で、傾き補正前画像記憶部131から読み出す(S141)。ブロック単位で読み出した画像部分から、補正対象に対応する画像部分を抽出する(S142)。抽出した画像部分を、制御部160から転送された回転角度で回転させる(S143)。制御部160から転送された基準座標の書込基準アドレスに基づいて、アクセス調停部164を制御して、傾きを正した位置に配置されるように、回転させて得られた画像部分を傾き補正後画像記憶部132に書き込み(S144)、画像補正処理を終了する。
<画像転送処理>
次に、画像転送部163で実行される画像転送処理について説明する。
図9に示すように、画像転送部163は、アクセス調停部164を制御して、傾き補正後の画像を、先頭から順に、所定のサイズ単位で、傾き補正後画像記憶部132から読み出す(S151)。内部インターフェース111を制御して、所定のサイズ単位で読み出した画像部分をメインメモリ103に転送する(S152)。このとき、1ライン分のデータが取り込まれる度に、1ライン分のデータがメインメモリ103に転送される。傾き補正後の画像の全エリアがメインメモリ103に転送されるまで(S153:NO)、処理S151,S152を繰り返し実行する。傾き補正後の画像の全エリアが転送されると(S153:YES)、画像転送処理を終了する。
次に、画像転送部163で実行される画像転送処理について説明する。
図9に示すように、画像転送部163は、アクセス調停部164を制御して、傾き補正後の画像を、先頭から順に、所定のサイズ単位で、傾き補正後画像記憶部132から読み出す(S151)。内部インターフェース111を制御して、所定のサイズ単位で読み出した画像部分をメインメモリ103に転送する(S152)。このとき、1ライン分のデータが取り込まれる度に、1ライン分のデータがメインメモリ103に転送される。傾き補正後の画像の全エリアがメインメモリ103に転送されるまで(S153:NO)、処理S151,S152を繰り返し実行する。傾き補正後の画像の全エリアが転送されると(S153:YES)、画像転送処理を終了する。
<具体例>
ここで、図2に示すように、外部インターフェース112から、入力バッファ部155、アクセス調停部164を介して、傾き補正前画像記憶部131までのデータ伝送をデータ伝送Aとする。傾き補正前画像記憶部131から、アクセス調停部164を介して、補正前ブロック記憶部151までのデータ伝送をデータ伝送Bとする。補正後ブロック記憶部152から、アクセス調停部164を介して、傾き補正後画像記憶部132までのデータ伝送をデータ伝送Cとする。傾き補正後画像記憶部132から、アクセス調停部164、出力バッファ部156を介して、内部インターフェース111までのデータ伝送をデータ伝送Dとする。
ここで、図2に示すように、外部インターフェース112から、入力バッファ部155、アクセス調停部164を介して、傾き補正前画像記憶部131までのデータ伝送をデータ伝送Aとする。傾き補正前画像記憶部131から、アクセス調停部164を介して、補正前ブロック記憶部151までのデータ伝送をデータ伝送Bとする。補正後ブロック記憶部152から、アクセス調停部164を介して、傾き補正後画像記憶部132までのデータ伝送をデータ伝送Cとする。傾き補正後画像記憶部132から、アクセス調停部164、出力バッファ部156を介して、内部インターフェース111までのデータ伝送をデータ伝送Dとする。
さらに、ラインセンサカメラ105から外部インターフェース112へのデータ伝送速度を最大80[MB/s]とする。データ伝送A,B,C,Dの各データ伝送速度を1600[MB/s]とする。内部インターフェース111からCPU102やメインメモリ103などの内部デバイスへのデータ伝送速度を最大133[MB/s]とする。傾き補正前画像記憶部131から補正前のブロックを読み出してから補正後のブロックを傾き補正後画像記憶部132に書き込むまでの処理速度を123[MB/s]とする。
このとき、図10に示すように、画像取込開始から画像補正開始まで、少なくとも、約350[KB](6144[画素]×56[ライン])の画像が取り込まれる。約350[KB]の画像を取り込むまでに、約4[ms](350[KB]/80[MB/s])の時間が掛かる。約350[KB]の画像を補正するまでに、約3[ms](350[KB]/123[MB/s])の時間が掛かる。画像取込開始から画像転送開始まで、少なくとも、約7[ms]の時間が掛かる。
これは、約90[ライン](7[ms]×80[MB/s]/6144[画素])の画像を取り込むことに相当する。そこで、補正開始パラメータ記憶部153に記憶されている補正開始ライン数を56[ライン]とする。転送開始パラメータ記憶部154に記憶されている転送開始ライン数を90[ライン]とする。
さらに、6144[画素]×6144[ライン]の画像を取り込んだとする。この場合において、取り込み時間が470[ms](6144[画素]×6144[ライン]/80[MB/s])である。オーバヘッドが1.5%(7[ms]/470[ms])である。このことから、画像取込開始から画像転送開始までに要する時間は、ほとんど無視できる値である。
さらに、図11に示すように、画像取込部161、画像補正部162、画像転送部163の各々は、同じ量のデータを処理しているとする。また、データ伝送A>データ伝送D>データ伝送B,Cの優先順位で、フレームメモリ113をアクセスすることができるように、アクセス調停部164が設定されているとする。この場合において、フレームメモリ113へのアクセスが時分割で発生しても、フレームメモリ113へのアクセスが滞ることなく、一画面取り込み終了時には、メインメモリ103に傾き補正後の画像が転送されている。
<まとめ>
以上、本実施の形態によれば、画像処理ボード104において、ラインセンサカメラ105で撮像された検査対象物の画像を、検査対象物の傾きを正すような補正をしながら、補正後の画像をメインメモリ103に転送する。これによって、傾いた状態で検査対象物をラインセンサカメラ105で撮像したとしても、リアルタイムで検査対象物の傾きを補正することができる。
以上、本実施の形態によれば、画像処理ボード104において、ラインセンサカメラ105で撮像された検査対象物の画像を、検査対象物の傾きを正すような補正をしながら、補正後の画像をメインメモリ103に転送する。これによって、傾いた状態で検査対象物をラインセンサカメラ105で撮像したとしても、リアルタイムで検査対象物の傾きを補正することができる。
本発明は、画像処理で検査対象物の欠陥を検出する画像処理装置の画像処理ボードなどとして、利用することができる。
1 画像処理装置
2 CPU
3 メインメモリ
4 PCIバス
5 パーソナルコンピュータ
6 画像処理ボード
8 大容量画像メモリ
9 カメラコントローラ
10 FPGA
100 画像処理装置
101 バス
102 CPU
103 メインメモリ
104 画像処理ボード
105 ラインセンサカメラ
111 内部インターフェース
112 外部インターフェース
113 フレームメモリ
114 FPGA
131 傾き補正前画像記憶部
132 傾き補正後画像記憶部
141 メモリインターフェース
142 ロジックセル
143 SRAM
144 RAM
151 補正前ブロック記憶部
152 補正後ブロック記憶部
153 補正開始パラメータ記憶部
154 転送開始パラメータ記憶部
155 入力バッファ部
156 出力バッファ部
160 制御部
161 画像取込部
162 画像補正部
163 画像転送部
164 アクセス調停部
2 CPU
3 メインメモリ
4 PCIバス
5 パーソナルコンピュータ
6 画像処理ボード
8 大容量画像メモリ
9 カメラコントローラ
10 FPGA
100 画像処理装置
101 バス
102 CPU
103 メインメモリ
104 画像処理ボード
105 ラインセンサカメラ
111 内部インターフェース
112 外部インターフェース
113 フレームメモリ
114 FPGA
131 傾き補正前画像記憶部
132 傾き補正後画像記憶部
141 メモリインターフェース
142 ロジックセル
143 SRAM
144 RAM
151 補正前ブロック記憶部
152 補正後ブロック記憶部
153 補正開始パラメータ記憶部
154 転送開始パラメータ記憶部
155 入力バッファ部
156 出力バッファ部
160 制御部
161 画像取込部
162 画像補正部
163 画像転送部
164 アクセス調停部
Claims (4)
- 内部インターフェースを介してメインメモリとプロセッサとが接続されて、外部インターフェースを介してカメラが接続される画像処理ボードであって、
前記カメラで検査対象物の画像をライン単位で順に取り込む画像取込処理を実行する画像取込手段と、
前記検査対象物の傾きを正す方向に回転するように、前記検査対象物の画像をブロック単位で順に補正する画像補正処理を実行する画像補正手段と、
前記補正後の画像を前記メインメモリに所定のサイズ単位で順に転送する画像転送処理を実行する画像転送手段と、
前記画像補正処理を実行開始するにあたっての閾値となる画像の取り込みライン数である補正開始ライン数を記憶する補正開始パラメータ記憶手段と、
前記画像転送処理を実行開始するにあたっての閾値となる画像の取り込みライン数である転送開始ライン数を記憶する転送開始パラメータ記憶手段と、
前記検査対象物を撮像する命令を前記プロセッサから受けると、前記画像取込手段に前記画像取込処理を実行させて、前記補正開始ライン数以上のラインを取り込むと、前記画像取込処理に並行して、前記画像補正手段に前記画像補正処理を実行させて、前記転送開始ライン数以上のラインを取り込むと、前記画像取込処理に並行して、前記画像転送手段に前記画像転送処理を実行させる制御手段とを備える
ことを特徴とする画像処理ボード。 - 前記検査対象物の画像と前記補正後の画像とを記憶するフレームメモリと、
前記フレームメモリに対するアクセスを調停するアクセス調停手段とを備え、
前記外部インターフェースから前記フレームメモリへのデータ伝送を第1のデータ伝送として、
前記フレームメモリから前記画像補正手段へのデータ伝送を第2のデータ伝送として、
前記画像補正手段から前記フレームメモリへのデータ伝送を第3のデータ伝送として、
前記フレームメモリから前記内部インターフェースへのデータ伝送を第4のデータ伝送とした場合において、
前記第4のデータ伝送よりも前記第1のデータ伝送を優先して、前記第2のデータ伝送と前記第3のデータ伝送とよりも前記第4のデータ伝送を優先するように、前記アクセス調停手段において、前記フレームメモリに対するアクセスが調停される
ことを特徴とする請求項1に記載の画像処理ボード。 - 画像処理で検査対象物の欠陥を検出する画像処理装置であって、
前記検査対象物を撮像して前記検査対象物の画像をライン単位で出力するカメラと、
前記検査対象物の画像に対して前記検査対象物の傾きを正す補正をブロック単位で施しながら、補正後の画像を所定のサイズ単位で出力する請求項1又は2に記載の画像処理ボードと、
前記補正後の画像を記憶するメインメモリと、
前記メインメモリに記憶されている前記補正後の画像を使用して前記画像処理を実行するプロセッサとを備える
ことを特徴とする画像処理装置。 - 画像処理で検査対象物の欠陥を検出する画像処理方法であって、
前記検査対象物を撮像する命令をプロセッサから受けると、前記検査対象物の画像をライン単位で順に取り込む画像取込処理を実行して、
補正開始の閾値であるライン数以上のラインを取り込むと、前記画像取込処理に並行して、前記検査対象物の傾きを正す方向に回転するように、前記検査対象物の画像をブロック単位で順に補正する画像補正処理を実行して、
転送開始の閾値であるライン数以上のラインを取り込むと、前記画像取込処理に並行して、前記補正後の画像をメインメモリに所定のサイズ単位で順に転送する画像転送処理を実行する
ことを特徴とする画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009163215A JP2011018248A (ja) | 2009-07-10 | 2009-07-10 | 画像処理ボード、画像処理装置、及び画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009163215A JP2011018248A (ja) | 2009-07-10 | 2009-07-10 | 画像処理ボード、画像処理装置、及び画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011018248A true JP2011018248A (ja) | 2011-01-27 |
Family
ID=43595973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009163215A Pending JP2011018248A (ja) | 2009-07-10 | 2009-07-10 | 画像処理ボード、画像処理装置、及び画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011018248A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018157492A (ja) * | 2017-03-21 | 2018-10-04 | 富士ゼロックス株式会社 | 画像処理装置、画像処理方法およびプログラム |
WO2023124768A1 (zh) * | 2021-12-29 | 2023-07-06 | 杭州海康机器人股份有限公司 | 图像采集卡、图像采集方法及图像采集系统 |
-
2009
- 2009-07-10 JP JP2009163215A patent/JP2011018248A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018157492A (ja) * | 2017-03-21 | 2018-10-04 | 富士ゼロックス株式会社 | 画像処理装置、画像処理方法およびプログラム |
WO2023124768A1 (zh) * | 2021-12-29 | 2023-07-06 | 杭州海康机器人股份有限公司 | 图像采集卡、图像采集方法及图像采集系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI783316B (zh) | 用於執行指紋感測的方法、具有執行指紋感測能力的電子模組以及運算裝置 | |
JP2001101396A (ja) | 画像歪み補正処理装置および方法、並びに画像歪み補正処理を行うプログラムを格納した媒体 | |
JP5593060B2 (ja) | 画像処理装置、および画像処理装置の動作方法 | |
JP6079031B2 (ja) | 撮像装置 | |
CN107220930B (zh) | 鱼眼图像处理方法、计算机装置及计算机可读存储介质 | |
JP2002328881A (ja) | 画像処理装置および画像処理方法並びに携帯用映像機器 | |
CN106324312B (zh) | 一种示波器垂直方向上快速精准读取数据的方法及示波器 | |
EP1892664B1 (en) | Image processing device and method | |
US9519959B2 (en) | Image processing apparatus, imaging apparatus, and method for processing image | |
CN103596015B (zh) | 图像处理方法和系统 | |
JP2011018248A (ja) | 画像処理ボード、画像処理装置、及び画像処理方法 | |
JP2010176547A (ja) | 画像処理装置に含まれる制御装置、制御方法、及び制御処理プログラム | |
JP2010134743A (ja) | 画像処理装置 | |
CN108111777B (zh) | 一种暗角校正系统及方法 | |
JP2003098098A (ja) | 画像処理装置および画像処理システム | |
JP2003032539A (ja) | カメラ搭載装置 | |
JP5327482B2 (ja) | 画像処理装置及び画像処理方法 | |
US8436915B2 (en) | Image processing apparatus | |
US8178847B2 (en) | Data processing using reduced onboard memory | |
JP3747213B1 (ja) | シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ | |
CN109391788B (zh) | 用于处理图像信号的系统 | |
CN209895383U (zh) | 一种数字图像大数据的高速传输装置 | |
JP6762775B2 (ja) | 画像処理装置、撮像装置、制御方法及びプログラム | |
CN112752086A (zh) | 用于环境映射的图像信号处理器、方法和系统 | |
CN111681191A (zh) | 一种基于fpga的彩色图像去马赛克方法、系统及存储介质 |