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