Tải bản đầy đủ (.pdf) (10 trang)

Tìm hiểu về OpenCV

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (673.22 KB, 10 trang )

1

Tìm hiểu về OpenCV – Nhóm 17 – Tuấn Lực – Thành
Phú





OPEN
CV






1. Giới thiệu về
OpenCV

2. Cách cài
đặt

a. Cài đặt trên VS
2008
b. Cài đặt trên VS
2010

3. Các hàm xử lí

nh



a. Hiển thị
ảnh
b.
Lưu hình

nh
c. Biến đổi

nh
d. Lọc
ảnh

e. Tìm
biê
n

4. Các hàm xử lí
V
ideo

a. Đọc
V
i
deo
từ
f
ile
b. Lấy ảnh từ
Cam

era
c. Lưu
V
id
eo

2

Tìm hiểu về OpenCV – Nhóm 17 – Tuấn Lực – Thành
Phú





Giới
thiệu
về
Open
CV


OpenCV

gì?


OpenCV là một thư viện mã nguồn mở phục vụ cho việc nghiên cứu hay phát
triển
về thị

g
i
ác
máy
tính.

Tối ưu hóa và xử lí các ứng dụng trong thời gian t
hự
c.

Giúp cho việc xây dựng các ứng dụng xử lí ảnh, thị giác máy tính, một cách
nhanh
hơn
.

OpenCV có hơn 500 hàm khác nhau,
được
ch
i
a

l
àm
nhiều phần phục vụ các
công

việc như: xử lí hình ảnh y tế, an ninh,
camera
quan sát, nhận diện,
robots,



Ai
sẽ sử dụng
Ope
nCV?


Đầu tiên chúng ta phải
h
i
ểu
: OpenCV là mã nguồn mở và chúng ta không
p
hả
i
tr

bất cứ một đồng nào cho
nó.

Tất cả chúng ta đều có thể
sử
dụng OpenCV tùy theo việc chúng ta
sử
dụng nó
như
thế nào vào việc
g
ì

.


Sử dụng OpenCV
để làm
gì?


Xử lí ảnh, quan
sát,
an ninh,
robots,
Tất cả
những
gì mà bạn nghĩ rằng
li
ên

quan
đến thị
g
i
ác
máy tính thì bạn có thể
sử
dụng OpenCV để
làm.

Thay vì lập trình cho các thuật toán xử lí ảnh thì bạn đã có
sẵn

trong tay một thư
việ
n
về các hàm đó. Công việc của bạn chỉ là
sử
dụng nó. Và bạn có thể lập trình cho
c
ác
thiết
b

máy móc để cho nó có thể
“n
hìn”,


3

Tìm hiểu về OpenCV – Nhóm 17 – Tuấn Lực – Thành
Phú


Download

cài đặt
O
penCV


Download

tại:
h
ttp://s
ou
rc
e
f
or
ge.net
/
pro
jec
ts/opencvlibrary/


Tài liệu
hướng
dẫn: Các bạn nên
sử
dụng cuốn Learning OpenCV (Dr. Gary
Rost
Bradski &
Dr. Adrian
K
aehler)


Ghi chú: Các bạn có lấy file đính kèm của tài liệu

y


Cài
đặ
t:


Ghi chú: Các bạn
phả
i

download
thêm phần mềm CMAKE tại địa chỉ:
htt
p
://
cmake
.org


Cài đặt
chung:


B1: Cài đặt
phần mềm OpenCV
(Các
bạn có
thể
sử dụng phiên bản
2.1

hoặc
2.2)
.
B2: Cài đặt
cmake
và làm
theo hướng dẫn

B2.1: Tạo một
thư mục

tên:
Build
trong thư mục
cài đặt
OpenCV.
(VD: Tạo
thư mục
B
uild
trong thư mục
C:/
Op
e
nCV2.2)


B2.2:
Khởi động Cmake


điền các thông số như hình bên

4

Tìm hiểu về OpenCV – Nhóm 17 – Tuấn Lực – Thành
Phú









Tiếp
tục nháy
vào nút
C
on
f
igure




Chọn phiên bản
Vi
s
ual


Studio đang dùng
rồi click vào
F
inish




Tiếp
tục nháy
vào nút
C
on
f
igure




Click vào
Generate
rồi
thoát
Cm
ake.


B2.3: Mở
thư mục OpenCV2.2\Build (hoặc OpenCV2.1 nếu bạn cài

Ope
nCV2.1)
Mở
file OpenCV.sln
(C:\
Op
e
nCV2.2\B
uild\Ope
nCV
.s
ln
)
B2.3: Tại
giao diện của
V
isual

