>>>>>>>>>>>>
Some basic command and mathematics>>>>>>>>>>>>>
Desc.
|
Command
|
Results
|
Clear all variables
|
>> clear
>> clear all
|
|
Clear screen
|
>> clc
|
|
Array single dimension
|
x=1:5
|
X = 1 2
3 4 5
|
Array with specific
interval
|
t=0:0.1:1
|
T = 0 0.1000
0.2000 0.3000 0.4000
0.5000 0.6000 0.7000
0.8000 0.9000 1.0000
|
2D array, matrix with
random values
|
x= rand(3:3)
|
0.6258 0.8439
0.1939
0.2507 0.3974
0.3631
0.2630 0.1046
0.8745
|
Another 2D array,
matrix
|
y= rand(3:3)
|
0.6258 0.8439
0.1939
0.2507 0.3974
0.3631
0.2630 0.1046
0.8745
|
Show graph
|
plot(x,y)
|
|
List all files in
current directory
|
dirlist = dir('.');
for i = 1:length(dirlist)
dirlist(i)
end
|
|
How to find help
|
>> help imhist
|
|
Generate single dimensional
and array with zeros
|
>> h=zeros(1,300);
|
|
Variable names
|
Avoide giving reserved names
like pi, i= =sqrt(-1)
|
|
Matrix
|
>> v=[1, 2, 3]
|
1 2 3
|
>> v=[1 2 3]
|
1 2 3
|
|
>> v=[1; 2; 3]
|
1
2
3
|
|
>> w=[1+ 5 3 4]
|
6 3 4
|
|
>> v=[1 +2 3]
|
1 2 3
|
|
Multiplication of
matrices
|
>> v=[4 5 6]
>> u=[1; 2; 3]
>> v*u
|
4 5
6
8 10
12
12 15
18
3x3 matrix
|
>> u*v
|
32
1x1 matrix
|
|
Plot Graphs
>> a=0
>> b=1
>> n=10
>> x=linspace(a,b,n+1) à h
= b-a/(n+1)-1 = 1/10=0.1
>> y = sin(x)
>> z = length(x)
Answer:
x = 0
0.1000 0.2000 0.3000
0.4000 0.5000 0.6000
0.7000 0.8000 0.9000
1.0000
y = 0
0.0998 0.1987 0.2955
0.3894 0.4794 0.5646
0.6442 0.7174 0.7833
0.8415
z = 11
>> plot(x,y)
>> plot(x,y, 'r') à r=red, g=green, b=blue, y=yellow, c=cyan, m=magenta, k=black
>> plot(x,y, 'red')
>> plot(x,y, 'red--') à -- dashed, *, x, <, >, . , .- , -.
>> plot(x,y, 'red*')
>> plot(x,y, 'red.')
>> plot(x,y, 'red*',
'linewidth', 3, 'markersize', 20)
plot(x,y, 'red*', 'linewidth',
3, 'markersize', 10)
Quadretic
equation
Imagine an equateion Ax^2 +
Bx + C = 0
x = -B +/- Sqrt(B^2 – 4AC)/2A
Program:
>> A=1, B=2, C=3
>> x(1)=(-B+sqrt(B^2-4*A*C))/(2*A)
à ans: x = -1.0000 + 1.4142i
>> x(2)=(-B-sqrt(B^2-4*A*C))/(2*A) à
ans: x = -1 + 1.4142i -1 - 1.4142i
X now contains two values in
an array.
>>>>>>>>>>>>
Image Processing >>>>>>>>>>>>>
Read an
image
>> path = E:\MS_CS\Semester_1\3.
Digtal.Img.Processing\Matlab\images\a.jpg'
>> A =
imread(path)
Read built-in
image
>>
I=imread('cameraman.tif');
>> imshow(I)
display an
image
>> imshow(A)
Negative of
an image
>> B =
imcomplement(A)
>> imshow(B)
Blue
Filtering of an image
>> B = A
>> B =
double(A);
B(:,:,3) =
3*B(:,:,3);
B = uint8(B);
>> imshow(B)
r
= A(:,:,1);
g
= A(:,:,2);
b
= A(:,:,3);
Color and
sizing of an image
>> [m,n,k] =
size(A)
m = h, n = w, k =
colors/graylevels
Display
histogram of an image
Method 1:
>> [count,bin]
= hist(A(:), 0:255);
>>
figure,plot(bin, count);
image >>
Method 2:
>> imhist(A);
Error
using imhist
Expected
input number 1, I or X, to be two-dimensional.
Reason: input image
is RGB – change to gray scale.
>> imhist(rgb2gray(A));
Display
histogram equalization of an image
>> B =
rgb2gray(A)
>> J =
histeq(B);
>> figure,
imshow(B), figure, imshow(J)
And histogram is now
stretched:
>> imhist(J)
Number of
Pixels in an image
>> numel(A)
Just copy paste in matlab,
it should work
It is an alternative program not using built-in histeq function.
It is an alternative program not using built-in histeq function.
clear all
clc
I=imread('cameraman.tif');
I=double(I);
maximum_value=max((max(I)));
[row col]=size(I);
c=row*col;
h=zeros(1,300);
z=zeros(1,300);
for n=1:row
for m=1:col
if I(n,m) == 0
I(n,m)=1;
end
end
end
for n=1:row
for m=1:col
t = I(n,m);
h(t) = h(t) + 1;
end
end
pdf = h/c;
cdf(1) = pdf(1);
for x=2:maximum_value
cdf(x) = pdf(x) + cdf(x-1);
end
new = round(cdf *
maximum_value);
new= new + 1;
for p=1:row
for q=1:col
temp=I(p,q);
b(p,q)=new(temp);
t=b(p,q);
z(t)=z(t)+1;
end
end
b=b-1;
subplot(2,2,1),
imshow(uint8(I)) , title(' Image1');
subplot(2,2,2), bar(h) ,
title('Histogram of d Orig. Image');
subplot(2,2,3),
imshow(uint8(b)) , title('Image2');
subplot(2,2,4),bar(z) ,
title('Histogram Equalisation of image2');
|
No comments:
Post a Comment