0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

壞點(diǎn)校正成因與策略 源碼實(shí)現(xiàn)

Dbwd_Imgtec ? 來源:未知 ? 作者:胡薇 ? 2018-06-12 15:24 ? 次閱讀

1、壞點(diǎn)介紹

圖像壞點(diǎn)(Bad pixel) : 圖像傳感器上光線采集點(diǎn)(像素點(diǎn))所形成的陣列存在工藝上的缺陷,或光信號(hào)進(jìn)行轉(zhuǎn)化為電信號(hào)的過程中出現(xiàn)錯(cuò)誤,從而會(huì)造成圖像上像素信息錯(cuò)誤,導(dǎo)致圖像中的像素值不準(zhǔn)確,這些有缺陷的像素即為圖像壞點(diǎn)。

由于來自不同工藝技術(shù)和傳感器制造商,尤其對(duì)一些低成本、消費(fèi)品的sensor來說,壞點(diǎn)數(shù)會(huì)有很多。另外,sensor在長(zhǎng)時(shí)間、高溫環(huán)境下壞點(diǎn)也會(huì)越來越多,從而破壞了圖像的清晰度和完整性。壞點(diǎn)校正的目的就是修復(fù)這類問題,通常壞點(diǎn)分為一下兩種:

(1) 靜態(tài)壞點(diǎn):分為靜態(tài)亮點(diǎn)和靜態(tài)暗點(diǎn)。

靜態(tài)亮點(diǎn):一般來說像素點(diǎn)的亮度值是正比于入射光的,而亮點(diǎn)的亮度值明顯大于入射光乘以相應(yīng)比例,并且隨著曝光時(shí)間的增加,該點(diǎn)的亮度會(huì)顯著增加;

靜態(tài)壞點(diǎn):無論在什么入射光下,該點(diǎn)的值接近于0;

(2) 動(dòng)態(tài)壞點(diǎn):在一定像素范圍內(nèi),該點(diǎn)表現(xiàn)正常,而超過這一范圍,該點(diǎn)表現(xiàn)的比周圍像素要亮。與sensor 溫度、增益有關(guān),sensor 溫度升高或者gain 值增大時(shí),動(dòng)態(tài)壞點(diǎn)會(huì)變的更加明 顯;

2、壞點(diǎn)校正成因

為什么圖像處理的過程中需要做壞點(diǎn)校正,而且壞點(diǎn)校正(DPC)通常在ISP的pipeline靠前位置?

主要有如下原因:

(1) 如果圖像中存在壞點(diǎn)的話,ISP后續(xù)進(jìn)行插值和濾波處理時(shí),會(huì)影響周圍的像素點(diǎn)值,因此需要在插值和濾波之前對(duì)壞點(diǎn)進(jìn)行校正 ;

(2) 圖像存在壞點(diǎn)比較多或動(dòng)態(tài)壞點(diǎn)很多的情況下,會(huì)造成圖像的邊緣出現(xiàn)偽色彩的情況,這種現(xiàn)象不但影響圖像的清晰度,而且會(huì)影響邊緣的色彩;

(3) 壞點(diǎn)也會(huì)造成圖像部分pixel閃爍的現(xiàn)象;

3、壞點(diǎn)校正策略

圖像的壞點(diǎn)校正(DPC)通常在Bayer域(灰度圖原理一致)進(jìn)行。若Bayer域?yàn)镽/G/B三通道,則分別進(jìn)行壞點(diǎn)校正;若Bayer域?yàn)镽GBIR格式,則分別對(duì)R/Gr/Gb/B四通道獨(dú)立進(jìn)行。動(dòng)態(tài)壞點(diǎn)校正和靜態(tài)壞點(diǎn)校正是兩個(gè)相互獨(dú)立的過程,可以同時(shí)開啟,也可以只開啟一個(gè),視需要設(shè)置。

