将Matlab代码转换为Simulink

时间:2016-01-26 03:30:18

标签: matlab simulink

我想将图像处理程序(下面的程序的一部分)从Matlab转换为Simulink,并可能稍后将simulink图转换为C代码。我在Simulink有0经验,并且想知道对于可以转换的matlab程序/函数的类型是否存在任何限制以及我将如何进行此操作。感谢。

clear all
clc

% Read in an image 1
C1 = imread('cloud1.jpg');
Cloud1 = C1(:,:,1);            % use only one color
%Cloud1 = Cloud1';                  % transpose to get (x,y) instead of (y,x)
Cloud1_xsize = size(Cloud1,2);     % get x size of image
Cloud1_ysize = size(Cloud1,1);     % get y size of image
%figure(3), imshow(Cloud1)         % to plot you need to transpose back to their coordinate system
%hold on

% Read in an image 2
C2 = imread('cloud2.jpg');
Cloud2 = C2(:,:,1);            % use only one color
%Cloud2 = Cloud2';                  % transpose to get (x,y) instead of (y,x)
Cloud2_xsize = size(Cloud2,2);     % get x size of image
Cloud2_ysize = size(Cloud2,1);     % get y size of image
%figure(2), imshow(Cloud2)
%hold on

% show the shift in the initial images several times
num = 0;
for k = 1:4
    num=num+1;
    pause(.5)
    figure(1), h1=imshow(C1)
    xlabel('FIGURE 1')
    F(num) = getframe(gcf);
    %image(F.cdata)
    %colormap(F.colormap)
    pause(0.25)
    figure(1), h2=imshow(C2)
    xlabel('FIGURE 2')
    num=num+1;
    F(num) = getframe(gcf);
    %image(F.cdata)
    %colormap(F.colormap)
end   
% Play the movie twenty times
%movie(F,20)


%%%% Set the template size %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% First calc the number of pixels in the shortest direction of the image (usually y direction)  
MinSize = min(Cloud1_xsize, Cloud1_ysize); % number of pixels in shortest direction
%%% N is the minimum number of boxes in the shorter direction (usually y direction). 
%%% In the shorter axis (usually y)there will be N-2 boxes analyzed. 
%%% This is because the top and bottom boxes are considered too close to the edge to use. 
%%% In the larger direction (usually x) there may be more boxes. 
N = 6;   
EdgeBoxSize = 1;                    % the number of edge boxes along each edge
TempWidth = floor(MinSize / N);     % the pixel width of each template box
TempHeight = TempWidth;              % make the template height and width the same size so corr part works good
%%% Now calculate the exact number of boxes in x and y directions  
%%% This depends on the number of x versus y pixels. 
Nx = floor(Cloud1_xsize/TempWidth);  
Ny = floor(Cloud1_ysize/TempWidth);

0 个答案:

没有答案