matlab编程体会——2017/8月9月

来源:互联网 发布:小程序授权登录源码 编辑:程序博客网 时间:2024/05/16 06:05

9月

1、a=[1 2 3 ;4 5 6 ;7 8 9];

要实现b=[1 2 3 4 5 6 7 8 9];

a2=a';  a3=a2(:); b=a3';

因为a(:)=
     1
     4
     7
     2
     5
     8
     3
     6
     9


2、比较两个矩阵中不同元素,输出不同元素的位置。

e=a-b;

[m,n]=find(e~=0)

m返回行,n返回列


3、

b=reshape(a,3,5) % 列向量a按列分成5列。每列3个。

c=smooth(d,7) % 对矩阵d进行平滑,输出一列。

函数saveas_center.m把彩图保存为固定大小。


4、归一化方法

【-1,1】归一化 mapminmax(a)

[-1,1]归一化premnmx

[0,1 ]归一化mapminmax(a,0,1)



8月

1、读取txt文件里的数据,并把数据转成一列。

for i=1:N

    A= dlmread(sprintf('pingliu%d.txt', i));  %%  %03d is001,002,...,100。。%d is 1,2,3, 

    test_data(:,i)=A(:);

end

1.1 txt读出来的矩阵是double类型,若要转化灰度图

imshow(uint8(I))

imwrite(uint8(I),'I.png')

AS=imread('I.png');



2、colormap()函数

colormap()函数生成平面分布图。(色块不连续)

i=1; 

 B= dlmread(sprintf('trainPingliu%d.txt', i)); 

map=[225/255 225/255 225/255;0 1 1;0 1 0;1 1 0;1 0 0;178/255 34/255 34/255];

imshow(B,[0,255]) %B是一个二维矩阵,显示颜色范围是0~255,RGB

title('(The original picture)/3')

colormap(map);

colorer;

axis on

saveas(gcf,['trainpicture\','train',num2str(i),'.jpg']);%图片保存在文件夹“trainpicture”中

set(gcf,'color',[1,1,1]) % figure背景色为白色


生成渐变图

参考博文,在figure窗口Edit-Colormap,双击色条的矩形选择颜色。保存后在command窗口输入如下命令:

rainfallcolor=colormap;%rainfallcolor名称任意

save rainfallcolor;

调用时只需 load rainfallcolor;


3、movefile()函数,移动图片

mkdir train_1%新建文件夹,目的文件夹

DST_PATH_t ='train_1';%

for i=1:10000 

filename=['train',num2str(i),'.jpg'];  %源文件夹

movefile(filename,DST_PATH_t);  %

end  


4、读取指定路径的图片,保存图片到指定路径

filename=strcat('/Users/Desktop/trainsample/testdata_gray-',num2str(9),'/testdata_gray_1',num2str(i+20),'.png');

Iref=imread(filename);


imwrite(newof,['/Users/Desktop/trainsample/testdata_gray-',num2str(9),'/testdata_gray_1',num2str(i+20),'.png']);


5、floor()取整,图片平移可直接用for循环。

6、把mat文件转化为txt文件

load testA.mat

save testA.txt testA -ascii