一朝尘尽光生 2021-05-07 15:38 采纳率: 0%
浏览 29

有人可以将这段MATLAB代码装换为python代码嘛?

clc

clear

close all

%1、把碎片的矩阵进行提取

%2、把矩阵转换为向量(行和或者行平均)

%3、对11*19个向量运用聚类(系统聚类:向量之间的距离用相关系数、类与类之间的距离用ward)

%4、对每一类用第一题中的算法进行分类

pic1=zeros(1980,72,19);

pic3=zeros(1980,1368);

for i=0:18

    s=strcat(int2str(i),'.bmp');

    pic1(:,:,i+1)=imread(s);

end

%%%将图片二值化

for i=1:19

    for j=1:1980

        for p=1:72

            if pic1(j,p,i)~=255

                pic1(j,p,i)=1;

            else

                pic1(j,p,i)=0;%黑色为0,白色为1

            end

        end

    end

end

r=zeros(19);

for i=1:19

    for j=i:19

        r(i,j)=sum(abs(pic1(:,1,i)-pic1(:,end,j)));

    end

end

for i=1:19

    for j=1:i

        r(i,j)=sum(abs(pic1(:,end,i)-pic1(:,1,j)));

    end

end

for i=1:19

    r(i,i)=inf;

end

for i=1:19

   if pic1(:,1,i)==0

       first_pic=i;%找到第一张图片

   end

   if pic1(:,end,i)==0

       end_pic=i;%找到最后一张图片

   end

end

r1=1980*ones(1,19);

rank_pic=zeros(1,19);

p1=first_pic;

xuhao=1;

rank_pic(xuhao)=first_pic;

cjl=0;%当这个值为0时说明没有重复,从第一个排序向量开始一开始p1=first,之后我们都要判定当前计算的i值是否已经出现过,如果出现过那么就跳过不计算。

while p1~=end_pic

    for i=1:19

        for j=1:i

            if i==rank_pic(j)

                cjl=1;

            end

        end

        if i~=p1 && cjl==0

            r1(i)=sum(sum(abs(pic1(:,end,p1)-pic1(:,1,i))));

        end

        cjl=0;

    end

    [~,label]=min(r1);

    p1=label;

    cjl=0;

    r1=1980*ones(1,19);%将R1重新初始化!!!!

    xuhao=xuhao+1;%序号递增

    rank_pic(xuhao)=label;%将当前得到的最短距离放入排好的序列

end

pic2=pic1(:,:,rank_pic(1));

for i=1:18

    pic2=[pic2 pic1(:,:,rank_pic(i+1))];

end

[m,n]=size(pic2);

pic2=1-pic2;

imshow(pic2);

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879


  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-07 17:09
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable