Professional Documents
Culture Documents
Lap Trinh He Nhung Esprogramming c8 0644
Lap Trinh He Nhung Esprogramming c8 0644
Lp trnh x l nh trn nn
nhng
202
Ni dung
8.1. Tng quan v x l nh
8.2. Gii thiu OpenCV
8.3. C|c php bin i nh c bn
203
M hnh h thng x l nh
Lu tr
Camera
Thu nhn
nh
S ha
Phn tch
nh
Sensor
Lu tr
i snh
Nhn dng
H
quyt nh
Cc bi ton x l nh
Cc k thut tin x l-mc thp
Image
Acquisition
Image
Enhancement
Image
Restoration
Image
Compression
Image
Coding
Morphological
Image Processing
Wavelet
Analysis
Knowledge Base
Lp trnh nhng ARM-Linux
X l mc cao
Image
Segmentation
Representation
& Description
Recognition &
Interpretation
Cc bi ton x l nh
Thu nhn nh, s ha nh (image aquisition)
H thng chp nh, tn hiu nh
H thng s ha nh: C|c phng ph|p ly mu,
lng t ha
Cc bi ton x l nh
Phn tch nh
Trch chn c trng (feature extraction)
Biu din, m t nh (image representation, image
description)
Ph}n lp nh (image classification)
Nhn dng nh (image recognition)
M ha, nn nh
C|c phng ph|p nn nh, c|c chun nn nh
ng dng x l nh
Hiu ng panorama
KINECT
http://opencvlibrary.sourceforge.net
Lp trnh nhng ARM-Linux
Th vin OpenCV
Ci t th vin OpenCV
Bc 1: C{i t th vin OpenCV trn m|y host
(Linux Desktop)
Bc 2: Bin dch cho, c{i t th vin OpenCV
bin dch cho c|c ng dng trn KIT
Chi tit: Xem t{i liu hng dn c{i t
Tch hp OpenCV v QT
Khai b|o trong file .pro ca d |n QT: thm c|c
dng lnh sau v{o cui file .pro
Tch hp OpenCV v QT
Khai b|o c|c th vin s c s dng: ng
dng linh hot, to file global.h cha include ti c|c
th vin ca OpenCV
c nh v hin th
Cc kiu d liu c bn trong OpenCV
cvArr
cvMat
IplImage
CvCapture
226
c nh v hin th
Hm c nh: cvLoadImage
Tham s u v{o: ng dn ti file nh
Tham s u ra: d liu nh lu theo kiu d liu
con tr ca IplImage
V d:
IplImage* img = cvLoadImage("/home/oto.jpeg" );
Kt ni Camera
Hm m file video:
H{m m webcam:
CvCapture* capture=cvCreateCameraCapture(0)
Kt ni Camera
Bc 1: m kt ni vi Camera mc nh
CvCapture* camera = cvCreateCameraCapture(0);
Bc 2: ly v tng Frame nh ca camera
IplImage* preImage=cvQueryFrame(camera);
Bc 3: gii phng i tng camera
cvReleaseCapture(&camera);
229
230
x
pixel
Original picture
f(x, y)
Digital image
I[i, j] or I[x, y]
nh s
Mt nh s thng c biu din nh mt ma
trn c|c im nh
Trong mi im nh c th c biu din bng
1 bit (nh nh ph}n)
8 bit (nh a mc x|m)
16, 24 bit (nh m{u)
nh a mc xm (Grayscale image)
nh a mc xm l nh c s chuyn dn mc xm t
trng sang en.
S dng 8 bit biu din mc xm
233
234
Chuyn nh mu -> a mc xm
Hm chuyn nh mu sang nh a mc xm:
Bc 1: To 1 nh trng (cha c d liu) nh dng nh
a mc xm
IplImage *grayimage = cvCreateImage( cvSize( colorimg>width, colorimg->height ), IPL_DEPTH_8U, 1 );
Bc 2: Chuyn i nh mu sang a mc xm
cvCvtColor( img, grayimage, CV_RGB2GRAY );
235
8.3.3. Histogram
Biu ny n gin cho chng ta bit s im
nh (pixel) trong mt nh a mc xm c mt
gi tr mc xm tng ng.
Thng s: s bins (=256 vi nh a mc xm)
237
Histogram
nh ti
238
Histogram
nh sng
239
Hm tnh Histogram
Cu trc CvHistogram: lu c|c thng tin v ph}n
b Histogram ca nh
Hm tnh Histogram
Bc 1: S dng h{m cvCreateHist khi to cu
trc CvHistogram chun b cha kt qu
Dims: s chiu ca Histogram
Sizes: s lng bins
Type: nh dng d liu (thng s dng
CV_HIST_ARRAY)
Ranges: Di c|c khong gi| tr tnh Histogram
Hm tnh Histogram
Bc 2: Tnh Histogram s dng h{m cvCalcHist
Image: nh cn tnh Histogram
Hist: lu kt qu tnh Histogram
Accumulate: ty chn tch ly, cho php tnh
Histogram t nhiu nh
Mask: x|c nh phm vi c|c pixel s c s dng
tnh Histogram, mc nh tnh to{n nh
Hm tnh Histogram
Bc 3: V ph}n b Histogram
Bc 4: Gii phng b nh s dng h{m
cvClearHist
245
Dn tng phn
246
247
Cn bng Histogram
Cng thc thc hin:
bk = (bmax bmin)
Trong bmin, bmax l nhng gi tr c chn, pi l
xc sut xut hin gi tr mc xm i trong nh ban
u, vi i [amin, amax]
248
Hm cn bng Histogram
S dng h{m cvEqualizeHist
Src: ma trn nh gc
Dst: ma trn nh sau khi ~ c}n bng Histogram
251
252
253
Kt qu
(S dng ngng cng)
Kt qu
(S dng ngng thch nghi)
254
Ph lc A Cc lnh Linux
Lnh hin th thng tin c|c file trong th mc
ls al //hin th danh s|ch vi y thng tin
Lnh thay i quyn cho mt file hay th mc
chmod
vd: chmod +x Filename //Cp thm quyn thc thi
Lnh xem danh s|ch c|c file thit b
ls al /dev
Lnh xem tt c c|c tin trnh ang chy
ps
Lp trnh nhng ARM-Linux
258
Ph lc A Cc lnh Linux
Lnh c{i t mt phn mm t kho cha ca Linux
sudo apt-get install Tn_gi_phn_mm
Xem danh s|ch c|c major id tng ng vi c|c
device driver ang active
cat /proc/devices
Tm kim file cha mt dng text bt k
grep
vd: grep r Hello .
//Tm tt c c|c file v{ hin th ra c|c dng cha t kha
//Hello trong th mc hin ti v{ c|c th mc con
259
260