最近在做dm8127專案,客戶要求具備彩轉黑、黑轉彩功能(dm8127 sdk demo上沒有此功能),思索很久不知道從何下手,後來經過海量資料查閱,終於有了思路。既然是彩轉黑,那麼我把資料流(yuv資料)裡面的色彩分量(uv分量)給弄掉,只保留亮度分量(y分量),不就能夠實現彩轉黑了嘛! 黑轉彩就不用說了。有了這個思路,剩下的就是如何實現的問題啦,當然,實現的方法有很多種,我的實現方法如下:
1、首先,在cameralink_drv.c檔案裡面定義乙個iss_captresolution 全域性陣列變數gcaptresolution [camera_link_max_out_que]。 為什麼要定義這個變數呢?是因為我們輸出多條碼流,每條碼流的解析度不一樣,這個變數是儲存每條碼流的解析度,以便處理。如果都是按照同一解析度來處理的話,會導致輸出的影象出現橫條、花屏等現象。
2、其次,當然要給gcaptresolution這個變數賦值了,在**賦值呢?我選擇在cameralink_drvsetresolution()函式裡面給gcaptresolution這個變數賦值;
cameralink_drvsetresolution()
3、最後,就如何實現彩轉黑功能;
pframe->addr[0][0]裡面儲存的是y分量; pframe->addr[0][1]裡面儲存的是uv分量。只要把pframe->addr[0][1]裡面的值設為128就可以實現彩轉黑效果。
我是在 cameralink_drvprocessdata()這個函式裡面實現的,具體實現如下:
在這個for迴圈裡面 ,為什麼呢?在這個for迴圈裡面實現,可以對每條輸出的碼流進行處理。
for (frameid = 0; frameid < framelist.numframes; frameid++)
status = utils_bufputfullframe();
........
}這樣就搞定彩轉黑的功能了。希望此文能給需要的同僚們一點幫助,寫得不好,請諒解。
DM8127降噪調節 MCTNF調節
sdk3.8release版提供的mctnf 功能存在乙個bug,就是開啟mctnf時,畫面會有橫條紋出現,最新的版本中已經解決掉這個問題。我拿到的是比較老的版本,所以得修改一下原始碼,在source ipnc rdk ipnc mcfw mcfw src bios6 links m3video m...
DM8127 IMX185寬動態問題
1 數字寬動態 在做數字寬動態時,我想到了3種實現的方法,分別如下 a 調節gamma曲線來實現 b 調節gbce曲線來實現 c 直方圖均衡化 下面就拿gbce來簡單的講解一下 gbce曲線如下 曲線暗部斜率越多,那麼影象暗部提高亮度越高 中部斜率越大,影象的通透性越好 亮部斜率越大,影象亮部抑制亮...