Show ảnh >> img = imread'E:\giải trí\anh/sea.jpg'; >> sizeimg Hàm imshow và imagesc • Để hiển thị hình ảnh trong matlab ta dùng 2 lệnh sau imshow và imagesc.. Lệnh imshow cho chúng ta m
Trang 1SHOW ẢNH VÀ VIDEO TRÊN MATLAB
1. Show ảnh
>> img = imread('E:\giải trí\anh/sea.jpg');
>> size(img)
Hàm imshow() và imagesc()
• Để hiển thị hình ảnh trong matlab ta dùng 2 lệnh sau
imshow() và imagesc() Lệnh imshow () cho chúng ta một hình
ảnh trong định dạng tiêu chuẩn là 8-bit, giống như trong một trình duyệt web
>> imshow(img)
Trang 2• Lệnh imagesc () hiển thị các hình ảnh trên các trục đồ thị với giá
trị min là màu đen và giá trị tối đa là màu trắng
>> imagesc(img)
• Một hình ảnh là một hình ảnh kết hợp của 3 màu RGB Vì vậy, chúng ta có thể hiển thị các thành phần RGB riêng của hình ảnh bằng cách sử dụng các lệnh sau đây:
>> subplot(131);
>> imagesc(img(:,:,1));
>> title('Red');
>> subplot(132);
>> imagesc(img(:,:,2));
>> title('Green');
>> subplot(133);
>> imagesc(img(:,:,3));
>> title('Blue');
Trang 3• Câu lệnh : colormap gray , làm cho tất các hình ảnh chuyển thành
màu xám
>> colormap gray
• Lệnh rgb2gray() chuyển đổi hình ảnh RGB thành trắng đen bằng
cách loại bỏ các thông tin màu sắc và độ bão hòa nhưng vẫn giữ
độ sáng
Trang 4>> img = imread('E:\giải trí\anh/sea.jpg');
>> gray = rgb2gray(img);
>> imshow(gray);
>> size(gray)
>> imhist(gray);
Trang 5• imadjust() điều chỉnh giá trị cường độ hình ảnh Câu lệnh này làm
tăng độ tương phản của hình ảnh đầu ra
>> adj_img = imadjust(gray, [0.3,0.7],[]);
>> subplot(121);
>> imshow(gray);
>> title('input');
>> subplot(122);
>> imshow(adj_img);
>> title('adjusted');
Trang 6• im2bw() chuyển đổi các hình ảnh màu xám sang một hình nhị
phân Hay tạo một ảnh nhị phân từ một ảnh cường độ, ảnh chỉ số hay ảnh RGB trên cơ sở của ngưỡng ánh sáng
>> bw_img = im2bw(adj_img);
>> subplot(121);
>> imshow(adj_img);
>> title('input image');
>> subplot(122);
>> imshow(bw_img);
>> title('binary image');
Trang 72. Show video:
>> v = VideoReader('E:\giải trí\video hoc/Nat Overload.mp4');
>> while hasFrame(v)
video = readFrame(v);
end
whos video
>> v.CurrentTime = 2.5;
>> currAxes = axes;
Trang 8>> while hasFrame(v)
vidFrame = readFrame(v);
image(vidFrame, 'Parent', currAxes); currAxes.Visible = 'off';
pause(1/v.FrameRate);
end
Trang 93. Xử lí âm thanh:
• Đọc các file âm thanh cần xử lý và đưa chúng vào matlab
>> m = uigetfile('E:\test ().wav');
>> mantle = audioread('E:\test ().wav');
>> m
• Kiểm tra độ dài của tín hiệu một file âm thanh bằng câu lệnh sau:
>> length(m)
Trang 10• Âm thanh có tỷ lệ lấy mẫu là 22050 nên chúng ta có thể tính toán thời gian với câu lệnh:
>> dur = length(m)/22050
• Nếu chúng ta muốn lấy một đoạn trong file âm thanh, ví dụ lấy từ giây thứ 5 đến giấy thứ 10, thì ta sử dụng dấu ":" với câu lệnh:
>> rate = 22050;
>> m_seg = mantle(rate*5:rate*10);
• Muốn hiển thị hình ảnh tín hiệu của âm thanh, ta dùng lệnh plot:
>> plot(m_seg)
Trang 11• Muốn nghe âm thanh thì chúng ta dùng lệnh sound() :
>> sound(m_seg, rate);
• Nghe ở những tốc độ khác nhau, chất lượng khác nhau, câu lệnh:
>> sound(m_seg, rate*2);
>> sound(m_seg, rate*0.5);