使用暗通道先生成模糊的图像

时间:2018-02-15 20:10:03

标签: python image-processing

我试图通过使用python反转暗通道的过程来生成一些模糊的图像,我想我正确地计算了透射和全局大气光,但输出是一个奇怪的图像。

基于大气散射模型,如果忽略索引像素x,则I = Jt + A. I:朦胧图像,J:非雾度图像,t:透射,A:全球大气光

我尝试切换到这样的等式:
    1)I = Jt + A来自许多论文     2)I =(J-A)t + A来自github代码
    和主题J的表格,但输出仍然不正确。

输出图片:

没有雾霾:

暗道:

传输:

奇怪的蓝雾图像(当I = Jt + A时):

printing bgr matrix of first 5*5 area:
format:[[[b g r] ... [b g r]]...[[b g r] ... [b g r]]]
[[[231.59398459 177.90628817 135.79826498]
  [231.59398459 177.90628817 135.79826498]
  [231.59398459 177.90628817 135.79826498]
  [231.59398459 177.90628817 135.79826498]
  [231.59398459 177.90628817 135.79826498]]

 [[231.64794239 177.96024596 135.85222257]
  [231.64794239 177.96024596 135.85222257]
  [231.64794239 177.96024596 135.85222257]
  [231.64794239 177.96024596 135.85222257]
  [231.64794239 177.96024596 135.85222257]]

 [[231.64794239 177.96024596 135.85222257]
  [231.64794239 177.96024596 135.85222257]
  [231.64794239 177.96024596 135.85222257]
  [231.64794239 177.96024596 135.85222257]
  [231.64794239 177.96024596 135.85222257]]

 [[231.64794239 177.96024596 135.85222257]
  [231.64794239 177.96024596 135.85222257]
  [231.64794239 177.96024596 135.85222257]
  [231.64794239 177.96024596 135.85222257]
  [231.64794239 177.96024596 135.85222257]]

 [[231.64794239 177.96024596 135.85222257]
  [231.64794239 177.96024596 135.85222257]
  [231.64794239 177.96024596 135.85222257]
  [231.64794239 177.96024596 135.85222257]
  [231.64794239 177.96024596 135.85222257]]]

代码的主要功能:

#load pic  
img="./test.jpg"  
src=cv2.imread(img);  
J=src.astype("float64")/255;  

dark=DarkChannel(J,15);
A=AtmLight(J,dark);
te=TransmissionEstimate(J,A,15);
t=TransmissionRefine(src,te);

tx=0.1
I=np.empty(J.shape,J.dtype)
t=cv2.max(t,tx)
for i in range(0,3):
   I[:,:,i]=(J[:,:,i]*t)+A[0,i]

#output
cv2.imshow('I',I);

对于基本功能DarkChannel,AtmLight,TransmissionEstimate,TransmissionRefine: https://pastebin.com/3uCqamfA

基本功能不是我的实现,但它运行正确,类似于论文的示例代码。

最新输出:

0 个答案:

没有答案