日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Matlab:单幅图象的暗原色先验去雾改进算法,能够很好地改进天空或明亮部分色彩失真问题

發布時間:2025/3/21 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Matlab:单幅图象的暗原色先验去雾改进算法,能够很好地改进天空或明亮部分色彩失真问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Matlab:單幅圖象的暗原色先驗去霧改進算法,能夠很好地改進天空或明亮部分色彩失真問題

?

?

目錄

輸出結果

實現代碼

代碼下載


?

?

?

輸出結果

?

實現代碼

%單幅圖象的暗原色先驗去霧改進算法,能夠很好地改進天空或明亮部分色彩失真問題,matlab代碼注解詳細,能很好地幫助理解算法過程。 clc; clear all; img_name='jiedao.jpg'; % 原始圖像 I=double(imread(img_name))/255; % 獲取圖像大小 [h,w,c]=size(I); win_size = 7; img_size=w*h; figure, imshow(I); win_dark=ones(h,w); %計算分塊darkchannelfor j=1+win_size:w-win_sizefor i=win_size+1:h-win_sizem_pos_min = min(I(i,j,:));for n=j-win_size:j+win_sizefor m=i-win_size:i+win_sizeif(win_dark(m,n)>m_pos_min)win_dark(m,n)=m_pos_min;endendendendend%選定精確dark value坐標 % win_b = zeros(img_size,1);figure, imshow(win_dark);win_t=1-0.95*win_dark;win_b=zeros(img_size,1); for ci=1:hfor cj=1:wif(rem(ci-8,15)<1)if(rem(cj-8,15)<1)win_b(ci*w+cj)=win_t(ci*w+cj);endendend end%顯示分塊darkchannel %figure, imshow(win_dark); neb_size = 9; win_size = 1; epsilon = 0.000001; %指定矩陣形狀 indsM=reshape(1:img_size,h,w);%創建稀疏矩陣D=spdiags(win_b(:),0,img_size,img_size);lambda=1;x=(A+lambda*D)\(lambda*(win_b(:).*win_b(:)));%去掉0-1范圍以外的數alpha=max(min(reshape(x,h,w),1),0);figure, imshow(alpha); % ************************************************** % 自動獲取大氣光步驟,A為最終大氣光的值 % ************************************************** range=ceil(img_size*0.1);%取暗原色中最亮的%1的點數 radi_pro=zeros(range,1); %用于記錄最亮點內對應圖片點象素的三個通道的顏色強度for s=1:range[a,b]=max(win_dark); [c,d]=max(a);b=b(d);m=sparse(b,d,1,h,w); %b,d為最亮值的坐標win_dark=win_dark-c.*m; %消去選出的最大值radi_pro(s)=sum(I(b,d,:)); %最大值對應象素三通道求和end A=max(radi_pro)/3;%大氣光的值 % ************************************************** % 算法改進步驟,可修正天空透射率以減小明亮部分的失真率 % ************************************************** inten=zeros(h,w);for m=1:hfor n=1:winten(m,n)=mean(I(m,n,:));endend k=70; k=zeros(h,w)+k/255; %容差 % A=220/255; cha=abs(inten-A); %差限 alpha=min(max(k./cha,1).*max(alpha,0.1),1); %算法改進關鍵部分 figure,imshow(alpha); % *************************************************** alpha=repmat(alpha,[1,1,3]); dehaze=(I-A)./alpha+A; figure, imshow(dehaze);

?

代碼下載

源代碼下載地址:Matlab:單幅圖象的暗原色先驗去霧改進算法

?

?

總結

以上是生活随笔為你收集整理的Matlab:单幅图象的暗原色先验去雾改进算法,能够很好地改进天空或明亮部分色彩失真问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。