Tiểu luận môn học Matlap презентация

Содержание

Слайд 2

CHƯƠNG 3: Cơ bản về xử lý ảnh số

NHÓM 10:
Bế Hoàng Yến
Đặng Thị

Hương
Trần Ngọc Thành
Quách Thanh Tuấn
Vũ Đình Dũng
Giảng viên: Vũ Thúy Hằng
Lớp: KTYS - K13A

Слайд 3

Lời giới thiệu

MATLAB là một công cụ tính toán được xây dựng trên

cơ sở các phép xử lý ma trận.
MATLAB người sử dụng có thể sử dụng các phép toán và các thao tác cơ bản ma trận, để tác động lên các dữ liệu hình ảnh với điều kiện các thao tác này chấp nhận kiểu dữ liệu ảnh nói trên.

Слайд 4

Các hàm xử lý ảnh cơ bản trong MATLAB

NỘI DUNG

Слайд 5

3.2.1. Đọc ảnh đồ họa

Hàm imread
Đọc các file ảnh với bất kỳ

các định dạng ảnh đã biết hiện nay và lưu lại dưới dạng một ma trận biểu diễn ảnh trong MATLAB.

Слайд 6

Đọc một ảnh đồ họa

Cú pháp
>> A = imread(filename,fmt)
>> [X,map] = imread(filename,fmt)

filename

là chuỗi xác định tên file cần đọc cùng với đường dẫn.
fmt là chuỗi cho biết định dạng của ảnh, thí dụ ‘bmp’, ‘gif’, ‘jpg’, …
Ví dụ:
>> A= imread('E:\TH matlap\kem@.jpg');
imshow (A);

Слайд 7

Đọc nhiều ảnh từ một file đồ họa

Để hiểu hơn về cách

xử dụng hàm imread ta xét ví dụ sau:
Ví dụ . Đọc một chuỗi 15 ảnh liên tiếp trong một file TIFF và lưu vào một dãy 4 chiều:
mri = uint8(zeros(128,128,1,15)); % khởi tạo một dãy 4 chiều
for frame=1:15
[mri(:,:,:,frame),map] = imread('E:\TH matlap');
end

Слайд 8

3.2.2. Ghi đồ họa

Cú pháp cơ bản:
>> imwrite (A, filename, fmt)
>> imwrite

(X, map, filename, fmt)

Ví dụ: Lệnh sau đây thực hiện ghi vào file mypicture.jpg với chất lượng nén là 100:
>> A= imread('E:\TH matlap\kem@.jpg');
imwrite(A, 'E:\TH matlap\mypictures.jpg', 'Quality', 100);

Слайд 9

Mở rộng: Dùng hàm imfinfo để kiểm chứng thông số hàm imread Cú

pháp: >> info = imfinfo(filename,fmt)

Các thông tin được hàm cung cấp

Слайд 10

3.2.3. Các phép toán số học cơ bản

Danh sách các hàm cùng với

cú pháp tương ứng:

Слайд 11

Phép cộng

Ví dụ: Chồng lẫn hai ảnh trên một nền chung:
>> I =

imread('E:\TH matlap\bien.jpg'); % Đọc ảnh thứ nhất
J = imread('E:\TH matlap\Tulips.jpg'); % Đọc ảnh thứ hai
K = imadd(I,J); % Cộng hai ảnh
subplot(1,3,1);
imshow(I); % Hiển thị ảnh thứ nhất
subplot(1,3,2);
imshow(J); % Hiển thị ảnh thứ hai
subplot(1,3,3);
imshow(K); % Hiển thị ảnh tổng

Слайд 12

Chồng lẫn hai ảnh trên một nền chung

Слайд 13

Phép trừ

Ví dụ: Làm giảm độ sáng ảnh bằng phép cộng với hằng

số:
A = imread('E:\TH matlap\kem2.jpg');
imshow(A)
A2 = imadd(A, -50);
subplot(1,2,1);
imshow(A);
subplot(1,2,2);
imshow(A2);

Слайд 14

Giảm độ sáng sử dụng MATLAP

Слайд 15

Phép nhân

