Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
1,84 MB
Nội dung
XỬ LÝ ẢNH TRONG MIỀN KHÔNG GIAN NGÔ QUỐC VIỆT TPHCM-2012 Các xử lý logic số học ảnh Các lọc không gian Các lọc không gian làm trơn ảnh Các thao tác logic Trừ ảnh , trung bình ảnh Bộ lọc tuyến tính làm trơn Các lọc Order-Statistics Các lọc không gian làm nét ảnh Các giải thuật khử nhiễu Bài giảng Xử lý ảnh-TS Ngô Quốc Việt Thực phép logic hai nhiều ảnh Cụ thể NOT OR AND XOR SUB c = a c=a+b c=ab c = a b = a (b) + (a b) c = a \ b = a – b = a (b) Chỉ cần toán tử: AND, OR, NOT Mỗi thao tác thực điểm ảnh Bài giảng Xử lý ảnh-TS Ngô Quốc Việt Gốc Mặt nạ AND Gốc Mặt nạ Bài giảng Xử lý ảnh-TS Ngô Quốc Việt OR Sử dụng thao tác logic ma trận OpenCV int _tmain(int argc, _TCHAR* argv[]) { IplImage *img1 = cvLoadImage(“ \\ \\images\\building.jpg"); IplImage *img2 = cvLoadImage(".\\ \\images\\black.jpg"); IplImage *img3, iplhdr; CvMat * mat1, * mat2, mat3, mathdr1, mathdr2; mat1 = cvGetMat(img1, &mathdr1); mat2 = cvGetMat(img2, &mathdr2); mat3 = *mat1; cvAnd(mat1, mat2, &mat3); //cvOr; cvNot; cvAdd; cvSub img3 = cvGetImage(&mat3, &iplhdr); cvNamedWindow("Logics", CV_WINDOW_AUTOSIZE); cvShowImage("Logics", img3); cvWaitKey(0); cvDestroyWindow("Logics:"); cvReleaseImage(&img1); cvReleaseImage(&img2); return 0; } Bài giảng Xử lý ảnh-TS Ngô Quốc Việt Thực pixel ảnh xám Thao tác Định nghĩa Kiểu liệu Output ADD c=a+b Nguyên SUB c=a–b Nguyên MUL c=a*b Nguyên thực DIV c=a/b Thực LOG c = log (a) Thực EXP c = exp(a) Thực SQRT c = sqrt(a) Thực TRIG c = sin/cos/tan(a) Thực INVERT c = (2b -1 ) - a Nguyên Thường sử dụng toán tử SUB nhằm tách phần Bài giảng Xử lý ảnh-TS Ngô Quốc Việt Nhằm loại bớt phần “nền” khỏi ảnh cần phân tích (y khoa, thiên văn, …) Nguồn: R F Gonzalez & R.Wood Bài giảng Xử lý ảnh-TS Ngô Quốc Việt Có thể ứng dụng để làm giảm nhiễu ảnh Bằng cách lấy trung bình pixel từ ảnh nhiễu (ngẫu nhiên, nhiệt, v.v) để tạo pixel tọa độ ảnh output Cho K ảnh nhiễu khác nhau, ảnh trung bình Hàm noise xác định gi ( x, y) f ( x, y) ni ( x, y) g ( x, y ) K K g ( x, y ) i 1 i Ảnh làm rõ tạo K ảnh nhiễu (ngẫu nhiên, muối tiêu – thảo luận sau), lấy trung bình ảnh Bài giảng Xử lý ảnh-TS Ngô Quốc Việt Trung bình ảnh nhiễu tiến gần đến ảnh tốt f(x,y) E( g ( x, y)) f ( x, y) Phương sai g ( x, y ) gi ( x, y ) K K tăng nhiễu giảm Dùng hàm rand(): (rand()/(float)0x7fff)-0.5; cvGetSize: lấy kích thước ảnh cvCloneImage: tạo ảnh cvGetReal2D: get pixel value cvSetReal2D: set pixel value Sinh viên viết chương trình giảm nhiễu kỹ thuật “trung bình ảnh” Bài giảng Xử lý ảnh-TS Ngô Quốc Việt K = noisy images Ảnh bị nhiễu K = 16 noisy images Gần giống với ảnh gốc K = 64 noisy images Bài giảng Xử lý ảnh-TS Ngô Quốc Việt K = 128 noisy images 10 Sử dụng lọc không gian tuyến tính để tính giá trị pixel output trung bình pixel nhân chập Còn gọi lọc trung bình hay lowpass filter Các lọc “đều” có dạng chữ nhật hay tròn Cụ thể 1 1 hrect ( j , k ) 1 25 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 hcirc ( j , k ) 21 1 0 1 1 1 1 1 1 1 0 1 1 1 Kết cụm pixel nhỏ (nhỏ kích thước nhân chập) bị “hòa” vào vùng pixel lớn Bài giảng Xử lý ảnh-TS Ngô Quốc Việt 22 Có thể dùng lọc biến thể khác để làm trơn ảnh 1 1 1 h( j , k ) 16 1 1 1 1 1 hrect ( j , k ) 1 1 9 1 1 Mặt nạ thứ hai gọi lấy trung bình có trọng số Nghĩa pixel nhân với hệ số khác Với trung bình có trọng số, pixel output xác a b định w(s, t ) f ( x s, y t ) g ( x, y ) s at b a b w(s, t ) s at b Bài giảng Xử lý ảnh-TS Ngô Quốc Việt 23 Một số lọc làm trơn ảnh khác: tam giác, Gauss, lọc miền Fourier (thảo luận sau), lọc phi tuyến (trung vị, Kuwahara) Tam giác: phép chập hai lọc đồng (đều chữ nhật tròn) 1 2 hrect ( j , k ) 81 2 1 6 6 1 2 3 2 0 0 hcirc ( j , k ) 25 0 0 Dạng chóp Bài giảng Xử lý ảnh-TS Ngô Quốc Việt 2 2 2 2 0 0 1 0 Dạng nón 24 Kết làm trơn ảnh với lọc trung bình có kích thước 3, 5, 9, 15, 35 Ảnh gốc Bài giảng Xử lý ảnh-TS Ngô Quốc Việt 25 Có nhiều cách để tạo lọc Gauss (tham khảo tài liệu [1] trang 96-100) Bộ lọc Gauss mờ/trơn ảnh 0 0 0 18 32 18 18 64 100 64 18 32 100 100 100 32 18 64 100 64 18 18 32 18 0 0 0 Bài giảng Xử lý ảnh-TS Ngô Quốc Việt 26 #include "highgui.h" #include "cv.h" void main() { IplImage* src = cvLoadImage("lena.jpg", 1); IplImage* dst = cvCreateImage(cvGetSize(src), src->depth, src->nChannels); cvSmooth(src, dst, CV_BLUR, 3, 3); cvNamedWindow("src", 1); cvShowImage("src", src); cvNamedWindow("dst", 1); cvShowImage("dst", dst); cvReleaseImage(&src); cvReleaseImage(&dst); cvWaitKey(0); } Bài giảng Xử lý ảnh-TS Ngô Quốc Việt 27 Bộ lọc trung vị Giá trị điểm ảnh output nhân chập xét giá trị độ sáng thứ (J*K)/2 phần ảnh chập Một biến thể: thay lọc trung vị, lọc phần trăm Nghĩa thay lấy 50% giá trị sáng mà p% (từ 0% - lọc cực tiểu - đến 100% - lọc cực đại) Bộ lọc Kuwahara Cho phép giữ lại “cạnh” ảnh trình làm trơn Bài giảng Xử lý ảnh-TS Ngô Quốc Việt 28 Trung vị: cho dãy {x1, x2, …, xn} , trung vị dãy xác định n x n odd 1 Med ({xn }) x n 1 or x n 1 n even 2 n Nhận xét: xx i 1 i Med({xi}) Bài giảng Xử lý ảnh-TS Ngô Quốc Việt 29 Tìm trung vị phần ảnh xét (cửa sổ quét qua) {I (q) | q W ( P)} Med ( P) Gán giá trị cho pixel “tâm” I ( P) I ( P) Med ( P) Ví dụ: I ( P) Med ( P) else 2 16 I 1 2 1 1 4 I 2 Bài giảng Xử lý ảnh-TS Ngô Quốc Việt 2 2 2 1 1 30 Sắp xếp cường độ sáng lân cận p p median gán cho pixel vị trí p ảnh output Bài giảng Xử lý ảnh-TS Ngô Quốc Việt 131 133 133 136 140 143 147 152 154 157 160 162 163 164 165 171 31 median blurred noisy Bài giảng Xử lý ảnh-TS Ngô Quốc Việt 32 Ảnh nhiễu 3x3-median x 3x3-blur x Lọc trung vị cho kết khử nhiễu tốt so với lọc làm trơn ảnh Lọc trung vị trì cạnh tốt so với blurring filter Bài giảng Xử lý ảnh-TS Ngô Quốc Việt 33 Chia nhân chập thành vùng Tính độ sáng trung bình vùng Chọn độ sáng trung bình có phương sai nhỏ làm độ sáng pixel nhân chập lớn xét Bài giảng Xử lý ảnh-TS Ngô Quốc Việt 34 Bộ lọc Đều Đều Tam giác Tam giác Gauss Trung vị Kuwahara Miền Không gian Không gian Không gian Không gian Không gian Không gian Không gian Kiểu Tuyến tính Tuyến tính Tuyến tính Tuyến tính Tuyến tính Phi tuyến Phi tuyến Bài giảng Xử lý ảnh-TS Ngô Quốc Việt Giá Vuông Tròn Vuông Tròn Vuông Không Tách Có Không Có Không Có Không Không 35 Sinh viên sử dụng hàm sau để thực yêu cầu làm trơn ảnh với nhân chập khác cvFilter2D: để thực lọc ảnh (đổi nhân chập để làm trơn ảnh) cvSmooth: làm trơn ảnh với nhân chập định nghĩa sẵn OpenCV) Bài giảng Xử lý ảnh-TS Ngô Quốc Việt 36 [...]... đang xét Bài giảng Xử lý ảnh- TS Ngô Quốc Việt 34 Bộ lọc Đều Đều Tam giác Tam giác Gauss Trung vị Kuwahara Miền Không gian Không gian Không gian Không gian Không gian Không gian Không gian Kiểu Tuyến tính Tuyến tính Tuyến tính Tuyến tính Tuyến tính Phi tuyến Phi tuyến Bài giảng Xử lý ảnh- TS Ngô Quốc Việt Giá Vuông Tròn Vuông Tròn Vuông Không Tách được Có Không Có Không Có Không Không 35 Sinh viên... 1 2 3 2 4 16 2 1 I 4 2 1 1 2 1 2 1 1 4 I 4 2 Bài giảng Xử lý ảnh- TS Ngô Quốc Việt 2 2 2 1 3 2 1 2 2 1 1 1 30 Sắp xếp các cường độ sáng trong lân cận của p p median được gán cho pixel tại vị trí p trong ảnh output Bài giảng Xử lý ảnh- TS Ngô Quốc Việt 131 133 133 136 140 1 43 147 152 154 157 160 162 1 63 164 165 171 31 median blurred noisy Bài giảng Xử lý ảnh- TS... result[y, x] = sum; } } Bài giảng Xử lý ảnh- TS Ngô Quốc Việt 20 Sử dụng các nhân chập với các hệ số thay đổi có thể tạo ra các hiệu ứng khác nhau trên ảnh output Một số hiệu ứng của lọc không gian Làm trơn hoặc mờ ảnh: giảm nhiễu, giảm chi tiết nhỏ Làm nét ảnh Phát hiện biên (trình bày chi tiết trong bài giảng sau) Các bộ lọc không gian thường có kích thước 3x3 hoặc 5x5 Một số trường hợp dùng... k )hcol ( j ) j 0 k 0 J 1 Độ phức tạp khi tính toán trên mỗi điểm ảnh từ O(J*K) giảm xuống O(J+K) Bài giảng Xử lý ảnh- TS Ngô Quốc Việt 17 Giữ nguyên kích thước Bài giảng Xử lý ảnh- TS Ngô Quốc Việt 18 Tăng kích thước Tâm ma trận chập nằm ngoài ảnh Giảm kích thước Ma trận chập nằm gọn trong ảnh Bài giảng Xử lý ảnh- TS Ngô Quốc Việt 19 for(int y = 0; y < height; ++y) { for(int x = 0; x < width;... Bài giảng Xử lý ảnh- TS Ngô Quốc Việt 0 2 2 2 0 1 2 5 2 1 0 2 2 2 0 0 0 1 0 0 Dạng nón 24 Kết quả làm trơn ảnh với bộ lọc trung bình có kích thước 3, 5, 9, 15, 35 Ảnh gốc Bài giảng Xử lý ảnh- TS Ngô Quốc Việt 25 Có nhiều cách để tạo bộ lọc Gauss (tham khảo tài liệu [1] trang 96-100) Bộ lọc Gauss là mờ/trơn ảnh 0 5 0 0 0 0 0 0 5 18 32 18 5 0 0 18 64 100 64 18 0 5 32 ... Việt 32 Ảnh nhiễu 3x3-median x 1 3x3-blur x 1 Lọc trung vị cho kết quả khử nhiễu tốt hơn so với các bộ lọc làm trơn ảnh Lọc trung vị duy trì cạnh tốt hơn so với blurring filter Bài giảng Xử lý ảnh- TS Ngô Quốc Việt 33 Chia nhân chập thành các vùng con Tính độ sáng trung bình của mỗi vùng con Chọn độ sáng trung bình nào có phương sai nhỏ nhất làm độ sáng của pixel trong nhân chập lớn đang xét Bài. .. b w(s, t ) s at b Bài giảng Xử lý ảnh- TS Ngô Quốc Việt 23 Một số bộ lọc làm trơn ảnh khác: tam giác, Gauss, bộ lọc trên miền Fourier (thảo luận sau), các bộ lọc phi tuyến (trung vị, Kuwahara) Tam giác: là phép chập của hai bộ lọc đều đồng nhất (đều chữ nhật hoặc đều tròn) 1 2 1 hrect ( j , k ) 3 81 2 1 2 4 6 4 2 3 6 9 6 3 2 4 6 4 2 1 2 3 2 1 0 0 1 hcirc (... “cạnh” trên ảnh trong quá trình làm trơn Bài giảng Xử lý ảnh- TS Ngô Quốc Việt 28 Trung vị: cho dãy {x1, x2, …, xn} , trung vị của dãy được xác định bởi n x n odd 2 1 Med ({xn }) x n 1 or x n 1 n even 2 2 n Nhận xét: xx i 1 i min tại Med({xi}) Bài giảng Xử lý ảnh- TS Ngô Quốc Việt 29 Tìm trung vị trong phần ảnh đang xét (cửa sổ quét qua) {I (q)... thực hiện chập để tạo ra giá trị điểm ảnh mới Hình ảnh thể hiện cơ chế lọc Bài giảng Xử lý ảnh- TS Ngô Quốc Việt 12 Liên tục: Tích chập của 2 hàm f(x) và h(x) được định nghĩa bởi: g ( x ) f ( x ) h( x ) f (m)h( x m)dm Rời rạc: g (n) f (n) h(n) k f (k )h(n k ) Bài giảng Xử lý ảnh- TS Ngô Quốc Việt 13 Liên tục: Tích chập của 2 hàm f(x) và h(x) hai chiều được định nghĩa... với các phần tử tương ứng trong nhân Bài giảng Xử lý ảnh- TS Ngô Quốc Việt 15 Tích chập giữa f(M1xN1) và nhân h(M2xN2) có thể tạo ra các ma trận có kích thước như sau, tùy thuộc vào kiểu chập Giữ nguyên kích thước: M1xN1 (same convolution) Tăng kích thước : (M1+M2-1)x(N1+N2-1) (full convolution) Giảm kích thước: (M1-M2+1)x(N1-N2+1) (valid convolution) Bài giảng Xử lý ảnh- TS Ngô Quốc Việt 16