1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO CÁO-CHƯƠNG 5- cơ bản về xử lý ảnh số trong Matlab

38 562 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 38
Dung lượng 2,05 MB

Nội dung

Chương 5 Cơ bản về xử lý ảnh số trong Matlab 2 25/05/2014 Lập trình tính toán Trong Matlab, mỗi hình ảnh thường được biểu diễn bằng một ma trận hai chiều. Mỗi một phần tử của ma trận tương ứng với 1 pixel (một phân tử ảnh – picture element – biểu diễn bằng 1 điểm trên màn hình). Điểm ảnh ở góc trên bên trái ứng với hàng 1, cột 1. Matlab lưu giữ các hình ảnh dưới một trong các kiểu dữ liệu sau: logical, uint8, uint16, double. Người dùng có thể sử dụng các phép toán và các thao tác cơ bản trên ma trận để tác động lên dữ liệu hình ảnh với điều kiện các thao tác này chấp nhận các kiểu dữ liệu trên. 5.1 Giới thiệu 3 25/05/2014 Lập trình tính toán 5.2 Các kiểu hình ảnh trong Matlab Ảnh chỉ số (indexed images) Ảnh được biểu diễn bởi hai ma trận: - Ma trận dữ liệu X: thuộc kiểu uint8, uint16 hoặc double. - Ma trận màu (bản đồ màu) map: kích thước m×3, các phần tử có kiểu double có giá trị thuộc khoảng [0,1]. Mỗi hàng của ma trận xác định các thành phần red, green, blue trong tổng số m màu được sử dụng trong ảnh. Giá trị của một phần tử trong ma trận dữ liệu cho biết màu của điểm ảnh đó là màu nằm ở hàng nào trong ma trận màu. 4 25/05/2014 Lập trình tính toán 5.2 Các kiểu hình ảnh trong Matlab (tt.) Ảnh chỉ số (indexed images) (tt.) X(143,219) = 124 map(124,:) = 0.8392 0.9373 1.0000 5 25/05/2014 Lập trình tính toán 5.2 Các kiểu hình ảnh trong Matlab (tt.) Ảnh độ sáng (intensity images) Ảnh được biểu diễn bởi một ma trận hai chiều, trong đó giá trị của mỗi phần tử cho biết độ sáng (hay mức xám) của điểm ảnh đó. - Ma trận thuộc kiểu uint8, uint16 hoặc double. - Giá trị nhỏ nhất (0) ứng với màu đen. - Giá trị lớn nhất (255 hoặc 65535 hoặc 1 tùy kiểu dữ liệu là uint8, uint16 hay double) ứng với màu trắng. Ảnh biểu diễn theo kiểu này còn gọi là ảnh “trắng đen” hoặc ảnh grayscale. 6 25/05/2014 Lập trình tính toán 5.2 Các kiểu hình ảnh trong Matlab (tt.) Ảnh độ sáng (intensity images) (tt.) I(143,219) = 0.9151 7 25/05/2014 Lập trình tính toán Ảnh nhị phân (binary images) 5.2 Các kiểu hình ảnh trong Matlab (tt.) Ảnh được biểu diễn bởi một ma trận hai chiều, thuộc kiểu logical. - 0 ứng với màu đen. - 1 ứng với màu trắng. BW(143,219) = 1 8 25/05/2014 Lập trình tính toán Ảnh RGB (RGB images) 5.2 Các kiểu hình ảnh trong Matlab (tt.) Ảnh được biểu diễn bởi một ma trận ba chiều m × n × 3. - m × n: kích thước ảnh theo pixels. - Ma trận này định nghĩa các thành phần màu red, green, blue cho mỗi điểm ảnh, các phần tử có thể thuộc kiểu uint8, uint16 hay double. Ảnh biểu diễn theo kiểu này còn gọi là ảnh “truecolor”. Các file ảnh hiện nay thường sử dụng 8 bit cho một thành phần màu, nghĩa là mất 24 bit cho mỗi điểm ảnh (khoảng 16 triệu màu) 9 25/05/2014 Lập trình tính toán 5.2 Các kiểu hình ảnh trong Matlab (tt.) Ảnh RGB (RGB images) (tt.) RGB(143,219,1) = 0.8392 RGB(143,219,2) = 0.9373 RGB(143,219,3) = 1.0000 10 25/05/2014 Lập trình tính toán Chuyển đổi giữa các kiểu ảnh Tên hàm Cú pháp Mô tả dither dither(RGB,map) dither(I) Tạo ảnh nhị phân từ ảnh trắng đen I hoặc tạo ảnh indexed từ ảnh RGB và ma trận màu map bằng phương pháp dithering gray2ind [X, map] = gray2ind(I,n) [X, map] = gray2ind(BW,n) Chuyển ảnh nhị phân BW hoặc ảnh intensity I thành ảnh indexed thông qua ma trận tuyến tính gray(n) grayslice X = grayslice(I,n) X = grayslice(I,v) Chuyển ảnh trắng đen I thành ảnh indexed X bằng cách lấy ngưỡng. Các giá trị ngưỡng được xác định bởi vector v hoặc bởi n (khi đó các giá trị ngưỡng là 1/n, 2/n, …, (n-1)/n) 5.2 Các kiểu hình ảnh trong Matlab (tt.) [...]... 5.3 Đọc và ghi các dữ liệu ảnh (tt.) Xem thông số một file ảnh (tt.) Tên thuộc tính Format Mô tả Chuỗi cho biết định dạng của ảnh Chuỗi hoặc số cho biết tên phiên bản của định FormatVersion dạng Width Số nguyên chỉ chiều rộng ảnh (pixels) Height Số nguyên chỉ chiều cao ảnh (pixels) BitDepth ColorType 25/05/2014 Số nguyên cho biết số bits trên một pixel Chuỗi cho biết kiểu ảnh: ‘truecolor’, ‘grayscale’... kn,an, ảnh: k,out_class) z=k1*a1+k2*a2+…+kn*an+k immultiply z = immultiply(x,y) Nhân hai ảnh hoặc nhân một ảnh với một hằng số, nếu kết quả bị tràn thì sẽ được giới hạn lại trong tầm cho phép im2 = imsubstract(x,y) Trừ hai ảnh hoặc trừ một ảnh với một hằng số, nếu kết quả bị tràn thì sẽ được giới hạn lại trong tầm cho phép imsubstract 25/05/2014 Lập trình tính toán 19 5.5 Các phép toán số học cơ bản (tt.)... 1: Chồng lẫn hai ảnh trên một nền chung I = imread(‘rice.png’); J = imread(‘cameraman.tif’); K = imadd(I,J); imshow(I) imshow(J) imshow(K) 25/05/2014 % Đọc ảnh thứ nhất % Đọc ảnh thứ hai % Cộng hai ảnh % Hiển thị ảnh thứ nhất % Hiển thị ảnh thứ hai % Hiển thị ảnh tổng Lập trình tính toán 20 5.5 Các phép toán số học cơ bản (tt.) Ví dụ 2: Làm tăng độ sáng ảnh bằng phép cộng với hằng số I = imread('peppers.png');... Các kiểu hình ảnh trong Matlab (tt.) Chuyển đổi giữa các kiểu ảnh (tt.) Tên hàm Mô tả Cú pháp BW = im2bw(I,level) BW = im2bw(X,map,level) BW = im2bw(RGB,level) Chuyển ảnh trắng đen, ảnh indexed hoặc ảnh RGB thành ảnh nhị phân BW bằng cách lấy ngưỡng bởi level ind2gray I = ind2gray(X,map) Chuyển ảnh indexed X với ma trận màu map thành ảnh trắng đen I ind2rgb RGB = ind2rgb(X,map) Chuyển ảnh indexed X... biểu diễn ảnh: im2double im2uint8 im2uint16 Lưu ý: - Khi chuyển từ kiểu dữ liệu nhiều bit sang kiểu dữ liệu ít bit hơn, một số thông tin chi tiết về bức ảnh ban đầu sẽ bị mất - Không phải lúc nào cũng có thể chuyển kiểu dữ liệu đối với kiểu ảnh indexed Để chuyển, phải dùng hàm imapprox để giảm số màu cần biểu diễn ảnh xuống 25/05/2014 Lập trình tính toán 17 5.5 Các phép toán số học cơ bản trên ảnh Tên... sau đó trả về trị tuyệt đối của hiệu z = imadd(x,y,out_class) Cộng hai ảnh hoặc cộng một ảnh với một hằng số, out_class là chuỗi xác định kiểu dữ liệu của tổng imcomplement im2 = imcomplement(im) Lấy bù của ảnh im Imdivide 25/05/2014 z = imdivide(x,y) Chia các phần tử của ảnh x cho phần tử tương ứng của y, các giá trị phân số được làm tròn Lập trình tính toán 18 5.5 Các phép toán số học cơ bản (tt.)... rgb2ind(RGB,tol) Chuyển ảnh RGB thành ảnh indexed [X, map]: TH1: n . Chương 5 Cơ bản về xử lý ảnh số trong Matlab 2 25/05/2014 Lập trình tính toán Trong Matlab, mỗi hình ảnh thường được biểu diễn bằng một ma trận hai. kiểu hình ảnh trong Matlab (tt.) Ảnh chỉ số (indexed images) (tt.) X(143,219) = 124 map(124,:) = 0.8392 0.9373 1.0000 5 25/05/2014 Lập trình tính toán 5.2 Các kiểu hình ảnh trong Matlab. thành phần red, green, blue trong tổng số m màu được sử dụng trong ảnh. Giá trị của một phần tử trong ma trận dữ liệu cho biết màu của điểm ảnh đó là màu nằm ở hàng nào trong ma trận màu. 4 25/05/2014

Ngày đăng: 18/05/2015, 18:30

TỪ KHÓA LIÊN QUAN

w