靜態(tài)壞點(diǎn)校正:基于已有的靜態(tài)壞點(diǎn)表,比較當(dāng)前點(diǎn)的坐標(biāo)是否與靜態(tài)壞點(diǎn)表中的某個(gè)坐標(biāo)一致,若一致則判定為壞點(diǎn),然后再計(jì)算校正結(jié)果對(duì)其進(jìn)行校正。一般情況下,每個(gè)sensor的壞點(diǎn)都不一樣,需要sensor廠商給出每個(gè)sensor的靜態(tài)壞點(diǎn)表,但是出于成本的考慮,很多sensor廠商并沒有給出,而用戶校正的話只能一個(gè)一個(gè)對(duì)其進(jìn)行校正,因此對(duì)于一些低成本的sensor,靜態(tài)壞點(diǎn)校正的實(shí)用性不是很強(qiáng)。另外,由于在硬件設(shè)計(jì)的時(shí)候需要占用大量的memory,考慮到芯片面積以及一些其他原因,因此靜態(tài)壞點(diǎn)有大小的限制,不可以無限制的校正。

動(dòng)態(tài)壞點(diǎn)校正:可以實(shí)時(shí)的檢測(cè)和校正sensor 的亮點(diǎn)與暗點(diǎn),并且校正的壞點(diǎn)個(gè)數(shù)不受限制。動(dòng)態(tài)壞點(diǎn)校正相對(duì)靜態(tài)壞點(diǎn)校正具有更大的不確定性。動(dòng)態(tài)dpc可以分為兩個(gè)步驟,分別為壞點(diǎn)檢測(cè)和壞點(diǎn)校正。

4、源碼實(shí)現(xiàn)(Matlab Version)

算法是動(dòng)態(tài)壞點(diǎn)校正策略實(shí)現(xiàn),算法使用梯度百分比的方式去檢測(cè)壞點(diǎn),檢測(cè)到壞點(diǎn)之后通過中值濾波進(jìn)行壞點(diǎn)校正,最終通過alpha混合的方式計(jì)算出最終的計(jì)算結(jié)果。

代碼如下:

close all;

clear;

clc;

%% variable

dp_slope = 0.02;

dp_thresh = -0.3;

r=3; %Stencil radius

%% read raw image

% x = 0:255;

% y = dp_slope * x + dp_thresh;

% y(y<0) = 0;

% y(y>1) = 1;

% figure,

% plot(0:255,y)

% axis([0 255 0 1.5])

[filename, pathname] = ...

uigetfile({'*.raw'}, 'select picture');

str = [pathname filename];

fp = fopen(str, 'rb');

[X,l] = fread(fp, [1920,1080], 'uint16');

fclose(fp);

img = uint8(X/16)';

[height, width] = size(img);

img_correct = zeros(height, width);

%% Image edge extension

imgn=zeros(height+2*r,width+2*r);

imgn(r+1:height+r,r+1:width+r)=img;

imgn(1:r,r+1:width+r)=img(1:r,1:width);

imgn(1:height+r,width+r+1:width+2*r+1)=imgn(1:height+r,width:width+r);

imgn(height+r+1:height+2*r+1,r+1:width+2*r+1)=imgn(height:height+r,r+1:width+2*r+1);

imgn(1:height+2*r+1,1:r)=imgn(1:height+2*r+1,r+1:2*r);

%% dp algorithm

for i = r+1:height-r

for j = r+1:width-r

img_r = imgn(i-r:2:i+r, j-r:2:j+r);

data_r_center = img_r(r, r);

data_r_diff(1:r+1, 1:r+1) = abs(img_r - img_r(r,r));

data_r_sort = sort(img_r(:));

data_r_median = data_r_sort(r*2+1);

data_r_detect = data_r_diff * dp_slope + dp_thresh;

data_r_detect(data_r_detect < 0) = 0;

data_r_detect(data_r_detect > 1) = 1;

data_r_judge = sum(sum(data_r_detect > 0));

data_r_weight = sum(sum(data_r_detect)) / data_r_judge;

if i-r == 18 && j-r == 43

a = 1;

end

if data_r_judge >= 7

