Overview
This is a simple tutorial to get you started with Matlab. Matlab makes it easy to perform scientific computations without having to learn a programming language such as Fortran, C, or C++. This tutorial is developed keeping assignment_0.pdf for AM205 in mind. It can be used for other classes or self-learning as well.
...
- Matlab online tutorial at: http://www.mathworks.com/academia/student_center/tutorials/mltutorial_launchpad.html?s_tid=int_tut
- Comprehensive online documentation at the Matlab site: http://www.mathworks.com/help/techdoc/index.html
- Another site: http://en.wikibooks.org/wiki/MATLAB_Programming
- Numerical Computing with MATLAB by Cleve Moler
- A Non-matlab, but very useful book: Numerical Recipes (2007). William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian P. Flannery. Cambridge University Press
...
Using Matlab
Opening Matlab:
...
This can change with new releases. The following youtube video gives a quick introduction:
...
Code Block |
---|
function [m,val] = cheby(k,x)
% Chebyshev polynomial recurrent relation
% Relevant to question 2 in assignment_0
% Note: x and k are not vectors.
if k==0 % if ... elseif.. block controls the flow
% based on the value of k in this example.
m=0;
val=1.0;
elseif k==1
m=1;
val=x;
elseif k>=2
tch(1)=1;
tch(2)=x;
for i=3:k+1
tch(i)=2*x*tch(i-1)-tch(i-2);
end
m=i-1;
val=tch(i);
end
|
...
Code Block |
---|
%%The primary functions for loading images is 'imread' and for displaying images is 'imshow'. im=imread('baboon.png'); imshow(im); %% Images are basically two dimensional array of pixels (picture elements) with a third dimension %% that shows the intensity of pixel. If the image is a gray scale image,, the intensity is a single number %% at each pixel. If it is a color image, it is stored as a "third dimension" with 3 value %% each corresponding to the intensity of r (red), g (green) and b (blue) colors. Thus if we do: size(im) %% The result is 512 512 3, which indicates it is a two dimensional array of 512 x 512 pixels with three colors. %% To get the 'red' intensity, you can do: r=im(:, :, 1); %% This is now a two dimensional array. The color intensity can vary anywhere from 8 bits (256 levels) %% for grayscale to 24 bits (8 bits for each color) for color images. There are even 30-, 36-, or 48- bit %% images. As far as Matlab is concerned,. the image once loaded is a three dimensional array with the last %% dimension taking on only 3 values. max(r(:)),min(r(:)) %% will show 255 and 0 (the red color is stored in 8 bits). imshow(r) %% will show the image in grayscale with intensity corresponding to "red" color intensity in the %% original image. You can convert the color image to a grayscale image: img=rgb2gray(im); imshow(img) This is now a two dimensional image with a grayscale intensity of 8 bits. We have compressed the image at the expense of color! |
Grayscale Images:
Code Block |
---|
%% Many medical images (such as MRI, CT, ultrasound, etc.) are likely to be grayscale images. %% They can 10 or 12 bit images and it is convenient to represent them using 16 bits as computers can 16 bits efficiently. A=imread('Brain-MRI.jpg'); size(A) imshow(A) %% We can convert this to an grayscale image with: B=rgb2gray(A) %% This will be a 2D array of pixels with gray shades represented by 8 bits (256 shades). %% We can plot a histogram of color intensity (x-axis intensity, y axis -- number of pixels) with: imhist(B) %% We can reduce the variation in the intensity among the pixels (and thereby visually enhance the darker regions) %% by using the matlab function histeq. histeq(B) %%will display the image with formerly darker regions more bright and brighter regions darker. |