MyFPGA Forum
标题:
影像處理的問題
[打印本页]
作者:
kkk1225
时间:
2010-12-28 18:37
标题:
影像處理的問題
請教各位前輩,我想做背景相減的處理,先存取一張背景圖,然後目前的連續影像減去背景影像,
找出差異的部分。用verilog語言該如何編寫。以下本人寫的方法,使用設備是DE2-70+D5M+VGA。
結果完全不對,希望大家指導一下,感激不進。
// 由SDRAM記憶體拉出RGB資料
wire [9:0] wVGA_R = Read_DATA2[9:0];
wire [9:0] wVGA_G = {Read_DATA1[14:10],Read_DATA2[14:10]};
wire [9:0] wVGA_B = Read_DATA1[9:0];
//background
reg [9:0] background_R ;
reg [9:0] background_G ;
reg [9:0] background_B ;
wire [9:0] diff_red ;
wire [9:0] diff_green ;
wire [9:0] diff_blue ;
wire [9:0] dr;
wire [9:0] dg;
wire [9:0] db;
// 存取一張影像圖當背景
initial begin
background_R <= wVGA_R ;
background_G <= wVGA_G;
background_B <= wVGA_B ;
end
// 處理影像背景相減
assign diff_red = wVGA_R - background_R ;
assign diff_green = wVGA_G - background_G;
assign diff_blue = wVGA_B - background_B;
assign dr = (diff_red > 100)? 1023 : 0 ;
assign dg = (diff_green > 100)? 1023 : 0;
assign db = (diff_blue > 100)? 1023 : 0 ;
作者:
clack411
时间:
2011-1-20 10:07
編譯哪邊出錯?
貼出來看看阿
看是語法 還是邏輯的問題~
作者:
呆頭鴨
时间:
2011-1-22 23:16
試試影像跟背景 取決對值相減 也就是A>B =A-B
A<B時 用B-A 因為你單純A-B應該會溢位吧....我想的..
作者:
kkk1225
时间:
2011-1-24 12:37
感謝你們的回答,
編譯沒有出錯,
應該是語法的問題,
這樣的寫法,好像沒存到背景圖
因為跑出來的畫面就不對了
作者:
呆頭鴨
时间:
2011-1-24 20:47
回复
4#
kkk1225
你要先存一張你的"背景圖"進SDRAM...在讀出來做處理
作者:
kkk1225
时间:
2011-1-27 15:23
回复
5#
呆頭鴨
請問要怎麼存一張背景圖到SDRAM
我是想直接用Verilog方式來存
作者:
呆頭鴨
时间:
2011-1-28 21:30
回复
6#
kkk1225
不好意思~最近工作比較忙,我假日玩一玩在分享一下我的心得告訴你,也許妳先試出來了也不一定~
不過應該很簡單,在CCD cap...那邊 加一個功能 當拍照按下時 等VSYNC & HSYNC 都在有效pixel的時候 DVAL 跟write 訊號就要enable 要寫入SDRAM 另外的位址(跟read出來的位址不同)
這樣應該可以完成。
作者:
kkk1225
时间:
2011-1-31 12:42
回复
7#
呆頭鴨
呆頭鴨, 非常感謝你的解說,
原本想自己設計一個單張擷取圖方式,可是功力不足,一直失敗,
我會試試這個你說的方法來做看看。
祝你新年快樂
作者:
rich
时间:
2011-2-6 00:34
這樣的運算應該需要3個frame buffer, 2個frame buffer 用來存放輸入的影像, 另一個frame buffer 用來存放計算後的結果, 並用於VGA 顯示.
Frame Buffer 可用CD 內的Multi-Port memory controller 來實現. 應該需要3個write port, 3個read port 吧
作者:
呆頭鴨
时间:
2011-2-9 20:33
可考慮將處理後的影像存進DRAM 這樣可能比較簡單一點
欢迎光临 MyFPGA Forum (http://www.myfpga.org/discuz/)
Powered by Discuz! X3