cell2mat函数,批量处理matlab图像参考

本文介绍了如何使用MATLAB的cell2mat函数进行图像批量处理,包括读取图片、灰度化、量化处理以及计算纹理特征。通过创建元胞数组存储图片,然后转换为矩阵进行后续计算,最终提取出图像的8维纹理特征。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

所用的方法使得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<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值