2011-03-17 55 views

回答

3

Ashish有正確的方法,但您可能會發現將所有這些值從網頁中取出並放入可以使用的地圖中可能令人望而生畏。你有一對夫婦的用於創建地圖選項...

一種選擇是使用功能URLREAD實際得到的頁面的源代碼,並解析出需要使用的功能REGEXP(數字「他只是建議parsing HTML with a regex ?!?」是的,我做我能說什麼我是一個孤獨的人,多蒂叛軍):

mapURL = 'http://en.wikipedia.org/wiki/Web_colors#Web-safe_colors'; 
urlText = urlread(mapURL); 
matchExpr = ['<td style="background: #\w{3};">' ... 
      '(?:<u>\*)?(\w{3})(?:\*</u>)?</td>']; 
colorID = regexp(urlText,matchExpr,'tokens'); 
colorID = char([colorID{:}]); 
[~,webSafeMap] = ismember(colorID,'0369CF'); 
webSafeMap = (webSafeMap-1)./5; 

然而,當我做了我意識到,有一個很好的規則結構上面得到的網頁安全色彩圖值。這意味着你實際上可以忽略所有的上述混亂和產生的使用功能REPMATKRON映射自己:

colorValues = (0:0.2:1).'; %' 
webSafeMap = [repmat(colorValues,36,1) ... 
       kron(colorValues,ones(36,1)) ... 
       repmat(kron(colorValues,ones(6,1)),6,1)]; 

然後你就可以很容易地重新着色,比方說,使用功能RGB2INDIND2RGB RGB圖像。例如:

imageRGB = imread('peppers.png'); %# Load a built-in image 
imageRGB = ind2rgb(rgb2ind(imageRGB,webSafeMap),webSafeMap); 
imshow(imageRGB); 

A web-safe version of peppers.png

+0

+1。好東西! – 2011-03-18 17:07:26

相關問題