Nâng cao chất lượng ảnh
178
Xem biểu đồ histogram của ảnh để biết được các giới hạn mức xám của ảnh. Histogram là
một biểu đồ cột biểu thị tần số xuất hiện của các mức xám khác nhau có trong ảnh. Trong
MATLAB, hàm imhist cho phép hiển thị biểu đồ histogram của các dạng ảnh gray-scale,
index và RGB.
Xác định các giới hạn mức xám của ảnh và chuyển sang dạng phân số trong khoảng [0 1]
để nhập cho hàm imadjust.
Ví dụ 12-2. Sử dụng hàm imhist và hàm imadjust để thay đổi độ tương phản của ảnh:
I = imread('pout.tif'); % Đọc ảnh gốc
imshow(I)
%
Hiển thị ảnh gốc
figure, imhist(I,64)
% Xem biểu đồ histogram
J = imadjust(I,[0.3 0.65],[0 1],1); % Biến đổi mức xám
imshow(J)
%
Hiển thị ảnh sau khi biến đổi
figure, imhist(J,64)
% Xem biểu đồ histogram
a) Ảnh gốc và biểu đồ histogram
b) Ảnh sau biến đổi và biểu đồ histogram
Hình 12.3.
Tuy nhiên, để thuận tiện cho người sử dụng, MATLAB cung cấp hàm strectchlim. Hàm này
tính toán histogram của ảnh và xác định các giá trị giới hạn của mức xám một cách tự động.
Nó trả về một vector mà ta có thể dùng làm cặp thông số
[low_in;high_in]
cung cấp cho
hàm imadjust (trong trường hợp mặc định, hàm imadjust sử dụng hàm stretchlim để tạo ra
cặp
[low_in;high_in]
nếu người sử dụng không cung cấp). Bình thường hàm stretchlim