Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
LỜI NÓI ĐẦU
Trong những năm gần đây, ngành Công nghệ thông tin đã và đang được ứng
dụng rộng rãi trong nghiên cứu khoa học cũng như trong thực tế sản xuất tại các
nhà máy, xí nghiệp tại Việt Nam. Qua thực tế làm việc tại Nhà máy dệt Tân Tiến, tôi
nhận thấy tại dây chuyền in hoa có thể áp dụng công nghệ thông tin để tiết kiệm
thời gian sản xuất thử sản phẩm cũng như giúp việc định hướng cho việc chọn màu
sắc cho sản phẩm vải in hoa.
Đề tài :
“ XỬ LÝ VÀ CHỌN MẪU MÀU CHO CÔNG ĐOẠN IN THỬ MỘT MẪU
IN HOA TẠI NHÀ MÁY DỆT TÂN TIẾN”
Trong phạm vi đề tài này, với những mục đích nêu trên, chúng ta nghiên cứu
cơ sở lý thuyết về Kỹ thuật đồ họa cũng như cơ sở lý thuyết về CSDL để có thể áp
dụng giải quyết vấn đề một cách hiệu quả. Bố cục của đề tài bao gồm :
Phần I : Giới thiệu về Công nghệ sản xuất vải In hoa.
Phần II : Các phép biến đổi để các lớp phim trùng khớp lên nhau.
Phần III : Tìm hiểu một số dạng File ảnh và hệ màu.
Phần IV : Tìm hiểu về CSDL của bài tốn
Phần V : Thiết kế, cài đặt chương trình thực hiện
Phần VI : Nhận xét
Vì thời gian và kiến thức còn hạn chế nên không thể tránh khỏi những sai sót,
rất mong sự đóng góp ý kiến giúp đỡ của thầy cô giáo, các bạn cùng lớp và các
đồng nghiệp tại nhà máy dệt Tân Tiến để có thể hồn thiện đề tài một cách tốt hơn.
Nha Trang, ngày 20 tháng 07 năm 2003
Người thực hiện
Nguyễn Hồng Hải
Sinh viên : Nguyễn Hồng Hải Trang : 2
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
Ý kiến của Nhà máy dệt Tân Tiến :
Sinh viên : Nguyễn Hồng Hải Trang : 3
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
Ý kiến của giáo viên hướng dẫn :
Sinh viên : Nguyễn Hồng Hải Trang : 4
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
PHẦN I : GIỚI THIỆU CÔNG NGHỆ SẢN XUẤT VẢI IN HOA
1. Công nghệ in hoa :
Nhà máy dệt Tân Tiến được thành lập vào tháng 10 năm 1996 với số vốn
đầu tư gần 300 tỉ đồng, trong đó nhà máy chú trọng đến việc nhập khẩu thiết bị
máy móc tiên tiến của châu Âu cho dây chuyền sản xuất vải in hoa bao gồm các
thiết bị làm phim, chế bản ,máy in lưới quay 10 màu và máy hấp liên tục của hãng
STORK BRABANT – HÀ LAN.
Dây chuyền sản xuất vải in hoa bao gồm các công đoạn sau :
- Thiết kế mẫu.
- Tách màu. (Layer slide)
- Chế bản lưới phẳng (Lưới lụa)
- In thử
- Step Film (Chụp thành tấm Film lớn)
- Chế bản lưới quay (Chụp từ Film lớn ra lưới quay)
- Pha màu in.
- In trên máy.
- Hấp gắn màu.
- Giặt sau hấp gắn màu.
- Định hình hồn tất.
Sinh viên : Nguyễn Hồng Hải Trang : 5
Thiết kế
mẫu hoa
Tách màu
Slide
Chế bản lưới
phẳng
In thử
Step Film
Chế bản lưới
quay
In trên
máy
Hấp gắn màu Giặt sau hấp Định hình
hoàn tất
KHÁCH
HÀNG
1
2 3
4
Chọn
Không
5
6
7
10
8
9
11
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
2. Giới thiệu bài tốn :
Từ một mẫu hoa cần sản xuất thử (Ví dụ mẫu hoa 6 màu như dưới đây),
nhân viên Phòng thiết kế mẫu tiến hành tách màu thành 6 màu trên 6 lớp phim
trong suốt (Layer Slide) được đánh số từ 1 đến 6, các bản tách màu này ở dạng
trắng đen.
Sau khi hồn tất công đoạn tách bản này phim được chuyển cho nhân viên
phòng chế bản chụp các phim lên lưới phẳng sản xuất thử (Khuôn lưới lụa) cũng
được đánh số từ 1 đến 6 tương ứng với từng lớp phim.
Các lớp Film Slide này là phim trắng đen (Nền Film trong suốt và họa tiết
màu đen), sau đó chụp (Cho chùm ánh sáng tập trung chiếu vào tấm Film slide
được áp sát với lưới phẳng đã được phủ một lớp hóa chất nhạy sáng) theo nguyên
tắc vùng họa tiết màu đen sẽ không cho ánh sáng đi qua (Lớp keo nhạy sáng tại
vùg đó vẫn giữ nguyên tính chất ban đầu), còn vùng trong suốt sẽ cho ánh sáng đi
qua và lớp keo vùng ánh sáng đi qua sẽ hóa cứng bám chặt vào lưới phẳng. Sau đó
rửa lưới phẳng qua nước vùng keo chưa hóa cứng sẽ trôi đi, như vập tấm khung
lưới phẳng sẽ trở thành một âm bản của Film slide.
Khuôn lưới phẳng sau đó được chuyển cho Nhân viên phòng thí nghiệm tiến
hành chọn màu cho mẫu hoa (công việc này mất rất nhiều thời gian, đòi hỏi sự
nhạy cảm màu sắc của người thực hiện chọn màu in thử và tiêu tốn lượng vải in
thử không nhỏ). Một tổ hợp 6 màu trên tạo thành một Mẫu in gọi là Colorway, mỗi
mẫu hoa có thể làm thành nhiều Colorway cho khách hàng lựa chọn. (Tất cả các
công đoạn in thử phải đảm bảo quy trình công nghệ như in chính thức – bao gồm :
in, hấp, giặt tẩy để đảm bảo sự đồng đều màu sắc giữa in thử và in chính thức sau
này).
Sinh viên : Nguyễn Hồng Hải Trang : 6
L a y e r 1
L a y e r 1
L a y e r 2
L a y e r 2
L a y e r 3
L a y e r 3
L a y e r 4
L a y e r 4
L a y e r 5
L a y e r 5
L a y e r 6
L a y e r 6
Sau khi
tách
màu
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
Sau khi chọn màu và in thử xong mẫu hoa trên, mẫu hoa được gởi cho khách
hàng lựa chọn, nếu khách hàng đồng ý thì nhà máy cho tiến hành sản xuất hàng
loạt, nếu không có thể phải tiến hành chọn lại màu.
Trên đây tôi xin giới thiệu sơ về bài tốn và vấn đề cần giải quyết ở đây là
việc đưa các lớp phim (Layer slide) vào máy tính sao cho các bản layer trùng khít
lên nhau và tiến hành chọn màu trên từng lớp để chọn màu ưng ý nhất. Từ các màu
đã được chọn máy tính tìm trong cơ sở dữ liệu về màu sắc và đưa ra các thành
phần thuốc nhuộm cần thiết tạo nên màu đã chọn. (trong thực tế, nhà máy đã tìm
hiểu dây chuyền công nghệ được tin học hóa của Hãng Stock Brabant - Hà Lan
tuy nhiên do giá thành quá đắt nên chưa thể nhập được dây chuyền trên) vì vậy tôi
chỉ mong muốn góp một phần nhỏ trong việc hợp lý hóa quá trình sản xuất của nhà
máy.
Sinh viên : Nguyễn Hồng Hải Trang : 7
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
PHẦN II : CÁC PHÉP BIẾN ĐỔI ĐỂ CÁC LỚP FILM TRÙNG KHÍT NHAU
I. Các khái niệm tổng quan của kỹ thuật đồ hoạ máy tính (Computer Graphics):
1. Kỹ thuật đồ hoạ máy tính :
Kỹ thuật đồ hoạ máy tính có thể định nghĩa như một lĩnh vực của công nghệ
thông tin mà ở đó nghiên cứu, xây dựng và tập hợp các công cụ (mô hình lý thuyết
và phần mềm) khác nhau để kiến tạo, xây dựng, lưu trữ và xử lý các mô hình
(model) và hình ảnh (image) của đối tượng, sự vật hiện tượng khác nhau trong
cuộc sống, sản xuất và nghiên cứu. Các mô hình và hình ảnh này có thể là các kết
quả thu được từ những lĩnh vực khác nhau của rất nhiều ngành khoa học (Vật lý,
tốn học, thiên văn học v..v) và bao trùm rất nhiều thể loại và dạng phong phú .
2. Các kỹ thuật đồ hoạ :
Ngày nay số lượng các hệ thống sử dụng kỹ thuật đồ hoạ tương tác đã trở
nên rất lớn, ngày càng nhiều và càng trở nên đa dạng hơn, phong phú hơn. Tuy vậy
căn cứ vào phương pháp xử lý các dữ liệu trong hệ thống mà người ta phân biệt ra
hai hệ thống đồ hoạ : Kỹ thuật đồ hoạ điểm (Sampled – Based Graphics) và Kỹ
thuật đồ hoạ vectơ (Geometry – Based Graphics).
• Kỹ thuật đồ hoạ điểm :
Nguyên lý xây dựng các mô hình và hình ảnh trong kỹ thuật đồ hoạ điểm
như sau : các mô hình, hình ảnh của các đối tượng được hiện thị thông qua từng
pixel (Từng mẫu rời rạc). Trong kỹ thuật này chúng ta có thể tạo ra, thay đổi thuộc
tính, xố đi từng pixel của mô hình và hình ảnh các đối tượng. Các mô hình hình
ảnh được hiển thị như một lưới điểm (grid) các pixel rời rạc, từng pixel đều có vị
trí xác định, được hiển thị với một giá trị rời rạc (số nguyên) các thông số hiển thị
ví dụ như màu sắc hoặc độ sáng. Tập hợp tất cả các pixel của grid cho chúng ta mô
hình, hình ảnh đối tượng mà chúng ta muốn hiển thị để nghiên cứu hoặc xây dựng
nên.
Có hai phương pháp để tạo ra các pixel này :
- Phương pháp thứ nhất là dùng phần mềm để vẽ trực tiếp từng pixel một,
dựa trên các lý thuyết mô phỏng để xây dựng nên các đối tượng hoặc
hình ảnh thực của sự vật.
- Phương pháp thứ hai là rời rạc hố (số hố ) hình ảnh thực của đối tượng
sau đó ta có thể sửa đổi (image editing) hoặc xử lý (image processing)
mảng các pixel thu được theo phương pháp khác nhau để thu được hình
ảnh đặc trưng của đối tượng.
• Kỹ thuật đồ hoạ vectơ :
Sinh viên : Nguyễn Hồng Hải Trang : 8
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
Nguyên lý xây dựng các mô hình và hình ảnh trong kỹ thuật đồ hoạ vector
như sau : trước hết người ta xây dựng mô hình hình học (Geometrical model) cho
mô hình hoặc hình ảnh của đối tượng, xác định thuộc tính của mô hình hình học
này, sau đó dựa trên mô hình hình học này sẽ thực hiện qua trình tô trát (rendering)
để hiển thị từng điểm của mô hình, hình ảnh thực của đối tượng. Ở kỹ thuật đồ hoạ
này chúng ta chỉ lưu trữ mô tả tốn học của các thành phần trong mô hình hình học
cùng với các thuộc tính tương ứng của nó mà không lưu lại tồn bộ pixel của hình
ảnh tô trát (rendering) được .
Các thành phần này được mô tả trong mô hình hình học của đối tượng được
gọi là thực thể cơ sở hình học của mô hình hình học. Sau đó hình ảnh sẽ được xây
dựng từ các thành phần của mô hình hình học, tức là chúng ta sẽ thực hiện quá
trình tô trát theo điểm nhưng những pixel này không được lưu giữ lại như một
phần của mô hình. Như thế hình ảnh có thể được tô trát (rndering) từ nhiều điểm
nhìn và góc nhìn khác nhau dựa trên cùng một mô hình mẫu.
• So sánh kỹ thuật đồ hoạ điểm và kỹ thuật đồ hoạ vectơ :
Trong kỹ thuật đồ hoạ điểm, hình ảnh và mô hình của các vật thể được định
nghĩa bởi các điểm của grid, khi đó chúng ta có thể dễ dàng thay đổi thuộc tính của
các điểm để thay đổi từng phần hoạc từng vùng của hình ảnh.
Trong kỹ thuật đồ hoạ điểm chúng ta có thể dễ dàng copy được các pixel từ
một hình ảnh này sang hình ảnh khác.
Trong kỹ thuật đồ hoạ vector chúng ta không thay đổi thuộc tính của từng
điểm trực tiếp mà ta có thể xử lý với từng thành phần hình hộc cơ sở của nó, sau
đó lại thực hiện quá trình tô trát và hiển thị.
Trong kỹ thuật đồ hoạ vector chúng ta có thể quan sát hình ảnh và mô hình
của hình ảnh và sự vật ở nhiều góc độ khác nhau một cách dễ dàng bằng cách thay
đổi điểm nhìn và góc nhìn.
II. Phép biến đổi để các lớp Film trùng khít :
1. Tạo lớp phim (Layer slide) :
Như giới thiệu trên, từ mẫu hoa được thiết kế cần phải tách thành các lớp
phim theo từng màu của mẫu thiết kế
Sinh viên : Nguyễn Hồng Hải Trang : 9
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
Ví dụ :
Để đưa được tấm Film Slide vào máy tính ta sử dụng máy quét (Scan) quét
film vào máy dưới dạng file trắng đen (.Wmf, .BMP, JPEG,…) sau đó đưa vào
chương trình xử lý . Ở đây để tạo thành từng lớp Slide trong chương trình, mỗi một
Slide được quét vào ta viết thủ tục quét điểm ảnh, nếu điểm ảnh màu đen lưu tọa
độ vào mảng 2 chiều . Cấu trúc mảng 2 chiều như sau :
Dim A() as Integer (mảng động)
Số phần tử Rap1 X Rap2 X X
1
X
2
……… Xn-
1
Xn
Lớp Rap1 Y Rap2 Y Y
1
Y
2
……… Yn-
1
Yn
Trong đó :
- Số phần tử : Là tổng số phần tử (n+3) cần lưu của mảng.
- Lớp : Lớp Slide.
- Rap1 X, Rap1 Y : Điểm Rappo thứ 1 trên tấm Slide (Người sử dụng
chương trình chọn)
- Rap2 X, Rap2 Y : Điểm Rappo thứ 2 trên tấm Slide (Người sử dụng
chương trình chọn)
- (X1,Y1), (X2,Y2) … (Xn,Yn) : Tọa độ điểm ảnh Slide.
Điểm Rappo1 và Rappo2 dùng để làm chuẩn điều chỉnh để các lớp trùng
khít họa tiết với nhau.
2. Các phép tốn điều chỉnh trùng khít các lớp Slide :
Các đối tượng phẳng trong tọa độ 2 chiều được mô tả như tập các điểm
phẳng. Các điểm được biểu diễn thông qua tọa độ của chúng viết dưới dạng ma
trận hay còn gọi là các vector vị trí. Có 2 phương pháp biểu diễn các ma trận mà
phép biến đổi đồ hoạ trên đó là như nhau bao gồm phương pháp biểu diễn tọa độ
Sinh viên : Nguyễn Hồng Hải Trang : 10
L a y e r 1
L a y e r 1
L a y e r 2
L a y e r 2
L a y e r 3
L a y e r 3
L a y e r 4
L a y e r 4
L a y e r 5
L a y e r 5
L a y e r 6
L a y e r 6
Film Slide
=
dc
ba
T
=
10
01
T
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
theo ma trận 1 hàng 2 cột và ma trận 2 hàng 1 cột. Trong phần này chúng ta sẽ biểu
diễn toạ độ theo ma trận hàng để mô tả tọa độ các điểm.
x
y và [ x y ]
Tập các điểm được lưu trữ trong máy tính dưới dạng các ma trận hay chuỗi
điểm mà vị trí của chúng quyết định hình dạng của đường thẳng, đường cong hay
ảnh sẽ dễ dàng kiểm sốt thông qua các phép biến đổi. Phép biến đổi đồ hoạ được
mô tả dưới dạng các ma trận tương ứng cho phép thể hiện các sự biến đổi toạ độ
của các điểm qua các phép tốn nhân ma trận. Điều đó tạo thuận lợi cho người sử
dụng hình dung cũng như thao tác với các đối tượng hình học một cách dễ dàng và
đó cũng là một trong những tính năng mạnh của đồ hoạ máy tính.
a. Phép biến đổi vị trí điểm :
Giả sử ta có điểm P(x,y) trong mặt phẳng với [ x y ] là vecto vị trí được ký
hiệu bằng [X] và ma trận 2x2 [T] là ma trận biến đổi với
Điểm P’ qua phép biến đổi có giá trị { x’ y’ ] với phương trình sau :
Theo phương trình trên giá trị tương ứng của x’ = ax + cy và y’ = bx + dy,
khảo sát ma trận biến đổi [T] với các tham số ta có :
• Phép biến đổi bất biến :
Với phép biến đổi tịnh tiến thì a = d = 1 và b = c = 0 khi đó ma trận biến đổi
có dạng :
Khi đó điểm P’ qua phép biến đổi tịnh tiến có giá trị [ x’ y’ ] với phương
trình sau :
Với phép biến đổi trên ta có :
Sinh viên : Nguyễn Hồng Hải Trang : 11
[ ] [ ] [ ]
( ) ( )
[ ] [ ]
''** yxdybxcyax
dc
ba
yxTX
=++=
=
[ ] [ ] [ ] [ ] [ ] [ ]
''
10
01
** yxdydxyxdydxTX
=+
=+
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
x’ = x + dx
y’ = y + dy
Trong đó : - dx hệ số tịnh tiến theo x
- dy hệ số tịnh tiến theo y
• Phép biến đổi tỷ lệ :
Xét trường hợp d = 1 và b = c = 0 phương trình được viết lại :
Với kết quả thu được x’= ax và ý = y, điểm P’ dịch chuyển theo trục x với tỷ
lệ a xác định.
Sinh viên : Nguyễn Hồng Hải Trang : 12
[ ] [ ] [ ] [ ] [ ]
''
10
0
*** yxyax
a
YXYX ==
=
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
P P’
0 1 2 3 0 1 2 3 x,x’
Với trường hợp b = c = 0 và a, d là các giá trị bất kỳ thì phương trình sẽ mở
rộng và thu được
Phép biến đổi tỉ lệ được thực hiện trên cả hai trục tọa độ x và y. Nếu x # y
thì tỷ lệ trên hai trục không bằng nhau. Nếu a = d > 1 thì phép biến đổi thu được là
phép phóng to và ngược lại với 0 < a = d < 1 thì phép biến đổi tương ứng là thu
nhỏ.
Nếu một trong hai giá trị a hoặc d = 1 ta sẽ có phép lấy đối xứng trên các
trục tương ứng, và khi cả hai a và d đếu bằng –1 thì phép biến đổi thu được sẽ là
phép lấy đối xứng qua gốc tọa độ.
• Phép biến dạng :
Khi a và d = 1 bất biến thì tọa độ của P’ phụ thuộc vào sự thay đổi của b và
c, Giả sử với c = 0.
Ta có :
Điểm P’ thu được sẽ không thay đổi giá trị tọa độ x còn giá trị ý biến đổi
không chỉ theo b mà còn phụ thuộc vào cả x. Và điều đó ngược lại khi chúng ta
thay đổi với a = d = 1; b= 0; hiệu ứng biến dạng sẽ xảy ra theo trục y.
Điểm gốc tọa độ sẽ bất biến qua mọi phép biến đổi. Điều đó được chứng
minh qua phương trình sau với điểm P = [0 0] trùng với gốc tọa độ.
P’ x’ = cy + x
Y=bx+y
Cy
P P’
P
Sinh viên : Nguyễn Hồng Hải Trang : 13
P’
P
[ ] [ ] [ ] [ ] [ ]
''
0
0
*** yxdyxa
d
a
YXYX ==
=
[ ] [ ] [ ] [ ] [ ]
''
10
1
*** yxdybx
b
YXYX ==
=
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
bx
0 1 2 3 0 1 2 3
Phép biến dạng theo trục y Phép biến dạng theo trục x
• Phép biến đổi tổng hợp :
Phương pháp biến đổi sử dụng phép nhân ma trận với tọa độ điểm thông qua
các vectơ vị trí thật sự hiệu quả và đem lại công cụ và đem lại công cụ mạnh về đồ
họa cho người sử dụng. Tuy nhiên những thao tác thường cần không chỉ một mà
rất nhiều các phép biến đổi khác nhau. Phép hốn vị khi nhân ma trận không được
cho phép thực hiện nhưng khả năng tổ hợp các phép nhân lại cho phép tạo ra một
ma trận biến đổi duy nhất. Điều đó làm giảm bớt được khối lượng đáng kể các
phép tính tốn trong quá trình biến đổi, làm tăng tốc đáng kể các chương trình ứng
dụng và tạo điều kiện cho việc quản lý các biến đổi trong ứng dụng.
Giả sử ta có điểm P với tọa độ [X] = [x y] và 2 phép biến đổi là [T1], [T2]
với
Quay điểm P quanh gốc tọa độ một góc 90
0
và
Lấy đối xứng qua gốc tọa độ
Ta có :
Là tọa độ [X’] của P’ qua phép biến đổi [T1] và
Sinh viên : Nguyễn Hồng Hải Trang : 14
[ ] [ ] [ ] [ ] [ ]
''00*0*0* yx
dc
ba
YX ==
=
[ ]
−
=
01
10
1T
[ ]
−
−
=
01
10
2T
[ ] [ ] [ ] [ ] [ ]
xyyxTXX −=
−
==
01
10
*1*'
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
Là tọa độ của P’ qua [T2]
Giả sử ta có [T3] là ma trận biến đổi tổng hợp của hai ma trận [T1] và [T2], giá
trị sau khi biến đổi [x y] qua [T3] thu được có dạng :
Điều đó đúng với mọi phép biến đổi [T1] và [T2] chúng ta có thể nói việc biến
đổi qua nhiều ma trận thành phần sẽ tương đương với phép biến đổi qua ma trận
tổng hợp từ các phép biến đổi đó.
b. Phép Quay :
Giả sử ta có điểm P với tọa độ ban đầu là (x, y) hay tương ứng với ma trận
[ x y ] qua phương pháp biểu diễn vector ( hình dưới ) làm thành với trục X một
góc α. Cho P quay quanh gốc tọa độ O một góc β có bán kính tương ứng là r thu
được điểm P’. Qua hình vẽ giá trị P và P’ có dạng :
P = [ x y ] = [ r.cosα r.sinα] (1)
P’ = [ x’ y’ ] = [ r.cos(α+β) r.sin(α+β)] (2)
Sinh viên : Nguyễn Hồng Hải Trang : 15
[ ] [ ] [ ] [ ] [ ]
yxxyTXX −=
−
−
−==
01
10
*2*''
[ ] [ ] [ ] [ ] [ ]
yxyxTXX −=
−
==
10
01
*3**
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
Phương trình (2) qua phép biến đổi lượng giác được đưa về dạng :
P’ = [ x’ y’ ] = [ r(cosα. cosβ - sinα.sinβ) r(cosα. sinβ + sinα.cosβ)] (3)
Từ (1) và (3) ta có :
P’ = [ x’ y’ ] = [x. cosβ - y.sinβ x.sinβ + y.cosβ]
Hay tương đương với :
X’ = x. cosβ - y.sinβ
Y’ = x.sinβ + y.cosβ
Phép biến đổi thông qua cách viết ma trận có dạng sau :
[X’] = [X].[T] = [x’ y’]
= [x y].[x. cosβ - y.sinβ x.sinβ + y.cosβ]
Như vậy ma trận biến đổi tổng quát [T] khi quay một điểm quanh gốc tọa độ
dưới một góc α bật kỳ có dạng :
Sinh viên : Nguyễn Hồng Hải Trang : 16
Y
X
P
P ’
Y
Y ’
X
X ’
[ ]
−
=
αα
αα
cossin
sincos
T
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
Giá trị dương thu được khi góc quay ngược chiều kim đồng hồ. Giả sử khi
quay P một góc -α thì ma trận [T] có thể tính được như sau :
Từ các phép biến đổi trên đưa vào bài tốn đang xây dựng ta cần chọn trên
mỗi tấm Film Slide hai điểm chuẩn (Rappo1 và Rappo2), sau đó ta chọn tấm Film
Slide đầu tiên (Gọi là lớp 0) hai điểm chuẩn đánh dấu “+” sau đó tất cả các tấm
Film Slide sau cũng đều đánh dấu “+” trùng với tấm đầu tiên.
Như vậy sau khi quét vào máy nhiệm vụ của ta là phải dùng 2 phép biến đổi
trên để đưa các điểm Rappo của các tấm Film Slide sau (Từ lớp 1 trở đi) trùng với
2 điểm Rappo của lớp 0 : bằng cách dịch điểm Rappo1 của các lớp 1,2, … trùng
với điểm rappo1 của lớp 0, sau đó xoay điểm Rappo2 quanh điểm Rappo1 để trùng
với điểm Rappo2 của lớp 0 như vậy ta được các tấm Film Slide trùng khít lên
nhau.
Sinh viên : Nguyễn Hồng Hải Trang : 17
[ ]
( ) ( )
( ) ( )
−
=
−−−
−−
=
αα
αα
αα
αα
cossin
sincos
cossin
sincos
T
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
PHẦN III : TÌM HIỂU MỘT SỐ FILE ẢNH VÀ HỆ MÀU
I. Tìm hiểu một số File ảnh :
1. File ảnh PCX :
a. Cấu trúc của PCX Header :
Có chiều dài là 128 bytes.
Header được chia làm 3 vùng :
- Vùng 1 : các thông tin chính bao gồm password, version, kiểu nén, số
bits lưu trữ mỗi pixel, kích thước ảnh, độ phân giải ngang, dọc.
- Vùng 2 : Các thông tin về Palette.
- Vùng 3 : Các thông tin phụ trợ bao gồm : video mode, số planes màu, số
bytes mỗi dòng quét, kiểu Palette…
Nội dung Header được mô tả chi tiết sau :
Byte# Kích thước Data
0 1 Password
1 1 Version
2 1 Encode
3 1 Bits per pixel
4 8 Window
12 2 Hres
14 2 Vres
16 48 Palette
64 1 Video mode
65 1 Num of planes
66 2 Bytes per line
68 2 Palette info
70 58 Unuser
• Các thông tin chính :
- Password = A0h : dạng tập tin PCX.
- Version : có các giá trị :
0 : version 2.5
2 : version 2.8 ( có Palette)
3 : Version 2.8 ( không có Palette)
4 : PC Paintbrush for Windows
5 : version 3.0 hay lớn hơn.
- Encode = 1 (run – length) : mã dạng tập tin PCX thông thường.
- Bits per pixel : số bit dành cho một pixel trên một plane.
Đối với ảnh VGA 16 màu, 4 planes, một pixel ảnh cần 4 bit và một bit trên
một plane thì bits per pixel = 4.
Sinh viên : Nguyễn Hồng Hải Trang : 18
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
Đối với ảnh VGA 256 màu, 1 planes, một pixel cần 8 bit thì bits per pixel =
8. Windows là một bộ bốn (x1, y1, x2, y2) xác định tọa độ góc trái bên trên và góc
phải bên dưới của cửa sổ hình chữ nhật trên màn hình mà ảnh hiện lên, Window
xác định kích thước của ảnh. Đối với tập tin PCX, (x1, y1) là góc trái bên trên màn
hình (x1 = y1 = 0) và (x2 = xmax, y2 = ymax) là góc phải bên dưới tùy theo mode
màn hình.
- Hres, Vres : độ phân giải ngang, dọc của màn hình.
Các thông tin phụ trợ :
- Video mode : vùng này thường được bỏ qua và có giá trị 0.
- Num of planes : là số planes cần thiết để lưu trữ 1 pixel. Thường số planes bằng
số bit cần thiết để lưu trữ 1 pixel.
Để biết giá trị của một pixel thì phải đọc đồng thời trên tất cả các planes, do đó
tốc độ bung ảnh sẽ chậm. Giá trị của num of planes liên quan đến giá trị lưu tại
bits per pixel.
- Bytes per line : là số byte cần thiết cho một dòng quét trên màn hình cho 1
plane.
Với PCX, BytesPerLine = (Hres * BitsPerPixel) / 8.
Với độ phân giải 640 * 480 : BitsPerPixel = 1, BytesPerLine = 80.
- Palette info : cho biết ảnh thuộc loại màu (color / mono)
- Unused : là vùng không dùng đến.
b. Vùng dữ liệu :
Dữ liệu ảnh được sắp xếp thứ tự từ trái qua phải và từ trên xuống dưới. Mỗi
dòng quét ảnh được mã hóa riêng theo giải thuật run-length. Dữ liệu ảnh mono
được hưu như bitmaps.
c. Bảng màu :
Bảng màu có kích thước 769 bytes. Bảng màu là nơi lưu trữ các phần cơ bản
tạo nên màu của các pixel được lưu trữ trong vùng sự liện. Tỷ lệ các thành phần cơ
bản (red, green, blue) khác nhau sex tạo nên màu khác nhau. Do đó, tỷ lệ này cần
lưu trữ trong header đồng thời với việc lưu trữ để hình ảnh được trung thực khi
hiện lên màn hình máy tính.
Thường với mode EGA / VGA có 16 thanh ghi Palette nên vùng lưu trữ thông
tin về bảng màu ở header gồm 16 * 3 = 48 bytes.
Mỗi thanh ghi Palette tương ứng với một bộ phận 3 thành phần màu cơ bản
tương ứng với màu chỉ ra bởi Palette ở hình dưới :
…
Red
Green
Sinh viên : Nguyễn Hồng Hải Trang : 19
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
Blue
…
Bảng màu
Do đó, trước khi hiển thị, thông tin về bảng màu cần được nạp trở lại các thanh
ghi Palette trong adaptor màn hình.
2. File ảnh TIFF :
File ảnh Tiff được thiết kế làm giảm nhẹ bớt các vấn đề liên quan đến việc mở
rộng file ảnh cố định, về cấu trúc nó cũng gồm ba phần chính :
• Phần Header (IFH) : có trong tất cả các file Tiff :
- 1 word : chỉ ra kiểu sử dụng để tạo file do máy PC hay Macintosh, hai
loại này rất khác nhau ở thứ tự các bytes lưu trữ trong các số dài 2 hay 4
bytes.
- 2 word : version. Từ luôn có giá trị là 42. Có thể coi là đặc trưng của file
Tiff vì nó không thay đổi.
- 3 word : giá trị Offset tính theo byte tính từ đầu file tới cấu trúc IFD
(Image File Directory) là cấu trúc thứ hai của file. Thứ tự các bytes ở đây
phụ thuộc vào dấu hiệu trường đầu tiên.
• Phần thứ 2 (IFD) : nó không ở ngay sau IFH mà vị trí nó được xác định
bởi trường Offset trong đầu file. Có thể có một hay nhiều IFH cùng tồn
tại trong file (nếu file có nhiều hơn một ảnh). Phần này bao gồm :
- 2 bytes : chứa các DE (Directory Entry)
- 12 bytes : là các DE xếp liên tiếp. Mỗi DE chiếm 12 bytes.
- 4 bytes : Offset trỏ tới IFD tiếp theo. Nếu đây là IFD cuối cùng thì trường
này bằng 0.
Sinh viên : Nguyễn Hồng Hải Trang : 20
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
• Phần thứ 3 : các DE
Các DE có độ dài cố định là 12 bytes và chia làm bốn phần :
- 2 bytes : chỉ ra dấu hiệu mà file ảnh đã được xây dựng.
- 2 bytes : kiểu dữ liệu tham số ảnh. Có 5 kiểu cơ bản :
a) 1 : BYTES (1 byte)
b) 2 : ASCII (1 byte)
c) 3 : SHORT (2 byte)
d) 4 : LONG (4 byte)
e) 5 : RATIONAL(8 byte)
- 4 bytes : trường độ dài (bộ đếm) chứa số lượng chỉ mục tiêu của dữ liệu
đã được chỉ ra. Nó không phải tổng số bytes cần thiết để lưu trữ. Để có số
liệu này ta cần nhân chỉ số mục với kiểu dữ liệu đã dùng.
- 4 bytes : đó là Offset tới điểm bắt đầu dữ liệu thực liên quan với DE
không phải lưu trữ vật lý cùng với nó nằm ở 1 vị trí nào đó trong file.
Dữ liệu được chứa trong file thường được tổ chức thành các nhóm dòng
(cột) quét của dữ liệu ảnh. Cách tổ chức này làm giảm bộ nhớ cần thiết cho việc
đọc file. Việc giải nén thực hiện theo 4 kiểu khác nhau được lưu trữ trong dấu hiệu
nén.
Như đã nói trên, file ảnh TIFF dùng để giải quyết vấn đề khó mở rộng của
file PCX. Tuy nhiên, với cùng một ảnh thì việc dùng file PCX chiếm ít không gian
nhớ hơn.
3. File ảnh BMP :
Cấu trúc file ảnh BMP bao gồm các phần chính sau :
- BMP Header : được mô tả như sau :
Byte# Data Chi tiết
1 – 2 Dấu nhận dạng ‘BM’
3 – 6 Kích thước file 2 words
7 – 10 Dành riêng Thường là 0
11 – 14 Offset đến Bitmap Data Tính từ đầu file
Sinh viên : Nguyễn Hồng Hải Trang : 21
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
- Bitmap Info : được mô tả như sau :
Byte# Data Chi tiết
1 – 4 Số byte trong Header Thường là 40 bytes
5 – 8 Chiều rộng của bitmap Bằng pixel
9 – 12 Chiều cao của bitmap Bằng pixel
13 – 14 Số planes màu Thường là 1
15 – 16 Số bit trên pixel
17 – 20 Dạng nén
21 – 24 Kích thước ảnh Bằng bytes
25 – 28 Độ phân giải ngang Bằng pixels / mét
29 – 32 Độ phân giải dọc Bằng pixels / mét
33 – 36 Số màu dùng cho bitmap Thường là 0 (tất cả)
37 – 40 Số màu quan trọng Thường là 0 (tất cả)
Dạng nén : 0 : không nén
1 : run – length (8 bits / pixel)
2 : run – length (4 bits / pixel)
- Color map : mỗi phần tử màu gồm 4 bytes :
…
Red
Green
Blue
Reserved
…
- Bitmap Data : các pixels được lưu trữ theo hàng, từ trái sang phải cho
mỗi dòng, các hàng được lưu trữ từ dưới lên trên. Như vậy, bitmap sẽ
được thể hiện từ góc dưới trái.
Sinh viên : Nguyễn Hồng Hải Trang : 22
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
II. Tìm hiểu về hệ màu :
Màu sắc đối tượng mà chúng ta quan sát được không chỉ phụ thuộc vào bản
thân của đối tượng mà còn phụ thuộc vào nguồn sáng, môi trường xung quanh đối
tượng cũng như hệ thống cảm nhận của con người. Một số các đối tượng phản xạ
lại các tia chiếu lên chúng (như tường, giấy, kim loại) trong khi một số khác cho
ánh sáng đi xuyên qua (như màng mỏng, kính…). Khi một bề mặt chỉ phản xạ các
tia sáng xanh dương được chiếu bởi một nguồn sáng đỏ thí nó có màu đen, tương
tự khi ánh sáng màu lục được nhìn qua một tấm kính chỉ cho tia sáng đỏ đi qua nó
cũng có màu đen.
Giác quan thị giác của con người cảm nhận được các vật xung quanh thông
qua các tia sáng mầu tốt hơn rất nhiều so với các vật chỉ có hai màu đen trắng. Vì
vậy trong kỹ thuật đồ hoạ việc xây dựng nên các đối tượng màu là những lý thuyết
cơ bản mà nền tảng cơ sở là lý thuyết về màu sắc.
Mô hình màu là một chỉ số kỹ thuật của một hệ toạ độ màu ba chiều và tập các
màu nhỏ thành phần có thể trông thấy được trong hệ thống tọa độ màu thuộc một
gam màu đặc trưng. Ví dụ như mô hình màu RGB(Red, Green, Blue) là một tập
các màu thành phần sắp xếp theo hình lập phương của hệ trục toạ độ Đề các.
1. Mô hình màu RGB (RED-GREEN-BLUE): ĐỎ-LỤC-LAM :
Màu đỏ, lục : Xanh lá cây, lam : Xanh da trời (RGB) được sử dụng rộng rãi
trên màn hình CRT và các loại màn hình có đồ hoạ Raster màu dựa vào hệ toạ độ
Đề các.
Gam màu được thể hiện trong hệ màu RGB được xác định bằng những đặc
tính của hiện tượng phát quang của các chất phốt pho trong màn hình CRT. Hai
màn hình CRT với 2 loại chất phốt pho khác nhau sẽ cho ra các gam màu khác
nhau. Sự biến đổi màu được định rõ trong gam màu của một CRT so với gam màu
của một CRT khác.
2. Mô hình màu CMY (CYAN, MAGENTA, YELLOW) Xanh tím, đỏ tươi,
vàng :
Là phần bù tương ứng cho các màu đỏ, lục, lam và chúng được sử dụng như
những bộ lọc loại trừ các màu này từ ánh sáng trắng. Vì vậy CMY còn được gọi là
các phần bù loại trừ của màu gốc. Tập hợp màu thành phần biểu diễn trong hệ toạ
độ Đề các cho mô hình màu CMY cũng giống như cho mô hình màu RGB ngoại
trừ màu trắng (ánh sáng trắng) được thay thế màu đen (Không có ánh sáng) ở tại
nguồn sáng. Các màu thường được tạo thành bằng cách loại bỏ hoặc được bù từ
ánh sáng trắng hơn là được thêm vào những màu tối.
3. Mô hình màu YIQ
Sinh viên : Nguyễn Hồng Hải Trang : 23
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
Mô hình màu YIQ là mô hình màu được ứng dụng trong truyền hình màu
băng tần rộng tại Mỹ, và do đó nó có mối quan hệ chặc chẽ với màn hình đồ hoạ
màu Raster. YIQ là sự thay đổi của RGB cho khả năng truyền phát và tính tương
thích với ti vi đen trắng thế hệ trước. Tín hiệu truyền sử dụng trong hệ thống
NTSC (National Television System Committee).
Thành phần Y của YIQ không phải là màu vàng mà là thể sáng và được xác
định giống như màu gốc Y của CIE. Chỉ riêng thành phần Y của một tín hiệu ti vi
màu được thể hiện trên ti vi đen trắng. Màu được mã hố trong 2 thành phần còn lại
là I và Q. Màu YIQ sử dụng hệ toạ độ Đề các 3 chiều với tập các thành phần nhìn
thấy được biểu diễn như một khối đa diện lồi trong khối lập phương RGB.
Sinh viên : Nguyễn Hồng Hải Trang : 24
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
PHẦN IV : TÌM HIỂU CƠ SỞ DỮ LIỆU CỦA BÀI TỐN
1. Giới thiệu chung về việc chọn màu cho in hoa :
Trong thực tế sản xuất, việc chọn màu cho mẫu in căn cứ trên các màu được lưu
trong quá trình thử màu tại phòng thí nghiệm. Các màu này được lưu trong sổ lưu
mẫu màu (còn gọi là Catalog màu), mỗi loại vải có một Catalog màu khác nhau
trong đó có ghi công thức thuốc nhuộm tạo nên màu trong catalog. Khi có mẫu hoa
cần in thử, nhân viên thử màu sẽ chọn màu cho mẫu hoa dựa trên các màu đã có
sẵn trong Catalog màu, nếu màu khách hàng yêu cầu không có trong Catalog màu
thí nhân viên thí nghiệm sẽ tiến hành thí nghiệm để tạo ra màu theo yêu cầu của
khách hàng, sau đó lưu vào sổ catalog màu.
Ví dụ :
Loại vải : Phi bóng (FH03)
Màu : GR75
Thành phần thuốc nhuộm : Tỷ lệ
- Dianix Yellow Brown FG 2S 0.05%
- Dianix Black FK 2S 0.3%
- Dianix Rubin RS 3TH 0.5%
2. Cơ sở dữ liệu :
Từ thực tế trên, để việc chọn màu bằng chương trình trước tiên ta cần đưa các
dữ liệu trong catalog màu vào máy tính dưới dạng cơ sở dữ liệu. Ở đây tôi xây
dựng cơ sở dữ liệu bằng Microsoft Access 97.
Sinh viên : Nguyễn Hồng Hải Trang : 25
Báo cáo tốt nghiệp Giáo viên hướng dẫn : Nguyễn Đình Thuân
a. Lược đồ quan hệ :
b. Mô hình tổ chức dữ liệu :
LOAIVAI(MSVai, TenVai, PE, Cotton)
MAUIN(IDMauin, TenMau, Mau)
THUOCNHUOM(MSThuocnhuom, Tenthuocnhuom)
TYLE(IDTyle, IDMauin, MSThuocnhuom, IDDonin, Tyle)
DONIN(IDDonin, MSVai, ngayin)
Sinh viên : Nguyễn Hồng Hải Trang : 26
LOAIVAI
- MSVai
- TenVai
- PE
- Cotton
DONIN
- IDDonin
- Ngayin
THUOCNHUOM
- MSThuocnhuom
- Tenthuocnhuom
MAUIN
- IDMauin
- Tenmau
- Mau
TYLE
- IDTyle
- Tyle
(1,n)
(1,n)
(1,n)
(1,n)