所用的方法使得matlab运行十分慢,但是搜了好多matlab处理图像的都不可用,所以存储出下列代码,希望下次再见批量处理图片的时候可以直接用。
用元胞存储图片,然后再使用元胞就可以。
n=96;
B=cell(1,n);
A=zeros(96,8);
for a=1:n
B=cell(1,1);
imageName=strcat('C:\Users\Administrator\Desktop\qiutuan\',num2str(a));
imageName=strcat(imageName,'.jpg');
B{1} = imread(imageName);
M = 200;
N = 256;
Image=cell2mat(B);
%--------------------------------------------------------------------------
%1.将各颜色分量转化为灰度
%--------------------------------------------------------------------------
Gray = double(0.3*Image(:,:,1)+0.59*Image(:,:,2)+0.11*Image(:,:,3));
%--------------------------------------------------------------------------
%2.为了减少计算量,对原始图像灰度级压缩,将Gray量化成16级
%--------------------------------------------------------------------------
for i = 1:M
for j = 1:N
for n = 1:256/16
if (n-1)*16<=Gray(i,j)&Gray(i,j)<=(n-1)*16+15
Gray(i,j) = n-1;
end
end
end
end
%--------------------------------------------------------------------------
%3.计算四个共生矩阵P,取距离为1,角度分别为0,45,90,135
%--------------------------------------------------------------------------
P = zeros(16,16,4);
for m = 1:16
for n = 1:16
for i = 1:M
for j = 1:N
if j<N&Gray(i,j)==m-1&Gray(i,j+1)==n-1<