Ngày nay, với sự phát triển như vũ bão của ngành công nghệ thông tin đã và đang đưa con người chúng ta dần tiến đến một kỹ nguyên mới, kỹ nguyên của tin học hoá trong đời sống. Tin học đã len lõi vào mọi ngóc ngách của cuộc sống, đưa con người đến với một cuộc sống chất lượng hơn. Tin học giúp con người làm việc một cách hiệu quả hơn, năng suất cao hơn, và tiết kiệm được nhiều thời gian hơn để tập trung vào những công việc khác hoặc các hoạt động khác (như vui chơi, giải trí).
Mục tiêu của nhà nước ta là tin học hoá các công việc văn phòng. Để làm được điều đó các nhà khoa học đã cố gắng nghiên cứu để tạo ra những chương trình để phục vụ cho công việc trên. Một trong những công việc văn phòng ở trường học là việc nhập điểm thi cho học sinh, sinh viên vào cơ sở dữ liệu của trường. Công việc nhập điểm vào máy đòi hỏi sự tập trung cao độ của người nhập vì nếu người nhập nhập điểm sai thì sẽ ảnh hưởng đến kết quả học tập của người học. Để cho công việc trên hiệu quả hơn thì đòi hỏi phải có một cách nhập điểm tự động hơn.
76 trang |
Chia sẻ: luyenbuizn | Lượt xem: 1124 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Thiết kế hệ thống nhập điểm tự động, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI TỰA
Ngày nay, với sự phát triển như vũ bão của ngành công nghệ thông tin đã và đang đưa con người chúng ta dần tiến đến một kỹ nguyên mới, kỹ nguyên của tin học hoá trong đời sống. Tin học đã len lõi vào mọi ngóc ngách của cuộc sống, đưa con người đến với một cuộc sống chất lượng hơn. Tin học giúp con người làm việc một cách hiệu quả hơn, năng suất cao hơn, … và tiết kiệm được nhiều thời gian hơn để tập trung vào những công việc khác hoặc các hoạt động khác (như vui chơi, giải trí).
Mục tiêu của nhà nước ta là tin học hoá các công việc văn phòng. Để làm được điều đó các nhà khoa học đã cố gắng nghiên cứu để tạo ra những chương trình để phục vụ cho công việc trên. Một trong những công việc văn phòng ở trường học là việc nhập điểm thi cho học sinh, sinh viên vào cơ sở dữ liệu của trường. Công việc nhập điểm vào máy đòi hỏi sự tập trung cao độ của người nhập vì nếu người nhập nhập điểm sai thì sẽ ảnh hưởng đến kết quả học tập của người học. Để cho công việc trên hiệu quả hơn thì đòi hỏi phải có một cách nhập điểm tự động hơn.
Để tiếp cận và góp phần đẩy mạnh sự phát triển của ngành giáo dục ở Việt Nam, chúng em xin trình bày “Hệ thống nhập điểm tự động”. Trong khuôn khổ thời gian cho phép để làm một đề tài tốt nghiệp có thể chúng em chưa hoàn tất đầy đủ chức năng, tính linh hoạt và phổ biến của hệ thống. Sau này nếu điều kiện cho phép, đề tài này có thể phát triển rộng hơn về quy mô và sâu hơn về chất lượng để chương trình hoạt động sao cho hoàn chỉnh và phù hợp với thực tế hơn.
Sinh viên thực hiện
Nguyễn Văn Thành
NHẬN XÉT CỦA GIẢNG VIÊN
NHẬN XÉT CỦA GIẢNG VIÊN
MỤC LỤC
Chương 1: Tổng quan về xử lý ảnh
1.1. Mở đầu
Định dạng file ảnh bitmap (BMP)
Định dạng file ảnh JPEG
Định dạng file ảnh TIFF (Tag Image File Format)
Định dạng file ảnh GIF (Graphices Interchange Format)
1.2. Các phép biến đổi trong đồ họa hai chiều
1.2.1. Các phép biến đổi hình học cơ sở
1.2.2. Một số tính chất của phép biến đổi Affine
1.2.2.1. Phép biến đổi Affine bảo toàn đường thẳng
1.2.2.2. Tính song song của các đường thẳng được bảo toàn
1.2.2.3. Tính tỉ lệ về khoảng cách được bảo toàn
1.2.3. Một số phép biến đổi khác
1.2.3.1. Phép đối xứng
1.2.3.2. Phép biến dạng
Chương 2: Nhận dạng các chấm đen
2.1. Xác định hai mốc của file bảng điểm
2.1.1. Giải pháp để xác định tâm của một mốc
2.1.2. Xây dựng giải thuật
2.2. Xác định các điểm trong file bảng điểm
Chương 3: Phân tích bài toán
3.1. Đặt vấn đề
3.2. Giới hạn vấn đề và phát biểu bài toán
3.2.1. Giới hạn vấn đề
3.2.2. Phát biểu bài toán
3.3. Mô tả dữ liệu đầu vào, dữ liệu đầu ra và xử lý dữ liệu
3.3.1. Dữ liệu đầu vào của chương trình
3.3.2. Dữ liệu đầu ra của chương trình
3.3.3. Phần xử lý dữ liệu
3.4. Giới thiệu sơ lược về tờ bảng điểm và file bảng điểm
3.4.1. Mô tả tờ bảng điểm
3.4.1.1. Phần tựa
3.4.1.2. Phần thân
3.4.1.3. Phần cuối
3.4.2. Mô tả file bảng điểm
3.5. Những vấn đề cần giải quyết
3.5.1. Những vấn đề cần giải quyết để cho ra file điểm
3.5.2. Những vấn đề cần giải quyết để nhập điểm vào cơ sở dữ liệu
Chương 4: Thiết kế các bảng cần thiết cho việc nhập điểm
4.1. Giới thiệu các hệ quản trị cơ sở dữ liệu
4.1.1. Hệ quản trị cơ sở dữ liệu Access
4.1.2. Hệ quản trị cơ sở dữ liệu SQL Server
4.1.2.1. Giới thiệu sơ lược về SQL Server
4.1.2.2. SQL Server
4.1.2.3. Chuyển từ Microsoft Access sang SQL Server
4.1.2.3.1. Dùng Microsoft Access Upsizing Tools
4.1.2.3.2. Xuất dữ liệu sang SQL Server dùng bảng liên kết
4.1.3. Hệ quản trị cơ sở dữ liệu Oracle
4.2. Xây dựng các bảng
4.2.1. Mô tả
4.2.2. Tạo bảng
4.2.3. Mô hình quan niệm dữ liệu và mô hình xử lý
4.3. Nhập dữ liệu vào cơ sở dữ liệu
Chương 5: Thực hiện việc nhập điểm vào cơ sở dữ liệu
5.1. Giới thiệu về môi trường phát triển của Visual Basic 6 và các điều khiển của nó
5.1.1. Giới thiệu về Visual Basic
5.1.2. Giới thiệu các điều khiển chính được sử dụng trong chương trình
5.1.2.1. Giới thiệu điều khiển Textbox
5.1.2.2. Giới thiệu điều khiển Command Button
5.1.2.3. Giới thiệu điều khiển PictureBox
5.1.2.4. Giới thiệu về Form trong Visual Basic
5.1.2.5. Giới thiệu điều khiển DataCombo
5.1.2.6. Giới thiệu về hàm Shell trong Visual Basic
5.1.2.7. Giới thiệu điều khiển DataGrid
5.1.2.8. Giới thiệu điều khiển ListView
5.1.2.9. Cách truy xuất file text tuần tự
5.2. Yêu cầu
5.3. Xử lý
5.3.1. Chuẩn bị file ảnh và các vấn đề liên quan
5.3.2. Xử lý file ảnh để cho ra file điểm
5.3.2.1. Sơ đồ xử lý file ảnh ra file điểm
5.3.2.2. Trình bày việc xử lý file ảnh
5.3.3. Xử lý dữ liệu trên cơ sở dữ liệu để nhập điểm
5.3.3.1. Sơ đồ cho việc xử lý dữ liệu
5.3.3.2. Trình bày cách xử lý dữ liệu
5.3.4. Nhập điểm vào cơ sở dữ liệu
5.3.4.1. Sơ đồ mô tả
5.3.4.2. Trình bày cách nhập điểm
5.3.5. Xem điểm sinh viên trong cơ sở dữ liệu
5.3.5.1. Sơ đồ mô tả
5.3.5.2. Xem điểm
5.4. Giải thuật
5.4.1. Đánh số thứ tự của sinh viên
5.4.2. Cập nhật điểm thi
Chương 6: Ưu điểm, khuyết điểm và hướng phát triển của đề tài
6.1. Ưu điểm
6.2. Khuyết điểm
6.3. Hướng phát triển của đề tài
CHƯƠNG 1:
TỔNG QUAN VỀ XỬ LÝ ẢNH
1.1. MỞ ĐẦU:
Khái niệm về ảnh số xuất hiện từ năm 1964. Chẳng bao lâu, một nhánh mới của khoa học gọi là xử lý ảnh số ra đời. Kể từ đó, liên tục phát triển và tạo ra các kỹ thuật quan trọng ảnh hưởng trực tiếp đến các lĩnh vực truyền thông, tivi, kỹ xảo đồ hoạ, ....
Xử lý ảnh là một trong các vấn đề ngày nay được thế giới quan tâm, nghiên cứu và ứng dụng. Ở Việt Nam, vấn đề xử lý ảnh cũng được quan tâm và nghiên cứu trong thời gian gần đây .
Ảnh hai chiều (ảnh 2D) được biểu diễn bởi ma trận hai chiều. Mỗi số phần tử biểu diễn một giá trị mức xám (hay màu) của một điểm ảnh tương ứng. Nếu số bít dùng để lưu giá trị mức xám (hay màu) của một điểm ảnh là 8 bít, thì số mức xám (hay màu) cho phép là 28 (hay 256) giá trị mức xám (hay màu) có thể. Các giá trị mức xám (hay màu) nầy thường gán giá trị nguyên dãy từ 0 đến 255, với 0 biểu diễn cho mức cường độ tối nhất (hay màu đen) và 255 biểu diễn cho mức cường độ sáng nhất (hay màu trắng). Mỗi phần tử trong ma trận được gọi là phần tử ảnh (a picture element).
Dưới đây là phần mô tả các định dạng của ảnh đồ họa thông dụng nhất hiện nay:
1.1.1. Định dạng file ảnh bitmap (BMP):
Những file ảnh bitmap Windows được lưu trữ trong một định dạng ảnh bitmap độc lập thiết bị (DIB: Device-Independent Bitmap) mà nó cho phép Windows hiển thị ảnh bitmap trên bất kỳ thiết bị hiển thị nào. Thuật ngữ “Device-Independent” có nghĩa rằng ảnh bitmap chỉ rõ màu điểm trong một dạng độc lập của phương pháp được sử dụng bởi một màn hình để đại diện màu. Phần mở rộng tên file mặc định của tập tin DIB Windows là .BMP.
Cấu trúc file ảnh bitmap:
Mỗi file ảnh bitmap Windows bao gồm 4 phần sau:
Tiêu đề file ảnh bitmap.
Thông tin tiêu đề ảnh bitmap.
Bảng màu.
Mảng các byte mà nó chỉ rõ các bit của ảnh bitmap.
File có dạng như sau:
BITMAPFILEHEADER bmfh;
BITMAPINFOHEADER bmih;
RGBQUAD aColors[];0
BYTE aBitmapBits[];
Chi tiết của cấu trúc file dạng BMP như sau:
OFFSET Count TYPE Description
000 0000h 2 char ID='BM' – BitMap OS/2 cũng hỗ trợ các dạng sau đây:
ID='BA' – mảng bitmap (Bitmap Array)
ID='CI' – biểu tượng màu (Color Icon)
ID='CP' – con trỏ màu (Color Pointer) (mouse cursor)
ID='IC' – biểu tượng (Icon)
ID='PT' – con trỏ (Pointer) (mouse cursor)
0002h 1 dword kích thước của tập tin
0006h 4 byte không sử dụng
000Ah 1 dword khoảng trống trong file bitmap ="BOF"
000Eh 1 dword chiều dài của BitMapInfoHeader bắt đầu trực tiếp sau phần tiêu đề này:
12 - theo địng dạng của OS/2 1.x
40 - theo địng dạng của Windows 3.x
64 - theo địng dạng của OS/2 2.x
0012h 1 dword những điểm ảnh ngang trong file bitmap
0016h 1 dword những điểm ảnh đứng trong file bitmap
001Ah 1 word số mặt phẳng
001Ch 1 word số Bits trên pixel (như vậy, đó chính là số màu) ="BPP"
001Eh 1 dword loại tập tin nén, có 3 loại nén khác nhau sau đây:
0 - none
1 - RLE 8-bit/Pixel
2 - RLE 4-bit/Pixel
0022h 1 dword số ký tự trong bức ảnh
0026h 1 dword độ phân giải ngang của ảnh
002Ah 1 dword độ phân giải đứng của ảnh
002Ah 1 dword số màu được sử dụng
002Ah 1 dword số màu quan trọng
0036h ? rec định nghĩa N màu
N=1 shl "BPP"
1 byte thành phần Blue
1 byte thành phần Green
1 byte thành phần Red
1 byte thành phần làm đầy
"BOF" ? byte dữ liệu ảnh
Tiêu đề file ảnh bitmap chứa đựng thông tin về lọai file ảnh, tổng kích thước của file ảnh, và cách trình bày một file ảnh bitmap thiết bị bất kỳ. Tiêu đề được định nghĩa như cấu trúc BITMAPFILEHEADER.
Thông tin tiêu đề ảnh bitmap, được định nghĩa như một cấu trúc BITMAPINFOHEADER. Chỉ rõ chiều rộng, chiều cao của ảnh, loại nén ảnh (không nén, nén theo giải thuật RLE4 hay RLE8) và khuôn dạng màu cho ảnh bitmap.
Bảng màu, được định nghĩa như một mảng các cấu trúc RGBQUAD bao gồm nhiều phần thử có màu trong ảnh bitmap. Bảng màu không hiện hữu cho ảnh bitmap với 24bits màu vì mỗi điểm được đại diện bởi các giá trị của 24 bit màu đỏ-xanh lục-xanh dương(RGB) trong vùng dữ liệu thật sự của ảnh bitmap. Những màu trong bảng màu xuất hiện theo thứ tự quan trọng. Điều này trả lại bộ phận điều khiển hiển thị ảnh bitmap trên một thiết bị hiển thị không được nhiều màu trong một ảnh bitmap.
Cấu trúc BITMAPINFOHEADER có thể được dùng để đại diện cho sự kết hợp giữa thông tin tiêu đề file bitmap và bảng màu. Những bit ảnh bitmap trực tiếp theo sau bảng màu, bao gồm mảng các giá trị BYTE đại diện cho các dòng liên tục nhau, “dòng quét” của ảnh bitmap. Mỗi dòng quét bao gồm các byte liên tục nhau đại diện cho các điểm ảnh trên dòng quét từ trái qua phải. Thứ tự các byte đại diện cho một dòng quét phụ thuộc vào khuôn dạng màu và chiều rộng tính bằng pixel của ảnh bitmap.
Cấu trúc BITMAPINFOHEADER xác định số bit được định nghĩa trong mỗi pixel và số màu lớn nhất trong ảnh bitmap. Có thể có những giá trị sau đây:
1 – Là ảnh bitmap chỉ có một màu và bảng màu chứa hai mục. Mỗi bit trong một mảng của ảnh bitmap đại diện cho một pixel. Nếu bit bị xóa (không được thiết lập), thì pixel được hiển thị với màu của mục đầu tiên trong bảng màu. Nếu bit được thiết lập, thì pixel được hiển thị với màu của mục thứ hau trong bảng màu.
4 – Là ảnh bitmap có tối đa 16 màu. Mỗi pixel trong ảnh bitmap được biểu thị bằng một chỉ số 4 bit màu bên trong bảng màu. Chẳng hạn, nếu byte đầu tiên trong ảnh bitmap là 0x1F thì byte đại diện cho hai pixel. Pixel đầu tiên chứa màu trong mục thứ hai của bảng màu và pixel thứ hai chứa màu trong mục thứ 16 của bảng màu.
8 – Là ảnh bitmap có tối đa 256 màu. Mỗi pixel trong ảnh bitmap được biểu thị bằng một chỉ số 1 byte bên trong bảng màu. Chẳng hạn, nếu byte đầu tiên trong ảnh bitmap là 0x1F thì pixel đầu tiên có màu của mục thứ 32 trong bảng màu.
24 – Là ảnh bitmap có tối đa 16777216 màu. Mỗi 3-byte theo thứ tự mảng trong ảnh bitmap đại diện cho cường độ tương đối của 3 màu đỏ, xanh, xanh dương theo thứ tự định sẳn trong một pixel.
Số màu thực sự trong bảng màu được sử dụng trong ảnh bitmap.
Một điều đặc biệt nhất về các ảnh bitmap của Windows là các byte được lưu trữ từ bên trên xuống dưới. Dòng cuối cùng trong ảnh bitmap sẽ được lưu trữ đầu tiên, còn dòng đầu tiên sẽ được lưu trữ cuối cùng.
Các giải thuật nén ảnh bitmap:
Phiên bản 3.0 của Windows và các bản về sau này hỗ trợ định dạng RLE(Run-Length Encoded) để nén ảnh bitmap mà sử dụng 4 bit trên pixel và 8 bit trên pixel. Nén làm giảm dung lượng của đĩa cứng và bộ nhớ khi phải lưu trữ cho một ảnh bitmap. Nếu loại nén trong thông tin tiêu đề file bitmap là 0 thì nén không được sử dụng, nếu loại nén là 1 thì ảnh sử dụng giải thuật nén là RLE8 còn nếu loại nén là 2 thì ảnh sử dụng loại nén là RLE4.
Nén ảnh bitmap 8 bit trên pixel:
Là loại nén cho một ảnh có 256 màu. Định dạng này sử dụng 2 chế độ: chế độ mã hóa và chế độ tuyệt đối. Cả 2 chế độ có thể xuất hiện bất cứ nơi nào khắp cả một ảnh bitmap đơn.
Chế độ mã hóa:
Một đơn vị thông tin bên trong chế độ mã hóa bao gồm có 2 byte. Byte đầu tiên chỉ rõ số những pixel liên tục nhau để vẽ sử dụng chỉ số màu được chứa trong byte số 2. Byte đầu tiên trong 2 byte có thể thiết lập về 0 để thóat khỏi sự chỉ định mà chỉ rõ là cuối của một dòng, cuối một ảnh bitmap hay một vùng nào đó. Giải thích về việc kết thúc phụ thuộc vào giá trị trong byte thứ 2 trong 2 byte, mà chỉ cho phép giới hạn trong khoảng 0x00 đến 0x02. Sau đây giải thích cho giá trị kết thúc mà có thể được sử dụng trong byte thứ 2.
Byte thứ 2
Ý nghĩa
0
Cuối dòng
1
Cuối ảnh bitmap
2
Trong một vùng nào đó
Chế độ tuyệt đối:
Trong chế độ tuyệt đối có một điểm đáng chú ý là byte đầu tiên trong một cặp được thiết lặp bằng 0 và byte thứ 2 có giá trị trong khỏang 0x03 đến 0xFF. Byte thứ 2 đại diện cho số byte theo sau, mỗi byte theo sau chứa chỉ số màu của một điểm ảnh đơn. Mỗi lần thực thi nó phải canh chỉnh lại biên của một từ.
Nén ảnh bitmap 4 bit trên pixel:
Tương tự như phần nén ảnh bitmap 8 bit trên pixel chỉ có khác là sử dụng giải thuật nén cho ảnh bitmap có 16 màu.
Chế độ mã hóa:
Một đơn vị thông tin bên trong chế độ mã hóa bao gồm có 2 byte. Byte đầu tiên chỉ rõ số những pixel liên tục nhau để vẽ sử dụng chỉ số màu được chứa trong byte số 2. Byte thứ 2 chứa chỉ số của 2 màu, một màu trong 2 màu lấy thứ tự cao và màu còn lại lấy thứ tự thấp.
Chế độ tuyệt đối:
Trong chế độ tuyệt đối, byte đầu tiên chứ số 0, byte thứ 2 chứa chỉ số của màu và byte theo sau chứa chỉ số màu lấy thứ tự cao và thấp bên trong nó, mỗi chỉ số màu cho mỗi pixel. Mỗi lần thực thi nó phải canh chỉnh lại biên của một từ.
1.1.2. Định dạng file ảnh JPEG/JPG:
Chuẩn ảnh theo dạng JPEG/JPG là một chuẩn nén ảnh có sự mất mát dữ liệu (nhưng có hiệu quả: kích thước tập tin nhỏ hơn rất nhiều so với tập tin dạng BMP, chất lượng ảnh cũng không thay đổi nhiều, ... nên nó hay được sử dụng nhiều trên Web và những việc xử lý ảnh hiện nay).
Cấu trúc định dạng của một khối JPEG (tất cả dữ liệu đều nằm trong byte Motorola):
OFFSET Sốbyte Loại Mô tả
0000h 1 word Block ID
0FFD8h - JPEG ký hiệu khối (4 chars="JFIF")
0FFC0h - JPEG thông tin về màu
0FFC1h - JPEG thông tin về màu
0002h 1 word kích thước byte trong khối, không tính ID word.
Thông tin màu của định dạng JPEG (thứ tự byte Motorola) :
OFFSET Sốbyte Loại Mô tả
0000h 1 byte 1 = ảnh xám
0001h 1 word chiều cao
0003h 1 word chiều rộng
1.1.3. Định dạng file ảnh TIFF (Tag Image File Format):
Là một thẻ được dựa trên định dạng file mà được thiết kế để đẩy mạnh việc thay đổi dữ liệu ảnh kỹ thuật số.
Kịch bản tổng quát của loại ảnh TIFF được phát minh với giả thuyết rằng những ứng dụng phần mềm cho việc quét và vẽ ảnh tạo ra một file theo dạng TIFF, mà sau đó có thể đọc và hợp nhất vào trong một tài liệu hoặc công bố bởi một ứng dụng như một gói chế bản điện tử.
Chủ ý của TIFF sẽ tổ chức và lập điều lệ thực hành hiện hữu đối với định nghĩa và cách dùng được thiết kế sao cho dữ liệu số gọn nhẹ, không lan rộng ra những hướng đi mới hoặc đẩy mạnh những kỹ thuật chưa được chứng minh. Vậy mà một quyền ưu tiên rất cao được đưa ra cho một cấu trúc dữ liệu bên trong một cách như vậy như việc làm giảm bớt đi nổi khó nhọc, mất công sức cho việc thêm vào sau này. TIFF được thiết kế là một khuôn dạng cho sự trao đổi rất dễ mở rộng sau này.
Mặt dù TIFF đòi hỏi trong một hướng nào đó một giàu định dạng, nó có thể dễ dàng sử dụng cho những scanner và những ứng dụng đơn giản nữa, một khi người phát triển ứng dụng cần chỉ được quan tâm với những khả năng mà anh ta yêu cầu.
TIFF được dự định độc lập cho những hệ điều hành đặc biệt, sắp xếp những hệ thống, những trình biên dịch và những bộ xử lý. Chỉ có ý nghĩa giả thiết rằng môi trường lưu trữ khỏang chừng một file được định nghĩa theo thứ tự bytes 8 bit. Nơi mà bytes ghi số từ 0 đến N. File TIFF có thể lớn nhất là 2*32 bytes. Vì những con trỏ được sử dụng tự do nên một file TIFF hầu như đọc dễ dàng từ một thiết bị truy cập ngẫu nhiên, mặc dầu nó có đọc và ghi file TIFF trên phương tiện truyền thông liên tục như băng ghi âm.
Nhiều chương trình ứng dụng mà đọc những nội dung của file hình ảnh TIFF sẽ không hỗ trợ tất cả các đặc tính mô tả trong tài liệu này. Trong vài trường hợp những phương án chọn mặc định nhỏ bé hơn sẽ được hỗ trợ. Nó lên trên tới mỗi tổ chức để xác định những giá và những lợi ích liên quan đến những mức khác nhau của sự phù hợp. Bởi vậy những tuyên bố phù hợp với thuyết minh này với số lượng nhắc nhở nhất định. Nó đi theo mà cách dùng của thuyết minh này không loại trừ cho phối hợp giữa người viết ra file hình ảnh và người đọc file hình ảnh. Chính lên trên tới người thiết kế ứng dụng mà đầu tiên viết một file trong khuôn dạng này để xác minh mà những tùy chọn file mong muốn được hỗ trợ bởi những ứng dụng mà sẽ đọc file.
Cấu trúc:
Trong file TIFF, những lĩnh vực riêng lẽ sẽ được xác định với một thẻ duy nhất. Điều này cho phép những lĩnh vực đặc biệt hiện hữu và vắng mặt từ file được yêu cầu bởi ứng dụng. Vài file TIFF sẽ chỉ có một ít lĩnh vực trong chúng nhưng những loại file khác thì sẽ có nhiều lĩnh vực. Phần mềm mà tạo ra những file TIFF cần phải viết ra trong nhiều lĩnh vực mà nó tin tưởng sẽ đầy ý nghĩa và hữu ích (và không hơn). Những phần mềm đọc file dạng TIFF sẽ là tốt nhất với những lĩnh vực mà nó tìm thấy ở đó.
Chính cấu trúc TIFF không phải là đặc biệt cho những ứng dụng tạo ảnh bên trong bất kỳ cách nào. Nó chỉ định nghĩa trong những lĩnh vực mà cùng mô tả một hình ảnh. Một hình ảnh được định nghĩa là một mảng hình chữ nhật những điểm, mỗi ảnh bao gồm một hay nhiều hơn một mẫu. Với dữ liệu đơn sắc, chúng ta có một mẫu trên điểm, mẫu và điểm có thể được sử dụng để thay thế cho nhau được. Với dữ liệu màu thông thường chứa 3 mẫu điểm, chẳng hạn một sơ đồ RGB.
1.1.4. Định dạng file ảnh GIF (Graphices Interchange Format):
Ảnh GIF được tạo ra bởi công ty CompuServe như là một chuẩn cho việc lưu trữ và chuyển đổi thông tin đồ họa được dựa trên đường quét, nghĩa là các hình ảnh. Một file ảnh GIF có thể chứa nhiều hình ảnh bên trong, mà được hiển thị chồng lên và không có bất kỳ thời gian trì hoãn nào giữa các bức ảnh. Bản thân dữ liệu theo dạng GIF được nén theo giải thuật LZW. Giải thuật LZW được phát minh bởi UniSys và kể từ tháng 1/1995 là thành viên của CompuServe. File ảnh GIF bao gồm các thông tin tiêu đề chung, một hoặc nhiều hơn khối ảnh và không bắt buộc phải có phần mở rộng (phần đuôi) là GIF.
OFFSET Count TYPE Description
0000h 6 char ID='GIF87a', ID='GIF89a'
Số ID này được xem như một số version
0006h 1 word chiều rộng ảnh
0008h 1 word chiều cao ảnh
000Ah 1 byte bit được ánh xạ
0-2 - bits per pixel -1
3 - không sử dụng
4-6 - các bit màu
7 - bảng màu chung cho phép mô tả ảnh
000Bh 1 byte chỉ số màu của màm hình nền
000Ch 1 byte không sử dụng
Màu chung ánh xạ tức thì cho phép miêu tả màn hình và có kích thước (2*bit/pixel) và có chế độ màu RGB cho mỗi chỉ số màu, số 0 là không có màu còn số 255 là số màu tối đa (cường độ màu tối đa). Các byte được lưu trữ theo định dạng sau đây:
OFFSET Số byte Loại Mô tả
0000h 1 byte thành phần Red
0001h 1 byte thành phần Green
0002h 1 byte thành phần Blue
Sau hình ảnh đầu tiên, có thể có nhiều ảnh được gắn thêm vào bên trong file, mà nó được chồng lên hình ảnh đầu tiên hoặc một phần của ảnh đầu tiên. Bộ mô tả ảnh định nghĩa nơi đặt thật sự và phạm vi cho phép ảnh bên trong dấu cách được định nghĩa bên trong bộ mô tả màn hình. Bộ mô tả ảnh được đưa vào bằng một ký tự phân cách ảnh. Vai trò của bộ tách ảnh thường là cung cấp mộ ký tự đồng bộ để đưa vào một bộ mô tả ảnh, ký tự phân chia các ảnh được định nghĩa là dấu phẩy, có mã là 02Ch. Bất kỳ các ký tự đụng nhau phần cuối của ảnh trước và ký tự phân cách ảnh được bỏ qua.
Định dạng của bộ mô tả ảnh trông giống như sau:
OFFSET Số byte Loại Mô tả
0000h 1 char bộ phân tách ảnh
ID=','
0001h 1 word đoạn bên trái ảnh
0003h 1 word đoạn trên ảnh
0005h 1 word chiều rộng ảnh
0007h 1 word chiều cao ảnh
0009h 1 byte mô tả bảng màu bitmapped
0-2 – số bit.pixel-1
3-5 – không sử dụng (0)
6 – ảnh đan xen/tuần tự
7 – màu ánh xạ cục bộ/toàn cục, bỏ qua bit 0-2
1.2. CÁC PHÉP BIẾN ĐỔI TRONG ĐỒ HỌA HAI CHIỀU:
Một trong những ưu điểm quan trọng của đồ họa là cho phép dễ dàng thao tác lên các đối tượng đã được tạo ra. Một nhà quản lí có nhu cầu thu nhỏ các biểu đồ trong một báo cáo, một kiến trúc sư muốn nhìn tòa nhà ở những góc nhìn khác nhau, một nhà thiết kế muốn quan sát và chỉnh sữa các mẫu đối tượng trong quá trình thiết kế, ... Tất cả các thao tác này có thể được hỗ trợ một cách dễ dàng nhờ vào các phép biến đổi hình học. Các phép biến đổi hình học sẽ làm thay đổi về tọa độ của các đối tượng, từ đó làm cho đối tượng bị thay đổi về hướng, kích thước và hình dạng. Các phép biến đổi hình học cơ sở bao gồm : tịnh tiến {translation}, quay {rotation} và biến đổi tỉ lệ {scaling}. Ngoài ra một số phép biến đổi khác cũng thường được áp dụng đó là phép đối xứng {reflection} và biến dạng {shearing}.
Có hai quan điểm về phép biến đổi hình học đó là: biến đổi đối tượng (object transformation) và biến đổi hệ tọa độ (coordinate transformation). Biến đổi đối tượng là thay đổi tọa độ của các điểm mô tả nó theo một quy tắc nào đó.
Còn biến đổi hệ tọa độ là tạo ra một hệ tọa độ mới và tất cả các điểm mô tả đối tượng sẽ đượng chuyển về hệ tọa độ mới. Hai các này có những mối liên hệ chặt chẽ với nhau và mỗi cách có những lợi thế riêng.
1.2.1. Các phép biến đổi hình học cơ sở:
Một phép biến đổi hai chiều sẽ biến đổi điểm P trong mặt phẳng thành điểm có tọa độ mới Q theo một quy luật nào đó. Về mặt bản chất, một phép biến đổi điểm là một ánh xạ T được định nghĩa:
T: R2->R2
P(x,y)->Q(x’,y’)
Nói cách khác, T là hàm số T(x,y) theo hai biến (x,y):
Phép biến đổi affine là phép biến đổi với f(x,y) và g(x,y) là các hàm tuyến tính. Phép biến đổi này có dạng:
,a,b,c,d,e,f Ỵ R, ad-bc¹0