Download - Tài liệu cài đặt OpenCV
ĐẠI HỌC ĐÀ NẴNG - ĐẠI HỌC BÁCH KHOA
KHOA: CÔNG NGHỆ THÔNG TIN
-----O0O------
BÁO CÁOHỌC PHẦN: THỰC HÀNH XỬ LÝ ẢNH
Giáo viên hướng dẫn : Ts. Huỳnh Hữu Hưng
Sinh viên thực hiện : Đinh Ngọc Hưng
Lớp : 09TLT
Đà Nẵng, tháng 03, năm 2010
Báo cáo: Thực hành Xử Lý Ảnh GVHD: Ts. Huỳnh Hữu Hưng
I. HƯỚNG DẪN CÀI ĐẶT OPENCV
1. Giới thiệu chung về thư viện OpenCV
OpenCV (Intel Open Source Computer Vision Library) là một thư viện mã
nguồn mở của Intel viết cho xử lý ảnh. OpenCV gồm các hàm được xây dựng cho
việc xử lý thị giác máy thời gian thực (real time computer vision). Các thuật toán
xử lý ảnh thông thường lẫn cao cấp đều được tối ưu hóa bởi các nhà phát triển thư
viện thành các hàm đơn giản và cho người dùng dễ dàng sử dụng. OpenCV hỗ trợ
hai ngôn ngữ chính c/C++ và python.
2. Hướng dẫn cài đặt OpenCV 2.1 với Visual Studio 2008.
Hướng dẫn cài đặt open CV 2.1 trên Visual Studio 2008, các phiên bản khác
tương tự.
Download miễn phí phần mềm OpenCV trên Internet.
Double click vào biểu tượng setup OpenCV 2.1. Cửa sổ setup sẽ hiển thị lên
như sau:
SVTH: Đinh Ngọc Hưng. Lớp: 09TLT Trang: 2
Báo cáo: Thực hành Xử Lý Ảnh GVHD: Ts. Huỳnh Hữu Hưng
Nhấn Next, cửa sổ tiếp theo sẽ hiển thị:
Đọc các điều khoản, đồng ý click vào I Agree, Cancel nếu không đồng ý và
hủy bỏ cài đặt. Chọn Iagree, cửa sổ tiếp theo sẽ hiển thị.
SVTH: Đinh Ngọc Hưng. Lớp: 09TLT Trang: 3
Báo cáo: Thực hành Xử Lý Ảnh GVHD: Ts. Huỳnh Hữu Hưng
Ở đây chọn Add OpenCV to the system PATH for all users và tiếp tục click
vào Next.
Chọn đường dẫn cài đặt cho chương trình, mặc định sẽ là C:\OpenCV2.1.
Nhần Next để tiếp tục.
SVTH: Đinh Ngọc Hưng. Lớp: 09TLT Trang: 4
Báo cáo: Thực hành Xử Lý Ảnh GVHD: Ts. Huỳnh Hữu Hưng
Tiếp tục Next
Ở đây chọn full để chương trình cài đặt toàn bộ thư viện. Sau đó click vào
Install để tiến hành cài đặt.
SVTH: Đinh Ngọc Hưng. Lớp: 09TLT Trang: 5
Báo cáo: Thực hành Xử Lý Ảnh GVHD: Ts. Huỳnh Hữu Hưng
Sau một khoản thời gian cài đặt:
Click vào Finish để hoàn tất quá trình cài đặt.
SVTH: Đinh Ngọc Hưng. Lớp: 09TLT Trang: 6
Báo cáo: Thực hành Xử Lý Ảnh GVHD: Ts. Huỳnh Hữu Hưng
3. Cấu hình Visual Studio 2008 liên kết với OpenCV.
Mở Visual Studio 2008 lên. Click vào menu Tool, chọn Option, chọn
Projects and Solution.
Tại Show directories for chọn: Include files. Tạo 2 derectory mới dẫn đến
thư mục đã cài OpenCV
SVTH: Đinh Ngọc Hưng. Lớp: 09TLT Trang: 7
Báo cáo: Thực hành Xử Lý Ảnh GVHD: Ts. Huỳnh Hữu Hưng
Tiếp theo cũng tại Show directories for chọn: Library files.
Cũng tương tự đối với Source files.
SVTH: Đinh Ngọc Hưng. Lớp: 09TLT Trang: 8
Báo cáo: Thực hành Xử Lý Ảnh GVHD: Ts. Huỳnh Hữu Hưng
4. Tạo một project sử dụng OpenCV.
Chọn New Project, ở đây ta chọn Visual C++, Win32, Win32 Console
Application.
SVTH: Đinh Ngọc Hưng. Lớp: 09TLT Trang: 9
Báo cáo: Thực hành Xử Lý Ảnh GVHD: Ts. Huỳnh Hữu Hưng
Nhấn chuột phải vào project chọn Properties/Configuration
Properties/Linker/ Input.
Chọn Configuration là Debug. Tại Additional Dependencies đánh vào:
cv210d.lib cvaux210d.lib cxcore210d.lib cxts210d.lib cvhaartraining.lib
highgui210d.lib ml210d.lib opencv_ffmpeg210d.lib.
SVTH: Đinh Ngọc Hưng. Lớp: 09TLT Trang: 10
Báo cáo: Thực hành Xử Lý Ảnh GVHD: Ts. Huỳnh Hữu Hưng
II. SỬ DỤNG MỘT SỐ HÀM CƠ BẢN CỦA OPENCV
1. Tải và hiển thị một hình ảnh:
Tạo một file mới và có nội dung như sau:#include <cv.h>#include <highgui.h>
int main(int argc, char** argv) { //Tạo một biến img để load hình ảnh vào IplImage* img = cvLoadImage("./Images/Xoom vs Ipad.jpg"); //Tạo một cửa sổ với tên OpenCV with Visual Studio 2008 cvNamedWindow("OpenCV with Visual Studio 2008",
CV_WINDOW_AUTOSIZE); //Hiển thị ảnh cvShowImage("OpenCV with Visual Studio 2008", img); //Chờ người dùng nhấn phím bất kỳ cvWaitKey(0);
//Release Image and Destroy Window cvReleaseImage(&img); cvDestroyWindow("OpenCV with Visual Studio 2008"); return 0;}
Chạy chương trình ta được:
2. Chuyển ảnh màu sang ảnh xám.
Sử dụng hàm cvCvtColor#include <cv.h>
SVTH: Đinh Ngọc Hưng. Lớp: 09TLT Trang: 11
Báo cáo: Thực hành Xử Lý Ảnh GVHD: Ts. Huỳnh Hữu Hưng
#include <highgui.h>
int main(int argc, char** argv) { //Tạo một biến img để load hình ảnh vào IplImage* img = cvLoadImage("./Images/Xoom vs Ipad.jpg");
// Tạo một biến imgGray chứa ảnh xámIplImage* imgGray = cvCreateImage(cvSize(img->width, img->height), IPL_DEPTH_8U, 1);cvCvtColor(img, imgGray, CV_BGR2GRAY);// Kiểm tra ảnh hiện tại phải ảnh xám chưaif(img->nChannels != 1){// Chuyển ảnh màu thành ảnh xámcvCvtColor(img, imgGray, CV_BGR2GRAY);}else{imgGray = img;}cvNamedWindow("OpenCV with Visual Studio", CV_WINDOW_AUTOSIZE);
//Show the image into that window cvShowImage("OpenCV VS2008", imgGray); //Wait for a key pressed cvWaitKey(0); //Then release image and destroy window cvReleaseImage(&imgGray); cvDestroyWindow("Open CV"); return 0; //Tạo một cửa sổ với tên OpenCV with Visual Studio 2008 cvNamedWindow("OpenCV with Visual Studio 2008",
CV_WINDOW_AUTOSIZE); //Hiển thị ảnh cvShowImage("OpenCV with Visual Studio 2008", imgGray); //Chờ người dùng nhấn phím bất kỳ cvWaitKey(0);
//Release Image and Destroy Window cvReleaseImage(&imgGray); cvDestroyWindow("OpenCV with Visual Studio 2008"); return 0;}
Kết quả:
SVTH: Đinh Ngọc Hưng. Lớp: 09TLT Trang: 12
Báo cáo: Thực hành Xử Lý Ảnh GVHD: Ts. Huỳnh Hữu Hưng
SVTH: Đinh Ngọc Hưng. Lớp: 09TLT Trang: 13