[問題] 直方圖等化亮度調整

看板MATLAB作者 (Mr.洋芋)時間11年前 (2014/09/28 18:42), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
想請教各位高手 小弟最近在寫有關直方圖等化亮度調整方面的 主要是要讓過暗的圖片可以變成正常的亮度 以下是我寫的內容 clc, clear all; i=imread('Lenna_dark.jpg'); % Read image image(i); R=i(:,:,1); G=i(:,:,2); B=i(:,:,3); % Convert RGB to YUV Y = 0.299*R + 0.587*G + 0.114*B ; % Intensity, Luminance U = -0.147*R - 0.289*G + 0.436*B; V = 0.615*R - 0.515*G - 0.100*B; % Color Differences, Chrominance for i=0:(512*512-1) if Y(i)>=0 && Y(i)<10; Y(i) = 1.1*Y(i); elseif Y(i)>=10 && Y(i)<20 Y(i) = 1.09*Y(i); elseif Y(i)>=20 && Y(i)<30 Y(i) = 1.08*Y(i); elseif Y(i)>=30 && Y(i)<40 Y(i) = 1.07*Y(i); elseif Y(i)>=40 && Y(i)<50 Y(i) = 1.06*Y(i); elseif Y(i)>=50 && Y(i)<60 Y(i) = 1.05*Y(i); elseif Y(i)>=60 && Y(i)<70 Y(i) = 1.04*Y(i); elseif Y(i)>=70 && Y(i)<80 Y(i) = 1.03*Y(i); elseif Y(i)>=80 && Y(i)<90 Y(i) = 1.02*Y(i); elseif Y(i)>=90 && Y(i)<100 Y(i) = 1.01*Y(i); elseif Y(i)>=100 && Y(i)<110 Y(i) = 1.009*Y(i); elseif Y(i)>=110 && Y(i)<120 Y(i) = 1.008*Y(i); else Y(i) = Y(i); end end % Convert from YUV to RGB R = Y + 1.140*V; G = Y - 0.395*U - 0.581*V; B = Y + 2.032*U; % Convert RGB back to image output(:,:,1)=R; output(:,:,2)=G; output(:,:,3)=B; image(output) 不過執行完跑不出修改後的圖片 請問是哪裡出了問題嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.87.10 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1411900921.A.CED.html

09/28 22:15, , 1F
image(uint8(output))
09/28 22:15, 1F
文章代碼(AID): #1K9-Nvpj (MATLAB)
文章代碼(AID): #1K9-Nvpj (MATLAB)