Các hà mx lí video

Một phần của tài liệu Ứng dụng xử lý hình ảnh nhận dạng đường đi cho ôtô chạy tự động (Trang 61)

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 độ

Một phần của tài liệu Ứng dụng xử lý hình ảnh nhận dạng đường đi cho ôtô chạy tự động (Trang 61)