ĐẠI HỌC ĐÀ NẴNG - ĐẠI HỌC BÁCH KHOA
KHOA: CÔNG NGHỆ THÔNG TIN
O0O BÁO CÁO
HỌ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
SVTH: Đinh Ngọc Hưng. Lớp: 09TLT Trang: 2
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.
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: 6
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. 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: 7
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
Tiếp theo cũng tại Show directories for chọn: Library files.
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: 8 Cũng tương tự đối với Source files. 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: 9
4. Tạo một project sử dụng OpenCV.
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>
#include <highgui.h>
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: 12 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ám
IplImage* 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ưa
if(img->nChannels != 1)
{
// Chuyển ảnh màu thành ảnh xám
SVTH: Đinh Ngọc Hưng. Lớp: 09TLT Trang: 13