【日志】2011.12.22

2011.12.22

【笔记】如何Real Time产生灰阶影像?(de2)(de2-70)(真OO无双博文)

1. 

至於怎樣才是正統的RGB轉灰階演算法呢?基本上這已經可以發論文討論了,一般來說,較讓大部分人所接受的公式是

Gray= 0.299 * R +0.587 * G +0.114 * B

這牽涉到浮點運算,不要說硬體難實現,光用C去寫,執行速度也很不理想,所以才會有人乾脆用(R+G+B) /3來做。若要在硬體實現,勢必再做一些簡化。

注意到RGB的權重嗎?G的權重幾乎是R2倍,B的權重的5倍,所以真正決定灰階程度的關鍵在於G,而RB的影響較不顯著,所以乾脆就用G來代表灰階,這種方式最有利於硬體實現。

2.

SDRAMVGAframe buffer,要real time產生灰階影像,有兩條路可以走:
1.SDRAM之前
也就是上圖黃色的Pre-processing之處,因為RGB合起來共30 bit,而灰階只有10 bit,這樣可省下1/2SDRAM空間(為什麼不是2/3?後面會解釋),且省下一半的頻寬。

2.SDRAM之後
也就是上圖黃色的Main Processing之處,這種方式雖然無法節省SDRAM,但比較好寫,結果一樣是灰階影像。

何種方式較好?要看實際應用而定,本文兩種方式都會討論。

3.

DE2是在DE2_DDC范例的基础上改的,输出是VGADE2-70是在DE2_70_D5M_LTM的基础上改的,输出是LTM

显示平台是个很重要的区别,de2-70的范例改法需要在vga-ctrl后面再接到ltm-ctrltouch_tcon)。

总结

RGB产生灰阶图像可以用(R+G+B) /3來做或者用G来代替,然后将GRAY分别都送到VGALTMRGB上即可。

posted on 2011-12-22 23:57  wg88719  阅读(242)  评论(0编辑  收藏  举报

导航