Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我想使用MATLAB将图像转换为网络安全的颜色。有预定义的功能吗?如果没有,那么我应该第一步是什么?
回答: Ashish是正确的方法,但您可能会发现将所有这些值从网页中提取出来并映射到可以使用的地图中是艰巨的。您有几种创建地图的选项... 一种选择是实际上使用URLREAD函数获取页面源,并使用REGEXP函数解析出所需的数字(“他只是建议使用正则表达式来解析HTML吗?!”是的,我知道了。我能说什么?我是一个孤独的人,多蒂(Dottie)。 mapURL = 'http://en.wikipedia.org/wiki/Web_col...e_colors'; urlText = urlread(mapURL); matchExpr = ['' ... '(?:\*)?(\w{3})(?:\*)?']; colorID = regexp(urlText,matchExpr,'tokens'); colorID = char([colorID{:}]); [~,webSafeMap] = ismember(colorID,'0369CF'); webSafeMap = (webSafeMap-1)./5; 但是,完成上述操作后,我意识到生成的网络安全色图值具有很好的常规结构。这意味着您实际上可以忽略上述所有混乱,并使用REPMAT和KRON函数自己生成地图: colorValues = (0:0.2:1).'; %' webSafeMap = [repmat(colorValues,36,1) ... kron(colorValues,ones(36,1)) ... repmat(kron(colorValues,ones(6,1)),6,1)]; 然后,您可以使用RGB2IND和IND2RGB函数轻松地对RGB图像重新着色。例如: imageRGB = imread('peppers.png'); %# Load a built-in image imageRGB = ind2rgb(rgb2ind(imageRGB,webSafeMap),webSafeMap); imshow(imageRGB); ![]() 更多&回答... |
![]() |
![]() |