介紹
查看《ISP算法及架構(gòu)分析介紹》
今天項目的順序就是先介紹幾個關(guān)于ISP算法架構(gòu)的項目,包括python、matlab、c等高級語言實現(xiàn)的ISP算法架構(gòu),最后介紹一個FPGA實現(xiàn)ISP的項目。
openISP
https://github.com/cruxopen/openISP
項目介紹
用python實現(xiàn)的ISP架構(gòu),該架構(gòu)涉及到的知識如下:
下圖是最新實現(xiàn)的模塊:
主要模塊如下:
死點校正
黑電平補(bǔ)償
鏡頭陰影校正
抗混疊噪聲濾波器
AWB 增益控制
降噪(拜耳領(lǐng)域)
去馬賽克
伽瑪校正
顏色校正矩陣
色彩空間轉(zhuǎn)換
亮度/色度噪聲過濾器
亮度降噪
雙邊過濾
非局部均值去噪
邊緣增強(qiáng)
假色抑制
色相/飽和度控制
亮度/對比度控制
關(guān)于項目的其他介紹,可以查看項目代碼
isp
https://github.com/mushfiqulalam/isp
用python實現(xiàn)的ISP架構(gòu),整體項目架構(gòu)不如OpenISP,但是有幾個算法是OpenISP沒有的,可以綜合兩者看下,主要實現(xiàn)的算法如下:
=> 黑電平校正[e]
=> 漸暈/鏡頭陰影校正[e]
=> 壞像素校正[e]
=> 通道增益白平衡[e]
=> Bayer denoise[d]
=> Demosaic[m]
=> Demosaic 偽影減少 [m]
=> 顏色校正[e]
=> Gamma[e]
=> 色差校正 [m]
=> 色調(diào)映射[e]
=> 顏色增強(qiáng)[m]
=> 降噪[e]
=> 銳化[e]
=> 失真校正[e]
其中,[e]、[m] 和 [d] 分別表示當(dāng)前算法上的簡單、中等或困難。
利用 MATLAB 和 DCRAW 處理數(shù)碼相機(jī) RAW 文件的完整流程
http://t.csdn.cn/ZV6j8
這篇文章非常詳細(xì)地介紹了利用matlab處理RAW圖像流程,包括每一步處理后圖像的現(xiàn)象以及代碼,非常值得一看~
matlab_isp
https://github.com/EricMiukyQin/Raw_image_processing_pipeline
https://github.com/WaterdropsKun/ISP_Matlab
https://github.com/sauravgupta139/Image_Processing
https://github.com/xiaoshipipi/ISP_matlab
以上都是matlab實現(xiàn)ISP架構(gòu)的源碼,但是項目不完整,沒有說明,建議結(jié)合上面文章一起了解相關(guān)函數(shù)作用。
ISP-pipeline-hdrplus
https://github.com/jhfmat/ISP-pipeline-hdrplus
Matlib 是一個開源(C/C++)圖像算法庫,可在多平臺(Window、Linux、Android)下使用,包含各種常規(guī)圖像處理算法,所有功能均采用底層優(yōu)化技術(shù),包括(Neon、Openmp、Linebuf、Mempool等),性能比OpenCV快,代碼只有1M,非常簡化,沒有依賴,使用起來非常方便,我們可以在上面使用neon指令窗口平臺開發(fā),開發(fā)使用非常友好,可以快速將開發(fā)集成到自己的代碼中。
這也是使用c/c++開發(fā)的ISP架構(gòu),據(jù)作者介紹,自己也是非常喜歡ISP這個領(lǐng)域,項目里也有作者建立的交流群,
zynq_isp
https://github.com/bxinquan/zynq_camera_vdma_lcd
介紹
本項目基于zynq-7020(正點原子啟明星+OV5640+4.3'800x480)實現(xiàn)了ISP圖像處理(將ov5640的isp關(guān)閉,在7020上實現(xiàn)ISP功能),輸出到LCD和HDMI,軟件基于SDK裸機(jī)開發(fā)
實現(xiàn)的算法
處理模塊
isp_dpc - 壞點校正 (5x5領(lǐng)域內(nèi)的8個臨近像素同時大于或同時小于中心像素,且差值大于門限,則認(rèn)為壞點,使用中值替換)
isp_blc - 黑電平校正 (RGGB四通道分別減去配置好的黑電平值)
isp_bnr - 拜耳降噪 (可選擇的高斯濾波器)
isp_dgain - 數(shù)字增益 (直接乘以配置好增益值)
isp_demosaic - 去馬賽克 (G基于邊緣方向上插值 RB基于色差恒定理論插值)
isp_wb - 白平衡增益 (RGB三通道乘以配置的增益值)
isp_ccm - 色彩校正矩陣 (RGB三通道乘以配置的3x3矩陣)
isp_csc - 色彩空間轉(zhuǎn)換 (基于整數(shù)優(yōu)化的RGB2YUV轉(zhuǎn)換公式)
isp_gamma - Gamma校正 (對亮度基于查表的Gamma校正)
isp_2dnr - 2d降噪(7x7雙邊濾波降噪)
isp_ee - 邊緣增強(qiáng) (基于特定的3x3濾波器)
統(tǒng)計模塊
isp_stat_ae - 自動曝光統(tǒng)計 (支持統(tǒng)計選取區(qū)域內(nèi)亮度總和與像素個數(shù),支持RGGB四通道直方圖統(tǒng)計)
isp_stat_awb - 自動白平衡統(tǒng)計 (支持符合白點限定條件的RGB三通道數(shù)值總和與白像素個數(shù),支持RGB三通道直方圖統(tǒng)計)
ISP Lite IP
位置: zynq_camera_vdma_lcd/xil_ip_repo/xil_isp_lite_1.0
這個項目包含了常規(guī)的算法,基本可以覆蓋常規(guī)的SNSOR,雖然項目介紹的比較少(基本齊全),但是提供了Vivado的完整工程,包含所有的源碼,親測編譯沒問題,功能尚未驗證。
總結(jié)
今天介紹了3個主流高級語言(MATLAB、C/C++、Python)實現(xiàn)的ISP架構(gòu),前面三個平臺架構(gòu)適合學(xué)習(xí)ISP架構(gòu),如果之前沒有任何高級語言的基礎(chǔ),建議使用python(人生苦短,我用Python)入門。最后FPGA實現(xiàn)的方案也是非常值得學(xué)習(xí)的,ZYNQ020價格不貴,值得深入學(xué)習(xí)。
還有就是最近使用HLS實現(xiàn)的ISP架構(gòu)也很快和大家見面了,還在努力中...
最后,還是感謝各個大佬開源的項目,讓我們受益匪淺。后面有什么感興趣方面的項目,大家可以在后臺留言或者加微信留言,今天就到這,我是爆肝的碎碎思,期待下期文章與你相見。
審核編輯 :李倩
-
算法
+關(guān)注
關(guān)注
23文章
4630瀏覽量
93364 -
ISP
+關(guān)注
關(guān)注
6文章
478瀏覽量
52017
原文標(biāo)題:優(yōu)秀的 Verilog/FPGA開源項目介紹(二十六)- ISP (圖像信號處理)
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論