Ví dụ: Làm tăng độ sáng ảnh bằng phép nhân với hằng

số:
>> A = imread('E:\TH matlap\dautay.jpg');
A2 = immultiply(A, 1.5);
subplot(1,2,1);
imshow(A);
subplot(1,2,2);
imshow(A2);

Слайд 16

Phép chia

Ví dụ:
>> A = imread('E:\TH matlap\dautay.jpg');
A2 = imdivide(A, 1.5);
subplot(1,2,1);
imshow(A);


subplot(1,2,2);
imshow(A2);

Слайд 17

3.2.4. Các hàm hiển thị hình ảnh

Để phục vụ chức năng hiển thị

hình ảnh, MATLAB cung cấp hai hàm cơ bản là image và imagesc. Ngoài ra, trong Image Processing Toolbox cũng có hai hàm hiển thị ảnh khác, đó là imview và imshow.
Hàm Image: Hiển thị hình ảnh biểu diễn bởi ma trận C kích thước MxN lên trục toạ độ hiện hành.
>> A = imread('E:\TH matlap\thuhoach4.jpg');
>> image(A)
Hàm Imagesc: Có chức năng tương tự như hàm image, ngoại trừ việc dữ liệu ảnh sẽ được co giãn (scale) để sử dụng toàn bộ bản đồ màu hiện hành.

Слайд 18

Sử dụng hàm Image để hiển thị tọa độ ảnh

Слайд 19

Hàm Imview và Imshow.

Hiển thị ảnh bằng hàm imview

Hiển thị ảnh bằng hàm

imshow

Слайд 20

3.2.5. Các phép biến đổi hình học

Các phép biến đổi hình học là

những phép toán biến các điểm ảnh từ vị trí này thành các điểm ảnh ở vị trí khác trong ảnh mới. Đó là những thao tác xử lý ảnh cơ bản như quay, thay đổi kích thước, cắt một phần ảnh, ...

Слайд 21

Phép nội suy ảnh

Nội suy là quá trình ước lượng giá trị của

ảnh tại một điểm nằm giữa hai pixel có giá trị đã biết. Chẳng hạn, nếu ta thay đổi kích thước ảnh sao cho nó chứa nhiều pixel hơn ảnh gốc, thì giá trị của các pixel thêm vào sẽ được xác định bằng phép nội suy. Phép nội suy cũng là cơ sở để thực hiện các biến đổi hình học khác, ví dụ biến đổi kích thước hoặc quay ảnh, ...
Image Processing Toolbox cung cấp ba phương pháp nội suy ảnh, bao gồm: nội suy theo các lân cận gần nhất, nội suy song tuyến tính và nội suy bicubic.

Слайд 22

Thay đổi kích thước ảnh

Hàm imresize cho phép người sử dụng thay đổi

kích thước của ảnh.
Cú Pháp: >> b = imresize(a,[mrows mcols],method)
Dòng lệnh trên tạo ảnh mới b có kích thước gấp m lần ảnh gốc a. Method là một chuỗi xác định phương pháp nội suy sẽ dùng: ‘nearest’ (lân cận gần nhất), ‘bilinear’ (song tuyến tính) hoặc ‘bicubic’. Phương pháp mặc định là ‘nearest’.
Ví dụ:
>> I = imread('E:\TH matlap\banh1.jpg');
b = imresize(I,[300 400], 'nearest');
imshow (b)

Слайд 23

Thay đổi kích thước ảnh lớn hơn

Слайд 24

Phép quay ảnh

Cú pháp:
>> b = imrotate(a,angle,Method,Bbox)
Ví dụ: Quay ảnh đi một góc

45°, dùng phương pháp nội suy song tuyến tính
I = imread('E:\TH matlap\Kem@.jpg');
J = imrotate(I,45,'bilinear');
imshow(J)

Слайд 25

Quay ảnh đi một góc 45°

Слайд 26

Trích xuất ảnh

Khi cần trích xuất một phần của ảnh gốc, ta dùng

