HDL LOGO
CameraLink取込実験 3:畳み込み(コンボリューション)をかけてLCDに表示
2012/09/25-
 
 当社のCyclone IV GX搭載FPGAボードACM-024にCameraLink信号を接続し、カメラから取込んだ動画をLCDパネルに表示しています。取り込んだ動画に3x3の畳み込み(コンボリューション)を行えるようにしました。

 生画像と加工画像をLCDに同時に表示ます。分割位置はタッチにより変更可能です。
・動画表示時:実際の映像+ハードウェアによる畳み込み映像
・ホールド時:実際の映像+ソフトウェアによる畳み込み映像


以前の実験ページは下記をご覧ください。
ALTERA FPGAに直接取込みLCDに表示
ALTERA FPGAに直接取込み、画像処理をかけてLCDに表示
2012/09/21 : 公開しました

◆機器構成


クリックして拡大

使用機器
機器名 型番 メーカ
Cyclone IV GX FPGAボード
(トランシーバ未使用)
ACM-024 ヒューマンデータ
電源付きユニバーサル基板 ZKB-105 ヒューマンデータ
アナログ カメラリンク ドライバー ACLD-400 株式会社スタック様
4.3インチ LCD タッチパネル TRDB-LTM(ディスコン品) Terasic
互換品としてUTL-021を販売しております
5"タッチパネル付きTFT-LCD
カラーCCDカメラ TR-1300C  コロナ電業(株)様 
ダウンロードケーブル Terasic Blaster Terasic社

◆畳み込み(コンボリューション)

 表示する画素データを、自身の周辺画素データを元に変化させる手法です。
今回は、FPGAのブロックメモリ上に蓄えられたデータを、適切なタイミングで読み出すことで、3x3コンボリューションを行っています。

(x-1,y-1) (x,y-1) (x+1,y-1)
(x-1,y) (x,y) (x+1,y) 
(x-1,y+1) (x,y+1) (x+1,y+1)

処理中の座標を(x,y)とすると、(x-1,y-1)から(x+1,y+1)の9ピクセルが必要となります。

(x-2,y-2) (x-1,y-2) (x,y-2)
(x-2,y-1) (x-1,y-1) (x,y-1)
(x-2,y) (x-1,y) (x,y)

今回は1行+1ピクセル遅らせることで、(x-2,y-2)から(x,y)までの9ピクセルを使用し、(x-1,y-1)の画素を出力しています。

◆システム構成

 FPGA内部構成は以下のようになっています。 "3x3 Effector"により、リアルタイムに畳み込み処理を行います。
フレームグラバーが2つ搭載され、加工前、加工後の2種類のデータを取得可能にしています。2種類の画像データはLCDの左右に分けて表示されます。



◆内部処理:リアルタイム描画時

 入力された映像データは、無加工でFG1によりRAM(LCD表示の左側)に格納されます。
エフェクタにより加工を行ったデータは、FG0によりRAM(LCD表示の右側)に格納されます。




◆内部処理:HOLD時
 HOLD時はソフトウェアで画像処理を行っています。
まずHOLDした瞬間の画像データを、RAMの描画エリア外に保管します。このデータをソフトウェアで加工し、RAMの描画エリア右側に格納しています。


◆実際の画像

 実際にエフェクトを掛けた画像を、LCDに表示した時の画像を示します
LCD画面中央位置より右側がエフェクトのかかった画像になります。

・輪郭抽出(キャラクタ)

クリックして拡大


・平滑化(キャラクタ)

クリックして拡大


・輪郭抽出(テキスト)

クリックして拡大


・平滑化(テキスト)

クリックして拡大


処理の様子を動画でごらんください

◆回路データについて

 当社では、通常、サンプル回路などのご提供は行っておりません。
みなさまの参考になれば幸いです。
間違いなど見つけられましたらぜひご指摘下さい。
ひとことコメント 
メールでのご質問はこちらへどうぞ
アルテラコーナートップへ