IV – Màu sắc 1 Bảng thuật ngữ
b- Chuyển đổi giữa các không gian màu phụ thuộc thiết bị
- Toolbox bao gồm các hàm ta có thể sử dụng để chuyển đổi dữ liệu ảnh RGB sang một số không gian màu phụ thuộc thiết bị và ngược lại :
+ YIQ + YCbCr
+ Hue , saturation , value ( HSV )
Không gian màu YIQ
- Uỷ ban hệ thống truyền hình quốc gia Mỹ ( NTSC ) định nghĩa một không gian màu gọi là YIQ . Không gian màu này được sử dụng trong các máy thu hình ở Mỹ . Một trong những ưu điểm chính của định dạng này là thông tin gam màu xám ( grayscale ) được tách ra khỏi dữ liệu màu vì vậy cùng một tín hiệu có thể được sử dụng cho cả tivi đen trắng và tivi màu .
- Trong không gian màu NTSC , dữ liệu ảnh bao gồm 3 thành phần là : ánh sáng ( Y ) , hue ( I ) và saturation ( Q ) . Thành phần đầu tiên , ánh sáng đại diện cho thông tin gam màu xám , trong khi hai thành phần cuối cùng đại diện cho thông tin về màu sắc .
- Hàm rgb2ntsc convert bản đồ màu hoặc ảnh RGB thành không gian màu NTSC . Hàm ntcs2rgb chuyển đổi ngược lại .
- Chẳng hạn , những lệnh sau đây chuyển đổi một ảnh RGB sang ảnh NTSC . RGB = imread('peppers.png');
YIQ = rgb2ntsc(RGB);
- Do ánh sáng là một thành phần của định dạng NTSC , sự chuyển đổi từ RGB sang NTSC là hữu ích cho việc cách ly thông tin độ xám trong một ảnh . Trong thực tế , các hàm rgb2gray và ind2gray sử dụng hàm rgb2ntsc để tách thông tin gam màu xám từ một ảnh màu .
Chẳng hạn , những lệnh sau đây là tương đương với việc gọi hàm rgb2gray : YIQ = rgb2ntsc(RGB);
I = YIQ(:,:,1);
Không gian màu YCbCr
- Không gian màu YCbCr được sử dụng rộng rãi trong video số . Trong định dạng này , thông tin về ánh sáng được lưu trữ trong một thành phần riêng Y và thông tin màu sắc được lưu trữ như hai thành phần màu độc lập (Cb và Cr ) . Cb đại diện cho sự khác nhau giữa giá trị blue và một giá trị tham chiếu trong khi đó Cr đại diện cho sự khác nhau giữa thành phần đỏ và một giá trị tham chiếu .
và vùng cho Cb , Cr là [16,240] . Hàm rgb2ycbcr convert bản đồ màu hoặc ảnh RGB sang không gian màu YCbCr , hàm ycbcr2rgb chuyển đổi ngược lại .
Chẳng hạn , những lệnh sau sẽ chuyển đổi một ảnh RGB sang định dạng YCbCr . RGB = imread('peppers.png');
YCBCR = rgb2ycbcr(RGB);
Không gian màu HSV
- Không gian màu HSV ( Hue , Saturation , Value ) thường được sử dụng bởi những người cần phải lựa chọn màu sắc ( chẳng hạn để in hoặc vẽ ) từ một đĩa màu do nó tương ứng tốt hơn với kinh nghiệm màu sắc của những người này hơn là không gian màu RGB đem lại . Hàm rgb2hsv và hsv2rgb chuyển đổi ảnh giữa các không gian màu RGB và HSV .
- Khi giá trị Hue nằm trong khoảng 0 và 1 thì màu tương ứng sẽ biến đổi từ red , yellow , green , cyan , blue , magenta và black sang red . Vì vậy , giá trị thực của red là từ 0 đến 1 . Cũng vậy , khi saturation biến thiên từ 0 đến 1 , màu tương ứng ( hues ) biến đổi từ chưa bão hoà đến hoàn toàn bão hoà ( unsaturated to fully saturated ) . Cuối cùng , nếu value
( hay độ sáng ) biến đổi từ 0 đến 1 , màu tương ứng sẽ càng sáng hơn . - Hình sau đây minh hoạ
không gian màu
- Hàm rgb2hsv chuyển đổi bản đồ màu hoặc ảnh RGB sang không gian màu HSV . Hàm hsv2rgb thi hành thao tác ngược lại . Những lệnh sau đây sẽ convert một ảnh RGB sang không gian màu HSV .
RGB = imread('peppers.png'); HSV = rgb2hsv(RGB);
- Để xem xét gần hơn không gian màu HSV , khối lệnh sau đây sẽ chia mặt phẳng màu ( hue , saturation và value ) của một ảnh HSV :
RGB=reshape(ones(64,1)*reshape(jet(64),1,192),[64,64,3]); HSV=rgb2hsv(RGB); H=HSV(:,:,1); S=HSV(:,:,2); V=HSV(:,:,3); imshow(H) figure, imshow(S); figure, imshow(V); figure, imshow(RGB);
V - Biến đổi ảnh
- Sự biểu diễn toán học cho một ảnh thường là một hàm với hai biến không gian f(x,y) . Giá trị của hàm tại một vị trí ( x,y ) đại diện cho cường độ của ảnh tại vị trí đó . Thuật ngữ biến đổi ( transform ) nhằm nói đến một sự biểu diễn toán học tương tự của ảnh .