hàm imcrop. Khi sử dụng hàm này, người sử dụng có thể có hai lựa chọn:
Cách 1: Xác định cụ thể vị trí của phần ảnh cần trích (dưới dạng hình chữ nhật) bằng cách cung cấp các thông số vị trí khi gọi hàm hoặc sử dụng mouse để chọn phần ảnh cần trích xuất.
Cú pháp:
>> x2 = imcrop(x,map,rect); % Ảnh indexed
>> a2 = imcrop(a,rect); % Ảnh grayscale hoặc RGB
Trong đó:
rect = [Xmin Ymin width height], với (Xmin,Ymin) là toạ độ góc trên bên trái của phần ảnh cần trích, width và height là chiều rộng và chiều cao của phần ảnh cần trích.

Слайд 27

Ví dụ:
>> A = imread('E:\TH matlap\thuhoach4.jpg');
image(A)
A = imread('E:\TH matlap\thuhoach4.jpg');
rect = [200 400 200

300]
A2 = imcrop(A,rect);
image(A2);
rect =
200 400 200 300

Слайд 28

Hình ảnh một phần nhỏ của ảnh được cắt và hiển thị qua

MATLAP

Слайд 29

Cách 2:
Cú Pháp:
>> [A2,rect] = imcrop(A)
>> [X2,rect] = imcrop(X,map)
Ví dụ:
>>

A = imread('E:\TH matlap\thuhoach4.jpg');
image(A)
A = imread('E:\TH matlap\thuhoach4.jpg');
rect = [200 400 200 300]
>>[A2,rect] = imcrop(A)
image(A2);

Слайд 30

Thực hiện phép biến đổi hình học tổng quát

Để thực hiện một phép

biến đổi hình học nào đó, người sử dụng cần cung cấp ảnh cần biến đổi A và cấu trúc của phép biến đổi hình học, gọi là TFORM.
Cú pháp:
>> B = imtransform(A,TFORM,interp)
>> [B,XData,YData] = imtransform(...,param1,val1,param2,val2,...)
Trong đó: interp là chuỗi xác định phương pháp nội suy sẽ dùng. (Xdata, Ydata) xác định vị trí của ảnh B trong hệ trục X-Y.

Слайд 31

Vấn đề quan trọng nhất khi gọi hàm này là phải xác định

cấu trúc của phép biến đổi. Việc này được thực hiện bằng cách sử dụng các hàm xây dựng cấu trúc biến đổi, trong đó thông dụng nhất là hai hàm maketform và cp2tform.
Hàm maketform:
Cú pháp:
>> T = maketform(TFORM_type,...)
Trong đó TFORM_type là một chuỗi xác định dạng cấu trúc biến đổi hình học, và sau đó là các thông số đi kèm tuỳ thuộc vào từng dạng cấu trúc cụ thể. Các dạng cấu trúc này được trình bày trong bảng 3.4

Слайд 32

Hàm cp2tform: Trả về cấu trúc của phép biến đổi bàng cách suy

từ các cặp điểm điều khiển trong ảnh gốc và sau khi biến đổi:
Cú pháp:
>> TFORM=cp2tform(input_points,base_points,TFORM_type,order)
Trong đó: input_points và base_points là các ma trận M x 2 xác định toạ độ (X,Y) của M điểm điều khiển trong ảnh biến đổi và trong ảnh gốc.

Слайд 33

Ví dụ: Thực hiện phép xạ ảnh để tạo hiệu ứng 3D cho

ảnh “Bàn cờ”
I = checkerboard(20,1,1); % Tạo ảnh bàn cờ
figure; imshow(I)
T = maketform('projective',[1 1; 41 1; 41 41; 1 41],...
[5 5; 40 5; 35 30; -10 30]); % Định nghĩa phép biến đổi xạ ảnh
R = makeresampler('cubic','circular'); % Định nghĩa cấu trúc resampler
K = imtransform(I,T,R,'Size',[100 100],'XYScale',1); % Thực hiện phép xạ ảnh
figure, imshow(K)

Слайд 34

Hiệu ứng 3D cho ảnh “Bàn cờ”

Имя файла: Tiểu-luận-môn-học-Matlap.pptx
Количество просмотров: 20
Количество скачиваний: 0