Studio chọn Release
rồi Build
Solution (Nhấn
F6
hoặc
F
7)



5


Tìm hiểu về OpenCV – Nhóm 17 – Tuấn Lực – Thành
Phú





Chờ đến
khi
build xong
thì
bạn thoát ra
rồi tạo một
Project
m
ới.


Cài đặt
Ope
nC
V

trên Visual Studio
2008


Bạn
thao
tác

như sau: Tools

O
ptions




Chọn
VC++
Directories

Include files

Thêm các thư mục sau vào.


Với
bản OpenCV2.2 các bạn thêm các thư mục sau:
(Tùy
theo bạn sử dụng

bạn
t
hêm)
C:\O
penCV2.2
\inclu
de


C:\O
penCV2.2
\inclu
de\
op
e
ncv


C:\O
penCV2.2
\inclu
de\
op
e
ncv2
\i
m
gproc
C:\O
penCV2.2
\inclu
de\
op
e
ncv2\featur
es
2d
c:\O
penCV2.2

\inclu
de\
op
e
ncv2
\obj
detec
t


6

Tìm hiểu về OpenCV – Nhóm 17 – Tuấn Lực – Thành
Phú





Với
bản OpenCV2.1 bạn thêm các thư mục
sa
u:
C:\O
penCV2.1\Bu
ild\bin\Rele
as
e
C:\O
penCV2.1\Bu

ild\bin

C:\O
penCV2.1
\inclu
de


C:\O
penCV2.1
\inclu
de\
op
e
ncv


Tiếp
tục các bạn chọn
VC++
Directories

Library files

Thêm các thư mục chứa các t

viện

o
.





Với
bản OpenCV2.2 bạn chỉ cần thêm:
C
:
\Ope
nCV2
.2\lib
Với
bản OpenCV2.1 bạn thêm các thư mục
sa
u:
C:\O
penCV2.1\Build\lib
\Rele
as
e

C:\O
penCV2.1\Build\lib


C:\O
penCV2.1
\li
b



Tiếp
đến các bạn
c
họn:



7

Tìm hiểu về OpenCV – Nhóm 17 – Tuấn Lực – Thành
Phú







Chọn Configuration Propertise

Linker

Inpu
t




















Tại Addtional Dependencies Các bạn thêm các
file
sa
u:
C:\O
penCV2.2
\li
b\o
pencv
_core2
20
.l
i
b
C:\O
penCV2.2

\li
b\o
pencv
_hi
g
hgui22
0.l
ib
C:\O
penCV2.2
\li
b\o
pencv
_m
l220.lib

C:\O
penCV2.2
\li
b\o
pencv
_img
proc2
20.lib


C:\O
penCV2.2
\li
b\o

pencv
_legacy
22
0.l
ib


Sau
khi
thêm xong là các bạn
đã
hoàn thành việc cấu hình OpenCV trên
V
isual

Studio
2008
.


Cài đặt
Ope
nC
V

trên Visual Sutdio
2010


Bạn

thao
tác
như sau:
Click
chuột phải
vào tên
Project

Pro
pertis
e




Thao
tác
thêm các thư
viện
như
2008.
Sau
khi
thêm các thư
viện
tại
:

Include
files và

Library
files
xong chọn Configuration Propertise

Linker

Inp
ut



8

Tìm hiểu về OpenCV – Nhóm 17 – Tuấn Lực – Thành
Phú





Tại Addtional Dependencies Các bạn thêm các
file
sa
u:
C:\O
penCV2.2
\li
b\o
pencv_
core

220.lib
C:\O
penCV2.2
\li
b\o
pencv_
highgui220
.lib
C:\O
penCV2.2
\li
b\o
pencv_legacy
22
0.l
ib
C:\O
penCV2.2
\li
b\o
pencv_
ml22
0.l
ib
C:\O
penCV2.2
\li
b\o
pencv_
img

proc22
0.l
ib

Sau
khi
thêm xong là các bạn
đã
hoàn thành
việc
cấu hình OpenCV trên
V
isual

Studio
2010.


Ghi
chú:
Đối với
bản OpenCV2.2
hay
OpenCV2.1 các bạn
làm
như nhau.
Tuy
nhiên
khi
thêm

các file thư
viện thì
các bạn
hãy vào
thư mục
C:\
Ope
nCV2.x\l
ib\tenf
il
e
.l
i
b


