Bài giảng Kỹ thuật đồ họa và xử lý hình ảnh - Bài 4: Các thuật toán tô màu được biên soạn cung cấp kiến thức các không gian màu, các thuật toán tô màu.
Trang 1Giáo viên phụ trách môn học:
Nguyễn Hoài Anh
Khoa Công nghệ thông tin - HVKTQS
Trang 2Các không gian màu
Các thuật toán tô màu
Trang 3Không gian màu RGB (Red – Green - Blue)
mô tả màu sắc bằng 3 thành phần chính là Red -Green và Blue
Không gian này được xem như một khố i lập
phương 3 chiều với
▪ màu red là trục x,
▪ màu Green là trục y,
▪ màu Blue là trục z
Mỗi màu trong không gian này được xác định bởi 3 thành phần R, G, B
Ứ ng với các tổ hợp khác nhau của 3 màu này sẽ cho ta một màu mới
Trang 4Không gian màu RGB (Red – Green - Blue)
▪ Trong hình lập phương trên, mỗi màu gốc (R,G,B) có các gốc đối diện là các màu bù với nó Hai màu được gọi là bù nhau khi kết hợp hai màu này lại với nhau ra màu trắng
▪ Ví dụ: Green - Magenta, Red - Cyan, Blue - Yellow.
Trang 5Không gian màu CMY (Cyan - Magenta -Yellow)
Tương tự như không gian màu RGB nhưng 3
thành phần chính là Cyan - Magenta - Yellow
Do đó, tọa độ các màu trong không gian CMY trái
Do đó, tọa độ các màu trong không gian CMY trái ngược với không gian RGB
Ví dụ: màu White có các thành phần là (0,0,0),
màu Black (1,1,1), màu Cyan (1,0,0),
Trang 6Không gian màu HSV (Hue - Saturation - Value)
Thực chất của không gian này là sự biến đổi của không gian RGB
Không gian HSV được mô tả bằng lệnh lập
Không gian HSV được mô tả bằng lệnh lập
phương RGB quay trên đỉnh Black
▪ H (Hue) là góc
▪ quay trục V (value)
▪ qua 2 đỉnh Black và White
Trang 7Không gian màu HSV (Hue - Saturation - Value)
Các gía trị biến thiên của H, S, V như sau :
▪ H (Hue) chỉ sắc thái có giá trị từ 0 0 – 360 0
▪ S (Saturation) chỉ độ bảo hoà.
▪ S (Saturation) chỉ độ bảo hoà.
▪ V (Value) có giá trị t ừ 0 - 1
Các màu đạt giá trị bảo hòa khi s = 1 và v = 1
Trang 8Không gian màu HSV (Hue - Saturation - Value)
Trang 9Tô màu một vùng là thay đổi màu sắc của các điểm vẽ nằm trong vùng cần tô
Một vùng tô thường xác định bởi một
đườ ng khép kín nào đó gọi là đường biên
đườ ng khép kín nào đó gọi là đường biên
Dạng đường biên đơn giản thường gặp là
đ a giác.
Trang 10Việc tô màu thường chia làm 2 công đoạn:
Xác định vị trí các điểm cần tô màu
Quyết định tô các điểm trên bằng màu nào
Công đoạn này sẽ trở nên phức tạp khi ta cần tô theo một mẫu tô nào đó chứ không phải tô thuần một màu
Có 3 cách tiếp cận chính để tô màu
Tô màu theo từng điểm (tô đơn giản)
Tô màu theo dòng quét
Tô màu dựa theo đường biên.
Trang 11Ý tưởng
Xác định một điểm có thuộc vùng cần tô hay
không?
Nếu đúng là điểm thuộc vùng cần tô thì sẽ tô với
Nếu đúng là điểm thuộc vùng cần tô thì sẽ tô với màu muốn tô
Trang 12Ý tưởng
Đối với hình tròn
▪ Tìm hình vuông nhỏ nhất ngoại
tiếp đường tròn bằng cách xác
đị nh điểm trên bên trái (xc-r, yc-r) và
đ iểm dưới bên phải (xc+r, yc+r) của hình vuông.
▪ Cho i chạy từ xc-r đến xc+r
Cho j chạy từ yc-r đến yc+r
Tính khoảng cách d giữa điểm (i,j) và tâm (xc,yc) Nếu d<r thì tô điểm (i,j) với màu muốn tô
Trang 13Ý tưởng
Phương pháp này sẽ xác định phần giao của
các dòng quét kế tiếp nhau với đường biên của vùng tô
Sau đó, tiến hành tô màu các điểm thuộc phần giao này
Phương pháp này thường được dùng để tô
màu đa giác lồi, lõm hay đa giác tự cắt, đường tròn, ellipse, và một số đường cong đơn giản khác
Trang 14Các bước chính
Tìm ymin, ymax lần lượt là giá trị nhỏ nhất, lớn nhất của tập các tung độ của các đỉnh của đa giác đã cho
Ứng với mỗi dòng quét y = k với k thay đổ i từ
Ứng với mỗi dòng quét y = k với k thay đổ i từ ymin đến ymax, lặp :
▪ Tìm tất cả các hoành độ giao điểm của dòng quét y =
k với các c ạnh của đa giác
▪ Sắp xếp các hoành độ giao điểm theo thứ tự tăng dần : x0,x1, , xn,
▪ Tô màu các đoạn thẳng trên đường thẳng y = k lần lượt được giới hạn bởi các cặp (x0, x1), ( x1,x2),
Trang 15Các bước chính
Trang 16Ý tưởng
Đường biên của vùng tô được xác định bởi tập các đỉnh của một đa giác, đường biên trong thuật toán được mô
tả bằng một giá trị duy nhất đó là màu của tất cả các
điểm thuộc về đường biên.
Bắt đầu từ điểm nằm bên trong vùng tô, ta sẽ kiểm tra các điểm lân cận của nó đã được tô màu hay có phải là điểm biên hay không, nếu không phải là điểm đã tô và không phải là điểm biên ta sẽ tô màu nó
Quá trình này được lặp lại cho tới khi nào không còn tô được điểm nào nữa thì dừng Bằng cách này, toàn bộ
các điểm thuộc vùng tô được kiểm tra và sẽ được tô hết.
Trang 17Các bước chính