matlab知识点

来源:互联网 发布:英语离线翻译软件 编辑:程序博客网 时间:2024/06/06 01:54

flipud函数 实现矩阵的上下翻转。
如:flipud(A)实现了矩阵A的上下翻转。 
解释:其实flipud函数中的最后两个字母ud就是英文中up(上)和down(下)。
例:
A = 1 4 2 5 3 6那么:
flipud(A)  = 3 6 2 5 1 4
fliplr函数 实现矩阵的左右翻转。
如:flipud(A)实现了矩阵A的上下翻转。

解释:其实fliplr函数中的最后两个字母lr就是英文中left(左)和right(右)。

用fliplr,如
  x=[1 2 3 4 5];
  fliplr(x)
  ans =54321




clc
clear
%A=1:400;
A=zeros(1,400);
img=imread('E:\q.jpg');
[rows,cols]=size(img);
%img=rgb2gray(img);
      %cou=1;
        for h=1:rows%行数
            for w=1:cols%列数
                if(img(h,w)>200) %0可改为阈值
                    A(h) = A(h)+1;%记录最下端,即最后一行
                   % if (cou == 1) tpln=toplen;end;%记录第上端,即第一行
                   %cou=cou+1;
                    %break;
                end
            end
        end
       
 x=fliplr(A);
 y=[1:400];
 plot(x,y)
 xlabel('Edge Energy Value');
 ylabel('Vertical Pixel Value');
 legend('vertical histogram')
 
 
 A=zeros(1,900);
img=imread('E:\q.jpg');
[rows,cols]=size(img);
%img=rgb2gray(img);
      %cou=1;
        for u=1:cols%行数
            for v=1:rows%列数
                if(img(v,u)>200) %0可改为阈值
                    A(u) = A(u)+1;%记录最下端,即最后一行
                   % if (cou == 1) tpln=toplen;end;%记录第上端,即第一行
                   %cou=cou+1;
                    %break;
                end
            end
        end
       
 z=A;
 q=[1:900];
 figure;
 plot(q,z)
 xlabel('Horizontal Pixel Value');
 ylabel('Edge Energy Value');
 legend('original horizontal histogram')


zeros(m,n)
生成全零的mxn矩阵
m,n其中一个为1,就是一维数组,看你需要行方向还是列方向


原创粉丝点击