3.3.2.1. Hàm vision.VideoFileReader
Hàm này có ch cănĕngăđ c các hình nh và âm thanh từ các file video hoặc các file nh.
Cú pháp:
videoFReader=vision.VideoFileReader(FILENAME) hoặc
videoFReader=vision.VideoFileReader(Filename, Name, Value)
Đnh d ng t p tin mà hàm có th th c hi n ph thu c vào h đi u hành mà b công c đ căcƠiăđặt. Tuy nhiên v i t pătinăcóăđuôiălƠă.aviăthìăhƠmăcóăth th c thi trên t t c các h đi u hành. V i h đi u hành windows, các hàm ch th c thi các filenameăcóăđuôiălƠ:ă.jpg,ă.bmp,ă.mpeg,ă.mp2,ă.mpg,ă.mp4,ăm4v,ă.mj2,ă.wmv,ă.asf,ă .asx, .wav, .aif, .aiff, .aifc, .mp3.
3.3.2.2. Hàm vision.VideoPlayer HƠmănƠyădùngăđ m m t video hoặc hi n th hình nh. Cú pháp videoPlayer = vision.VideoPlayer videoPlayer = vision.VideoPlayer(Name,Value) Đ hi n th m t video frames c n th c hi n:
55
o G i l nh step. Theo cú pháp step(videoPlayer,I),ătrongăđóăIă lƠăđ iăt ng c n hi n th trong video player.
Ví d :
% Doc mot hinh anh tu file video va tao doi tuong mo file.
videoFReader =
vision.VideoFileReader('videothucte_0002.avi'); videoPlayer = vision.VideoPlayer;
% Mo file. Moi lenh goi step se doc mot khung hinh. while ~isDone(videoFReader)
frame = step(videoFReader); step(videoPlayer,frame); end
% Dong doi tuong.
release(videoFReader); release(videoPlayer);
K t qu :
56
Đ chènăđ iăt ng vào video player, Computer Vision System Toolbox hổ tr các hàm:
insertText Chèn text.
insertShape Chèn hình d ng.
insertMaker Chènăđánhăd u vào trong nh hoặc video.
insertObjectAnnotation ChènăchúăthíchăđúngămƠuăvƠoădòngă
video.
3.3.2.3. Hàm vision.ImageFilter
Th c hi n l c ma tr n đ u vào dùng b l c 2D FIR. C u trúc:
H = vision.ImageFilter hàm này tr v đ iăt ng h th ng H.
H = vision.ImageFilter(Name,Value)
3.3.2.4. Hàm vision.Autotheresholder
ĐơyălƠăhƠmăchuy năđổi nhăc ngăđ sang nh nh phân, s d ngăph ngă pháp Otsu.ăXácăđ nhăng ỡng bằng cáchăchiaătáchăhoƠnhăđ c a nhăđ uăvƠoăđ gi m thi u sai s .
C u trúc l nh
H = vision.Autothresholder
H = vision.Autothresholder(Name,Value)
Ví d : img = im2single(rgb2gray(imread('peppers.png'))); imshow(img); hautoth = vision.Autothresholder; bin = step(hautoth,img); pause(2); figure;imshow(bin); K t qu :
57
Hình 3.11:̉nh cường độ
Hình 3.12:̉nh nhị phân
3.3.2.5. Hàm vision.LocalMaximaFinder
Hàm tìm c căđ iăđ aăph ngătrongămaătr n. Sau khi thi t l p các thu c tính c a ma tr nă đ u vào, s d ng cú pháp IDX = step(H,I) hoặc [...] = step(H,I,THRESH)ă trongă đóă THRESHă lƠă ng ỡng,ă đ tìm v trí có giá tr c că đ i trong ma tr n.
C u trúc l nh
H = vision.LocalMaximaFinder(Name,Value)
H = vision.LocalMaximaFinder(Name,Value)
58 Ví d : >> I = [0 0 0 0 0 0 0 0 0 0 0 0; ... 0 0 0 1 1 2 3 2 1 1 0 0; ... 0 0 0 1 2 3 4 3 2 1 0 0; ... 0 0 0 1 3 5 7 5 3 1 0 0; ... 0 0 0 1 2 3 4 3 2 1 0 0; ... 0 0 0 1 1 2 3 2 1 1 0 0; ... 0 0 0 0 0 0 0 0 0 0 0 0]; hLocalMax = vision.LocalMaximaFinder; hLocalMax.MaximumNumLocalMaxima = 1; hLocalMax.NeighborhoodSize = [3 3]; hLocalMax.Threshold = 1; location = step(hLocalMax, I) location = 7 4 3.3.2.6. Hàm vision.HoughLines
HƠmăxácăđnh to đ Đ các c aăđ ng thẳng trong nh,ăđ c di n t b i cặp tham s rho và theta.ăĐ iăt ngăđ u vào là các cặp rho và theta c a nh tham chi u. Đ iăt ngăđ u ra là các v trí c a hàng và c t c aăcácăgiaoăđi m gi aăcácăđ ng thẳngăvƠăđ ng bao c a nh tham chi u.ăCácăđ ng bao là biên d c bên trái và bên ph i và biên ngang c a phía trênăvƠăphíaăd i c a nh tham chi u.
C u trúc l nh:
H = vision.HoughLines
H = vision.HoughLines(Name,Value)
59 Hình 3.13:̉nh circuit.tif I = imread('circuit.tif'); hedge = vision.EdgeDetector; hhoughtrans = vision.HoughTransform(pi/360,'ThetaRhoOutputPort', true);
hfindmax = vision.LocalMaximaFinder(1, 'HoughMatrixInput', true);
hhoughlines = vision.HoughLines('SineComputation','Trigonometric function');
BW = step(hedge, I);
[ht, theta, rho] = step(hhoughtrans, BW);
linepts = step(hhoughlines, theta(idx(1)-1), rho(idx(2)-1), I); imshow(I); hold on;
line(linepts([1 3])-1, linepts([2 4])-1,'color',[1 1 0]);
K t qu :
Hình 3.14: Đường thẳng dài nhất trong ảnh
3.3.2.7. Hàm vision.ColorSpaceConverter
60 C u trúc l nh
H = vision.ColorSpaceConverter
H = vision.ColorSpaceConverter(Name,Value)
Ví d : Chuy năđổi nhăRGBăsangăkhôngăgianămƠuăc ngăđ .
i1 = imread('pears.png'); imshow(i1); hcsc = vision.ColorSpaceConverter; hcsc.Conversion = 'RGB to intensity'; i2 = step(hcsc, i1); pause(2); imshow(i2); K t qu : Hình 3.15:̉nh RGB
61
Hình 3.16:̉nh cường độ