data_r_correct = data_r_median * data_r_weight + (1-data_r_weight) * data_r_center;

else

data_r_correct = data_r_center;

end

img_correct(i-r, j-r) = data_r_correct;

end

end

%% show

figure,imshow(uint8(img));

figure,imshow(uint8(img_correct));

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 圖像傳感器
    +關(guān)注

    關(guān)注

    68

    文章

    1910

    瀏覽量

    129624

原文標(biāo)題:圖像處理之壞點(diǎn)校正及源碼實(shí)現(xiàn)

文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    液晶亮點(diǎn),壞點(diǎn)的測(cè)試方法

    液晶亮點(diǎn),壞點(diǎn)的測(cè)試方法    檢查液晶電視有無亮點(diǎn),最簡(jiǎn)單的方法是讓螢?zāi)蝗?,在距離液晶電視屏幕30厘米左右的地方,看在一片黑中是否有亮點(diǎn)
    發(fā)表于 05-24 18:19

    如何判斷屏幕是否有壞點(diǎn)?如果發(fā)現(xiàn)有壞點(diǎn)怎么辦?

    如何判斷屏幕是否有壞點(diǎn)?如果發(fā)現(xiàn)有壞點(diǎn)怎么辦? A:目前壞點(diǎn)主要還是靠肉眼來識(shí)別,推薦使用displayx,點(diǎn)擊“純色”即可使全屏保持純色。在全屏黑色的情況下,如果屏幕上有白點(diǎn),即是亮點(diǎn);同樣,在
    發(fā)表于 07-02 17:43

    絕招:讓CCD壞點(diǎn)起死回生

    絕招:讓CCD壞點(diǎn)起死回生發(fā)現(xiàn)自己購(gòu)買的DC存在CCD壞點(diǎn),無疑是非常大的遺憾。雖說對(duì)于幾百萬像素的數(shù)碼相機(jī),一兩個(gè)壞點(diǎn)影響不大,但對(duì)于追求完美的色友來說,卻足以令人食無味、寢不安。   所謂CCD
    發(fā)表于 03-16 10:34

    修復(fù)液晶屏幕壞點(diǎn)的小技巧

    現(xiàn)在的顯示器、筆記本、平板電腦、手機(jī)以及數(shù)碼相機(jī)等設(shè)備都采用了液晶顯示屏幕。有時(shí)當(dāng)我們盯著屏幕的時(shí)候,會(huì)發(fā)現(xiàn)它上面多了一些個(gè)小點(diǎn),也就是我們常說的壞點(diǎn)。雖然較少的壞點(diǎn)并不會(huì)影響圖像顯示,但看上去總會(huì)
    發(fā)表于 10-11 17:28

    labview 檢測(cè)LCD屏幕壞點(diǎn)的方法

    labview 檢測(cè)LCD屏幕壞點(diǎn)的方法,求助高手幫忙!
    發(fā)表于 02-25 18:33

    分享一個(gè)屏幕壞點(diǎn)檢測(cè)程序

    這是我工作中測(cè)試一塊LCM的程序,是檢測(cè)一塊LCM是否存在壞點(diǎn),LCM是與CANBUS鏈接在一起測(cè)試的,不過也適用于其他的壞點(diǎn)檢測(cè)
    發(fā)表于 10-11 22:44

    實(shí)現(xiàn)電池反接校正的簡(jiǎn)單電路

    本文主要講述的是實(shí)現(xiàn)電池反接校正的簡(jiǎn)單電路。
    發(fā)表于 04-30 09:49 ?23次下載

    什么是液晶面板的暗點(diǎn)/亮點(diǎn)/壞點(diǎn)

    什么是液晶面板的暗點(diǎn)/亮點(diǎn)/壞點(diǎn) 暗點(diǎn)    造成這種情況的原因于亮點(diǎn)相反,在切換紅、綠、藍(lán)三色顯示時(shí)損壞的
    發(fā)表于 03-27 12:01 ?1042次閱讀

    液晶顯示器亮點(diǎn)壞點(diǎn)修復(fù)工具

    液晶顯示器亮點(diǎn)壞點(diǎn)修復(fù)工具 工具操作簡(jiǎn)單方便
    發(fā)表于 02-11 15:56 ?431次下載
    液晶顯示器亮點(diǎn)<b class='flag-5'>壞點(diǎn)</b>修復(fù)工具

    液晶電視壞點(diǎn):不可修復(fù)的物理損傷

    由于制造技術(shù)和工藝上的原因,液晶面板的壞點(diǎn)可以說是不可避免的,雖然廠家采取避開壞點(diǎn)的方法來切割液晶面板,盡量減少液晶面板上壞點(diǎn)的存在,但還是有一些產(chǎn)品的液晶電視上
    發(fā)表于 01-19 00:35 ?1.3w次閱讀

    液晶顯示屏的壞點(diǎn)修復(fù)方法大全

    液晶大屏幕由很多點(diǎn)組成,每個(gè)點(diǎn)又因RGB三原色的不斷變化形成顏色及圖像。但如果像素點(diǎn)出現(xiàn)了問題,讓顏色不再變化,便形成了壞點(diǎn)壞點(diǎn)通常分為幾種,如果是彩色亮點(diǎn),則說明該點(diǎn)的像素只是卡住了,我們可以
    發(fā)表于 10-24 11:20 ?11次下載

    如何檢測(cè)CCD工業(yè)攝像機(jī)頭的“壞點(diǎn)”和“噪點(diǎn)”

    如何檢測(cè)CCD工業(yè)攝像機(jī)頭的壞點(diǎn)和噪點(diǎn) 作者:TEO品牌工業(yè)攝像相機(jī)頭 如何檢測(cè)CCD工業(yè)攝像機(jī)頭的壞點(diǎn)和噪點(diǎn)? 壞點(diǎn)是指數(shù)碼相機(jī)通過成像元件(一般指CCD)上的幾百萬個(gè)感光單元感光成像,如果其中
    的頭像 發(fā)表于 01-11 18:05 ?1.2w次閱讀

    解決OLED拼接屏壞點(diǎn)擴(kuò)散問題的關(guān)鍵步驟和技巧

    OLED拼接屏壞點(diǎn)擴(kuò)散問題可能由制造過程中的缺陷和長(zhǎng)時(shí)間使用導(dǎo)致的電流漂移所致。為了應(yīng)對(duì)這一問題,及時(shí)更換壞點(diǎn)屏幕、定期檢測(cè)和維護(hù)以及優(yōu)化使用環(huán)境是關(guān)鍵的解決方案。通過采取這些措施,可以有效控制壞點(diǎn)擴(kuò)散,提升OLED拼接屏的顯示
    的頭像 發(fā)表于 07-14 10:48 ?1214次閱讀

    LED顯示屏壞點(diǎn)維修方法

    掌握LED顯示屏壞點(diǎn)維修的方法和技巧對(duì)于保持顯示屏的正常運(yùn)行至關(guān)重要。通過正確使用工具和設(shè)備,仔細(xì)檢查和確定壞點(diǎn)的原因,采取適當(dāng)?shù)男迯?fù)措施,我們可以有效地修復(fù)LED顯示屏上的壞點(diǎn)問題。同時(shí),定期維護(hù)和保養(yǎng)也是預(yù)防
    的頭像 發(fā)表于 07-25 15:21 ?3214次閱讀
    LED顯示屏<b class='flag-5'>壞點(diǎn)</b>維修方法

    PID效應(yīng)的成因及抑制方法

    PID效應(yīng)的成因及抑制方法 PID(比例積分微分)控制器是一種常用的自動(dòng)控制器,廣泛應(yīng)用于工業(yè)控制系統(tǒng)中。它由比例(P)、積分(I)和微分(D)三部分組成,用于控制系統(tǒng)的輸出校正與調(diào)節(jié)。 PID效應(yīng)
    的頭像 發(fā)表于 01-23 14:58 ?2177次閱讀