2011-03-17 103 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

相关问题