如何处理网站死链,设计网站案例网站,企业园区网络设计方案,免费商城网站模板下载目录
网站
智能图像色彩缩减和量化 网站 https://yarpiz.com/ 智能图像色彩缩减和量化 使用智能聚类方法#xff1a;#xff08;a#xff09;k均值算法#xff0c;#xff08;b#xff09;模糊c均值聚类#xff08;FCM#xff09;和#xff08;c#xff09;自组织神…目录
网站
智能图像色彩缩减和量化 网站 https://yarpiz.com/ 智能图像色彩缩减和量化 使用智能聚类方法ak均值算法b模糊c均值聚类FCM和c自组织神经网络使用 RGB 和 HSV 颜色编码来执行聚类任务。 file uigetfile 打开一个模态对话框其中列出了当前文件夹中的文件。用户可以在这里选择或输入文件的名称。如果文件存在并且有效当用户点击打开时uigetfile 将返回文件名。如果用户点击取消或窗口关闭按钮 (X)uigetfile 将返回 0。 当用户点击打开时[file,path] uigetfile 将返回文件的名称和路径。如果用户点击取消或窗口关闭按钮 (X)uigetfile 将为两个输出参数都返回 0。 [file,path,indx] uigetfile 将返回在对话框中选择的筛选器的索引。 ___ uigetfile(filter) 指定文件扩展名根据该扩展名筛选对话框中显示的文件。可以将此语法与上述语法中的任何输出参数结合使用。 pause(n) 暂停执行 n 秒然后继续执行。必须启用暂停此调用才能生效。 pause(state) 启用、禁用或显示当前暂停设置。 oldState pause(state) 返回当前暂停设置并如 state 所示设置暂停状态。例如如果已启用暂停功能oldState pause(off) 会在 oldState 中返回 on 并禁用暂停。 提取rgb imgimread(FullFileName);
imgim2double(img);Rimg(:,:,1);
Gimg(:,:,2);
Bimg(:,:,3);X[R(:) G(:) B(:)];
ZX; strcmpi - 比较字符串不区分大小写 此 MATLAB 函数 将比较 s1 和 s2并忽略字母大小写差异。如果二者相同函数将返回 1(true)否则返回 0 (false)。如果文本的大小和内容相同则它们将视为相等不考虑大小 写。返回结果 tf 的数据类型为 logical。 kmeans idx kmeans(X,k) 执行 k 均值聚类以将 n×p 数据矩阵 X 的观测值划分为 k 个聚类并返回包含每个观测值的簇索引的 n×1 向量 (idx)。X 的行对应于点列对应于变量。 默认情况下kmeans 使用欧几里德距离平方度量并用 k-means 算法进行簇中心初始化。 idx kmeans(X,k,Name,Value) 进一步按一个或多个 Name,Value 对组参数所指定的附加选项返回簇索引。例如指定余弦距离、使用新初始值重复聚类的次数或使用并行计算的次数。 prod B prod(A) 返回 A 的数组元素的乘积。 如果 A 是向量则 prod(A) 返回元素的乘积。 如果 A 为非空矩阵则 prod(A) 将 A 的各列视为向量并返回一个包含每列乘积的行向量。 如果 A 为 0×0 空矩阵prod(A) 返回 1。 如果 A 为多维数组则 prod(A) 沿第一个非单一维度运算并返回乘积数组。此维度的大小将减少至 1而所有其他维度的大小保持不变。 如果输入 A 为 single 类型则 prod 会计算并将 B 以 single 类型返回。如果为任何其他数值和逻辑数据类型prod 会计算并将 B 以 double 类型返回。 B prod(A,all) 计算 A 的所有元素的乘积。 clc;
clear;
close all;%% Select ImageFilter{*.jpg;*.jpeg;*.png};[FileName, FilePath]uigetfile(Filter);
pause(0.01);if FileName0return;
endFullFileName[FilePath FileName];%% Load Image DataChoices {RGB, HSV};ANSWER questdlg(Select the color coding:, ...Color Coding, ...Choices{1}, Choices{2}, ...Choices{1});
pause(0.01);imgimread(FullFileName);
imgim2double(img);Rimg(:,:,1);
Gimg(:,:,2);
Bimg(:,:,3);X[R(:) G(:) B(:)];
ZX;UseHSV strcmpi(ANSWER, HSV);if UseHSVYrgb2hsv(X);W[3 1 2];for l1:numel(W)Y(:,l)Y(:,l)*W(l);endZY;
end%% Number of Desired ColorsANSWER inputdlg(Number of desired colors:,Color Reduction,1,{25});
pause(0.01);nColor str2double(ANSWER{1});%% Select AlgorithmChoices {k-Means Clusterin, Fuzzy Clustering (FCM), SOM Network};ANSWER questdlg(Select the clustering algorithm:, ...Color Coding, ...Choices{1}, Choices{2}, Choices{3}, ...Choices{1});
pause(0.01);UseKMeans strcmpi(ANSWER, Choices{1});
UseFCM strcmpi(ANSWER, Choices{2});
UseSOM strcmpi(ANSWER, Choices{3});%% Perform Clusteringif UseKMeansMethod k-Means Clustering;Options.MaxIter1000;[IDX, C]kmeans(Z,nColor,options,Options);
endif UseFCMMethod Fuzzy Clustering (FCM);[C, U]fcm(Z,nColor);[MaxU, IDX]max(U);
endif UseSOMMethod SOM Neural Network;NetSize[floor(sqrt(nColor)) ceil(sqrt(nColor))];nColor prod(NetSize);[IDX, C]SOM(Z,NetSize);
end%% Create Reduced ImageZ2C(IDX,:);if UseHSVY2 Z2;for l1:numel(W)Y2(:,l)Y2(:,l)/W(l);endX2hsv2rgb(Y2);
elseX2Z2;
endR2reshape(X2(:,1),size(R));
G2reshape(X2(:,2),size(G));
B2reshape(X2(:,3),size(B));img2zeros(size(img));
img2(:,:,1)R2;
img2(:,:,2)G2;
img2(:,:,3)B2;%% Show Resultsfigure;subplot(1,2,1);
imshow(img);
title(Original Image);subplot(1,2,2);
imshow(img2);
title([Color Reduced Image (k num2str(nColor) ) using Method]);