Trong
đó x là tên
phiên bản, tenfile là
tên
của
file. Ví dụ:
thay tenfile
=
ope
ncv_
core
22
0.li
b



Mộ
t

số hàm xử


nh


Đọc và
hiển
thị
ảnh
(Sử dụng thư viện: hi
ghgu
i.h)

Trước
khi hiển
th

ảnh
l
ên
màn hình thì chúng ta
p
hả
i

biết
l
àm
như thế nào để tải một đọc
từ
ổ đĩa. Chúng ta
sẽ sử
dụng hàm
cvLoad
I
mage()
;

Ip
l
Image*

cvLoadImage
(


const char*
filen
ame,


int iscolor
= CV_LOAD_IMAGE_COLOR

);



fi
l
ename:
Tên
đường dẫn ảnh
iscolor:
Chế độ
hiển thị
ản
h
Mộ
t

số giá
trị
của
is
color:
CV_LOAD_IMAGE_GRAYSCALE
CV
_
LOAD_I
MAGE_A
NYDEPT
H
CV_LOAD_IMAGE_UNCHANGED
Sau
kh

i
đã đọc
được
ảnh từ ổ cứng chúng ta
sẽ
hiển thị lên màn hình bằng
h
àm
cvShowImage();
Đồng thời chúng ta phải tạo một cửa
sổ
hiển
th

ảnh (Dùng
hàm
cvNamed
W
i
ndow()
;)

cvNamed
W
i
ndow(“
Tên
cửa sổ hiển thị”);

vo

i
d

cvSh
owImag
e(
const char* name,
const
C
vArr*

image

);

9

Tìm hiểu về OpenCV – Nhóm 17 – Tuấn Lực – Thành
Phú





Na
m
e:
Tên
cửa số hiển thị


nh


Image:
Tên
ảnh


Chúng ta cùng
l
àm
một ví dụ cụ thể
sa
u:


#include
"
high
gui.
h"
int
ma
in()

{

IplImage*
img =
cv

Load
Image
(ima
g);

//
Tạo
biến
chứa

nh
cvNamedWin
dow(
"Sho
wIMG
"
,CV_
WIND
OW_A
UTOS
IZE)
;

//
Tạo
m
ột
cửa
số hiển
t

hị

ản
h
cvShow
Imag
e(
"S
howI
MG"
,
img);

//
hiển thị ảnh

cvWaitKey(0);
//
Đ
ợi

người
dùng nhập vào
mộ
t
phím
bất kì
cvRele
aseI
mage(&im

g);

//
Giải
phóng bộ nhớ chứa
ảnh
cvDest
royW
indo
w(
"S
howI
MG"
);

//
Đóng cửa sổ chứa
ảnh

}


Lưu

nh


vo
i
d


cvSa
veImag
e(
const char* name,
const
C
vArr*

image,

const
i
nt*

params
C
V_DEFA
ULT(0)


);


#include
"
high
gui.
h"
int

ma
in()

{

IplImage*
img =
cv
Load
Image
(ima
g);

//
Tạo
biến
chứa

nh
cvNamedWin
dow(
"Sho
wIMG
"
,CV_
WIND
OW_A
UTOS
IZE)
;


//
Tạo
m
ột
cửa
số hiển
t
hị

ản
h
cvShow
Imag
e(
"S
howI
MG"
,
img);

//
hiển thị ảnh

IplImage* out
=
cvCrea
teIma
ge(c
vGet

Size
(img
),im
g->dep
th,i
mg->
nCha
nnel
s);
cvConv
ertI
mage
(img
,out
,

CV
_C
V
TIMG
_F
LIP
);

//
Chuyển
đổi ảnh
cvSave
Imag
e(

"D
:/te
st.b
mp"
,i
mg);

//
Lưu ảnh
với
một

n

kh
ác

cvWaitKey(0);
//
Đ
ợi

người
dùng nhập vào
mộ
t
phím
bất kì
cvRele
aseI

mage(&im
g);

//
Giải
phóng bộ nhớ chứa
ảnh
cvDest
royW
indo
w(
"S
howI
MG"
);

//
Đóng cửa sổ chứa
ảnh

}


Biến đổi

nh






Lọc
ảnh


Tìm biên của
ảnh

1
0

Tìm hiểu về OpenCV – Nhóm 17 – Tuấn Lực – Thành
Phú





Mộ
t

số hàm xử

v
id
eo
Đọc và hiển
th

Video từ một

f
ile
Đọc từ
Came
r
a

Lưu
file
Video

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×