Số hiệu: BM1/QT-PĐT-RĐTV/00 Trang 1 Trường ĐHSPKT TP.HCM ĐỀ THI MÔN: XỬ LÝ ẢNH SỐ Khoa Công nghệ Thông tin MÃ MÔN HỌC: 1279230 Bộ môn Tin học cơ sở Học kỳ I – Năm học 2014-2015 ---------------------- ------------------------------ NỘI DUNG ĐỀ THI: Câu 1: (2đ) Mục đích của việc cân bằng histogram? Xây dựng và cài đặt thuật toán cân bằng histogram tự động. Câu 2: (3đ) Trình bày các bước lọc ảnh trong miền tần số (gồm 7 bước). Trình bày bộ lọc Notch Reject và ứng dụng bộ lọc Notch Reject để xoá nhiễu Moiré. Xây dựng và cài đặt thuật toán xoá nhiễu Moiré của ảnh. Câu 3: (2.5đ) Xây dựng và cài đặt thuật toán đếm hạt gạo. Câu 4: (2.5đ) Xây dựng và cài đặt thuật toán nhận dạng khuôn mặt dùng phương pháp khuôn mặt riêng (eigenface). --------------------HẾT-------------------- Số hiệu: BM1/QT-PĐT-RĐTV/00 Trang 2 Trường ĐHSPKT TP.HCM ĐÁP ÁN MÔN: XỬ LÝ ẢNH SỐ Khoa Công nghệ Thông tin MÃ MÔN HỌC: 1279230 Bộ môn Tin học cơ sở Học kỳ I – Năm học 2014-2015 ---------------------- ------------------------------ Câu 1: (2đ) Mục đích của cân bằng histogram là làm cho histogram đồng đều. Khi đó ta làm tăng được độ tương phản của ảnh. Cân bằng histogram được cho bằng phương trình: s=T(r)=(L-1) r pr w dw 0 ( ) với pr(w) : Xác suất xảy ra mức xám w Trong xác suất, tích phân của hàm mật độ là hàm phân phối. Công thức trên có w là biến liên tục, ta không thể lập trình nó. Ta phải dùng công thức rời rạc: sk=T(rk)=(L-1) k j r j p r 0 ( ) với k= 0,1,2,…,L-1 Code: void HistogramEqualization(Mat imgin,Mat imgout) { int x, y, M, N; int h[L]; int r; M = imgin.size().height; N = imgin.size().width; for (r=0; r<L; r++) h[r] = 0; for (x=0; x<M; x++) for (y=0; y<N; y++) { r = imgin.at<uchar>(x,y); h[r]++; } double p[L]; for (r=0; r<L; r++) p[r] = 1.0*h[r]/(M*N); Số hiệu: BM1/QT-PĐT-RĐTV/00 Trang 3 double T[L]; int j, k; for (k=0; k<L; k++) { T[k] = 0; for (j=0; j<=k; j++) T[k] += p[j]; } double s; for (x=0; x<M; x++) for (y=0; y<N; y++) { r = imgin.at<uchar>(x,y); s = T[r]; imgout.at<uchar>(x,y) = (uchar)((L-1)*s); } return; } Câu 2: (3đ) Lọc ảnh trong miền tần số gồm 7 bước sau đây: Bước 1: Cho ảnh đầu vào f(x,y) có kích thước MxN. Mở rộng ảnh có kích thước là PxQ. OpenCV có hàm xác định kích thước P và Q tối ưu. Bước 2: Thêm zero vào phần mở rộng, ta được ảnh fp(x,y). Bước 3: Nhân fp(x,y) với (-1)x+y để dời F(0,0) vào tâm ảnh. Bước 4: Biến đổi Fourier của ảnh ở Bước 3 ta được F(u,v). Bước 5: Cho hàm lọc có giá trị thực H(u,v) đối xứng qua tâm (P/2,Q/2). Thực hiện phép nhân G(u,v) = F(u,v)H(u,v). Bước 6: Thu được ảnh đã xử lý bằng biến đổi Fourier ngược, lấy phần thực và dời trở lại gốc tọa độ Bước 7: Bỏ phần đã mở rộng, ta thu được ảnh g(x,y) có kích thước MxN. Biểu diễn bằng sơ đồ khối:
Bình luận (0)
Chưa có bình luận nào. Hãy là người đầu tiên!