用matlab将将一幅PNG格式的图像的RGB值全部读出(要求不重复),并输出一个xls表,求源程序代码!

2024-10-31 06:15:37
推荐回答(3个)
回答1:

matlab将一幅PNG格式图像的RGB值全部不重复读出,并输出一个xls表,操作方法:

  1. 用画图软件,去掉不要的线型,保留趋势图,并保存到指定的文件里。如untitled.jpg。

  2. 用imread('untitled.jpg');读入untitled.jpg文件。

  3. 用BW2=bwperim(BW1,8);提取图像边缘数据。

  4. 用[rows,cols] = find(BW2==1);提取曲线x,y的坐标点。

  5. 用fprintf(fid,'%d %d\n',A);将x,y值写入untitled.txt,以便调用。

  6. 调用untitled.txt的数据,用plot(x,y)绘出图形。

回答2:

clc;
clear;
a=imread('12.png');
[m,n,o]=size(a);
I=zeros(m*n,3);
k = 1;
for i=1:m
for j=1:n
I(k,:)=a(i,j,:);
k = k+1;
end
end
B = unique(I,'rows');
fid=fopen('123.xls','wt');
[m1 n1] =size(B);
for i=1:1:m1
for j=1:1:n1
if j==n1 %如果一行的个数达到n个则换行,否则空格
fprintf(fid,'%d\n',B(i,j));
else
fprintf(fid,'%d\t',B(i,j));
end
end
end
fclose(fid);

回答3:

这个用matlab比较容易,c的没试过。