Tải bản đầy đủ (.doc) (59 trang)

Phương pháp đơn giản hóa đường cong và đa giác

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.35 MB, 59 trang )

PHẦN MỞ ĐẦU

Hiện nay, cùng với sự phát triển của xã hội, vấn đề về tìm kiếm, lưu trữ
và truyền tải thông tin đang rất được quan tâm tại mọi quốc gia trên thế giới.
Đặc biệt là đối với thông tin dạng hình ảnh. Các hệ thống thu, nhận và xử lí
hình ảnh được ra đời với độ chính xác ngày càng cao. Một trong các bài toán
về xử lí ảnh là giảm dung lượng của hình ảnh mà vẫn giữ được hình ảnh gần
như ban đầu. Vì giảm dung lượng hình ảnh sẽ giúp cho việc thu, nhận, xử lí
thông tin được nhanh chóng và hiệu quả hơn. Bên cạnh đó, việc thu thập, xử
lý và lưu trữ thông tin qua ảnh đang được quan tâm và ứng dụng rộng rãi
trong nhiều lĩnh vực. Với phương pháp đơn giản hóa đường cong số này
chúng ta có thể thu nhận được các thông tin hình ảnh như mong muốn. Cùng
với sự phát triển của khoa học máy tính đã tạo môi trường thuận lợi cho bài
toán đơn giản hóa đường cong. Một số các thuật toán đơn giản hóa đã ra đời
và có độ chính xác cao, tuy nhiên tùy vào từng thuật toán và giá trị ngưỡng cụ
thể mà cho ra những kết quả khác nhau.
Ngày nay việc xử lý tự động được ứng dụng ngày càng nhiều trong các hệ
thống điều khiển. Nhận dạng, xử lý ảnh, đồ hoạ, tổng quát hoá bản đồ và cụ
thể là phương pháp đơn giản hóa đường cong rất cần để thu gọn dữ liệu tăng
tốc độ xử lý giảm bớt không gian lưu trữ.
Mục đích của việc đơn giản hóa đường cong là giảm bớt các điểm dư thừa mà
vẫn giữ được hình dạng vốn có của nó. Một số thuật toán có thể tự động đơn
giản hóa giúp cho công việc trở nên nhanh chóng và dễ dàng hơn. Tuy nhiên,
mỗi thuật toán có những ưu nhược điểm khác nhau. Chính vì lý do đó, tôi đã
quyết định chọn đề tài “Phương pháp đơn giản hóa đường cong và đa giác”
là hướng nghiên cứu chính cho luận văn của mình.
Ngoài phần mở đầu, kết luận, tài liệu tham khảo và phụ lục, luận văn được tổ
chức thành ba chương với bố cục như sau:

1



Chương I: Khái quát về xử lý ảnh và đơn giản hóa đường cong.
Giớí thiệu khái quát bài toán đơn giản hóa đường cong và đa giác. Tình
hình nghiên cứu trong và ngoài nước về lĩnh vực. Các ứng dụng của việc đơn
giản hóa.
Chương II: Các phương pháp đơn giản hóa đường cong và đa giác
Thu thập và tìm hiểu các kết quả đã được nghiên cứu để phục vụ cho
việc so sánh thử nghiệm. Trình bày các giải pháp kỹ thuật, thuật toán nhằm
nâng cao chất lượng và độ chính xác cho kết quả.
Chương III: Chương trình thử nghiệm
Xây dựng và cài đặt chương trình thử nghiệm, bao gồm mô tả bài toán,
tập dữ liệu thử nghiệm, thiết kế hệ thống, cài đặt thuật toán và đánh giá kết
quả thử nghiệm.
Các kết quả đạt được:
• Trình bày tổng quan về tổng quát hóa đường cong và những ứng dụng
trong xử lý ảnh.
• Trình bày nội dung chi tiết về các phương pháp đơn giản hóa đường cong
như: Phương pháp điểm thứ n, phương pháp khoảng cách vuông góc,
phương pháp Angularity, phương pháp Reuman-Witkam, phương pháp
Bandwith, phương pháp hình tam giác, phương pháp Lang, phương pháp
Douglas-Peuker và ứng dụng của nó trong việc giải quyết một số khó khăn
trong quá trình xử lý và hiện thị bản đồ.
• Đánh giá các ưu nhược điểm của các phương pháp đơn giản hóa đường
cong tự động.
• Chương trình được viết bằng ngôn ngữ Visual C++ 6.0 chủ yếu là mô phỏng
các thuật toán bẵng dữ liệu là các đường cong đã có sẵn với ba thuật toán

2



đơn giản hóa. Đơn giản hóa đường cong được ứng dụng rất có hiệu quả
trong các lĩnh vực khác nhau, bao gồm các hệ thống thông tin địa lý (GIS),
đồ họa, xử lý ảnh, và nén dữ liệu. Một trong những ứng dụng quan trọng
nhất là để khái quát hóa bản đồ. Các thuật toán này trong tương lai khi
được áp dụng vào tệp dữ liệu ảnh bản đồ sinh ra từ các tệp chuẩn sẽ thu
được kết quả rất tốt phục vụ cho công việc xử lý tự động hóa ảnh bản đồ
Việt Nam.

3


CHƯƠNG I
KHÁI QUÁT VỀ XỬ LÝ ẢNH VÀ ĐƠN GIẢN HÓA ĐƯỜNG CONG

1.1. Giới thiệu chung về xử lý ảnh.
Trong thực tế ảnh là một vùng liên tục về không gian và giá trị độ sáng,
màu sắc được đưa vào máy tính là một ma trận hai chiều tập của các số
nguyên mô tả ảnh. Như vậy trước khi đưa vào máy tính ta phải rời rạc hóa
ảnh bằng cách biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông qua quá
trình lấy mẫu và lượng hóa thành phần giá trị. Trong quá trình này, người ta
sử dụng khái niệm đơn vị ảnh cơ sở mà ta quen gọi là Pixel (điểm ảnh). Như
vậy, ảnh là một tập hợp các điểm ảnh. Khi được số hóa, nó sẽ được biểu diễn
bởi một ma trận hai chiều mà trong đó mỗi phần tử là một giá trị nguyên hoặc
một vectơ cấu trúc màu.
Xử lý ảnh là dùng các kỹ thuật xử lý để biến đổi một ảnh sang ảnh mới
theo mục đích của người sử dụng. Xử lý ảnh bao gồm các phương pháp và kỹ
thuật biến đổi, truyền tải hoặc mã hóa các ảnh tự nhiên như dịch, xoay, làm
rõ, xóa lỗi... Cũng như xử lý dữ liệu bằng đồ hoạ, xử lý ảnh số là một lĩnh vực
của tin học ứng dụng. Tuy nhiên, xử lý dữ liệu bằng đồ hoạ đề cập đến những
ảnh nhân tạo, các ảnh này được xem xét như là một cấu trúc dữ liệu và được

tạo ra bởi các chương trình. Đồ hoạ máy tính chủ yếu là tổng hợp các hình
ảnh, trong khi xử lý ảnh là phân tích các ảnh tìm ra các dấu hiệu cơ bản đặc
trưng cho ảnh.
Các vấn đề cơ bản của xử lý ảnh gồm: biểu diễn ảnh, tăng cường chất
lượng ảnh, khôi phục ảnh, biến đổi ảnh, phân tích ảnh, nhận dạng ảnh, nén
ảnh...
1.1.1. Tổng quan về một hệ thống xử lý ảnh.
Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng
vai trò quan trọng nhất. Những năm trở lại đây với sự phát triển của phần

4


cứng máy tính, xử lý ảnh và đồ hoạ đó phát triển một cách mạnh mẽ và có
nhiều ứng dụng trong cuộc sống. Xử lý ảnh và đồ hoạ đóng một vai trò quan
trọng trong tương tác người máy.
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào
nhằm cho ra kết quả mong muốn. Kết quả đầu ra của một quá trình xử lý ảnh
có thể là một ảnh “tốt hơn” hoặc một kết luận.
Ảnh “tốt hơn”
Ảnh

XỬ LÝ ẢNH
Kết luận

Hình 1.1: Quá trình xử lý ảnh
Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem
như là đặc trưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó
của đối tượng trong không gian và nó có thể xem như một hàm n biến P(c1,
c2,..., cn). Do đó, ảnh trong xử lý ảnh có thể xem như ảnh n chiều.

Một hệ thống xử lý ảnh hoàn chỉnh bao gồm: thu nhận ảnh, tiền xử lý,
nhận dạng, phân tích ảnh, ra quyết định (Hình1.2).
Lưu trữ

CAMERA

Thu
nhận
ảnh

SENSOR

Nhận
dạng

Phân
tích
ảnh

Số
hoá

Lưu trữ

Hệ quyết
định

Hình 1.2: Cấu trúc của một hệ xử lý ảnh.
Ảnh được số hóa thông qua camera, scaner, máy chụp X-quang, máy
ảnh số,… Ảnh cũng có thể được thu nhận từ vệ tinh qua các bộ cảm ứng.


5


Tiếp theo là quá trình số hóa để biến đổi tín hiệu tương tự sang tín hiệu rời
rạc. Sau đó ảnh được lưu trữ dưới dạng tệp tin trên máy tính theo một định
dạng ảnh chuẩn.
Tiền xử lý là công việc tăng cường ảnh để nâng cao chất lượng ảnh.
Các thao tác tiền xử lý bao gồm: xóa nhiễu, làm trơn biên, khôi phục ảnh, làm
nổi ảnh, tách cạnh,... Sau đó, ảnh có thể được nén để giảm không gian lưu trữ
do kích thước ảnh thông thường là rất lớn.
Trích chọn dấu hiệu: mỗi đối tượng trong ảnh có các đặc trưng riêng. Các
đặc trưng này được trích chọn phụ thuộc vào phương pháp nhận dạng. Trong
một ứng dụng có nhiều phương pháp nhận dạng, mỗi phương pháp nhận dạng
lại có nhiều phương pháp chọn dấu hiệu khác nhau. Trích chọn dấu hiệu có
thể là phát hiện các đặc tính như biên, phân vùng ảnh, trích chọn các đặc
tính... Từ đó có thể nhận dạng được ảnh thông qua những dấu hiệu đã trích ra
với sai số cho phép.
Nhận dạng là quá trình nhận biết và đánh giá các nội dung của ảnh qua
việc phân tích một hình ảnh thành những phần có nghĩa đề phân biệt đối
tượng này với đối tượng khác. Dựa vào đó ta có thể mô tả cấu trúc của hình
ảnh ban đầu. Có thể liệt kê một số phương pháp nhận dạng cơ bản như nhận
dạng biên của các một đối tượng trên ảnh, tách cạnh, trích xương ảnh, phân
đoạn hình ảnh,... Kỹ thuật này được dùng nhiều trong y học (xử lý tế bào,
nhiễm sắc thể), nhận dạng chữ trong văn bản, nhận dang vân tay,...
Hậu xử lý là giai đoạn cuối của quá trình xử lý ảnh dựa trên kết quả ta
có thể so sánh, phân tích đưa ra các kết quả nhận dạng, ví dụ ta nhận ra những
khuôn mặt của tội phạm, đồ vật mẫu, bản đồ địa hình, ... Kết quả ra của việc
nhận dạng là giúp cho con người trong các xử lý tự động cần chính xác, kịp
thời, nhanh chóng.


6


1.1.2. Các vấn đề cơ bản của xử lý ảnh
1.1.2.1. Biểu diễn ảnh
Ảnh có thể biểu diễn dưới dạng tín hiệu tương tự hoặc tín hiệu số.
Trong biểu diễn số của các ảnh đa mức xám, một ảnh được biểu diễn dưới
dạng một ma trận hai chiều. Mỗi phần tử của ma trận biểu diễn cho mức xám
hay cường độ của ảnh tại vị trí đó. Mỗi phần tử trong ma trận được gọi là một
phần tử ảnh, thông thường kí hiệu là PEL (Picture Element) hoặc là điểm ảnh
(Pixel).
Trong quá trình xử lý ảnh, một ảnh thu nhập vào máy tính phải được
mã hóa. Hình ảnh khi lưu trữ dưới dạng tập tin phải được số hóa. Tiêu chuẩn
đặt ra là ảnh phải được lưu trữ thế nào sao cho các ứng dụng khác nhau có thể
thao tác trên các loại dữ liệu này. Một số dạng ảnh đã được chuẩn hóa như
GIF, BMP, PCX, ICO, JPG...
Ảnh trên máy tính là kết quả thu nhận theo các phương pháp số hoá
được nhúng trong các thiết bị kỹ thuật khác nhau. Quá trình lưu trữ ảnh nhằm
2 mục đích:
• Tiết kiệm bộ nhớ
• Giảm thời gian xử lý
Việc lưu trữ thông tin trong bộ nhớ có ảnh hưởng rất lớn đến việc hiển
thị, in ấn và xử lý ảnh được xem như là 1 tập hợp các điểm với cùng kích
thước nếu sử dụng càng nhiều điểm ảnh thì bức ảnh càng đẹp, càng mịn và
càng thể hiện rõ hơn chi tiết của ảnh người ta gọi đặc điểm này là độ phân
giải.
Việc lựa chọn độ phân giải thích hợp tuỳ thuộc vào nhu cầu sử dụng và
đặc trưng của mỗi ảnh cụ thể, trên cơ sở đó các ảnh thường được biểu diễn
theo 2 mô hình cơ bản.


7


Mô hình Raster
Đây là cách biểu diễn ảnh thông dụng nhất hiện nay, ảnh được biểu
diễn dưới dạng ma trận các điểm (điểm ảnh). Thường thu nhận qua các thiết
bị như camera, scanner. Tuỳ theo yêu cầu thực thế mà mỗi điểm ảnh được
biểu diễn qua 1 hay nhiều bít
Mô hình Raster thuận lợi cho hiển thị và in ấn. Ngày nay công nghệ
phần cứng cung cấp những thiết bị thu nhận ảnh Raster phù hợp với tốc độ
nhanh và chất lượng cao cho cả đầu vào và đầu ra. Một thuận lợi cho việc
hiển thị trong môi trường Windows là Microsoft đưa ra khuôn dạng ảnh DIB
(Device Independent Bitmap) làm trung gian. Hình 1. thể hình quy trình
chung để hiển thị ảnh Raster thông qua DIB.
Một trong những hướng nghiên cứu cơ bản trên mô hình biểu diễn này
là kỹ thuật nén ảnh các kỹ thuật nén ảnh lại chia ra theo 2 khuynh hướng là
nén bảo toàn và không bảo toàn thông tin nén bảo toàn có khả năng phục hồi
hoàn toàn dữ liệu ban đầu còn nếu không bảo toàn chỉ có khả năng phục hồi
độ sai số cho phép nào đó. Theo cách tiếp cận này người ta đã đề ra nhiều quy
cách khác nhau như BMP, TIF, GIF, PCX…
Hiện nay trên thế giới có trên 50 khuôn dạng ảnh thông dụng bao gồm
cả trong đó các kỹ thuật nén có khả năng phục hồi dữ liệu 100% và nén có
khả năng phục hồi với độ sai số nhận được.

Hình 1.3: Quá trình hiển thị và chỉnh sửa, lưu trữ ảnh thông qua DIB
Một số mô hình thường được dùng trong biểu diễn ảnh: Mô hình toán,
mô hình thống kê. Trong mô hình toán, ảnh hai chiều được biểu diễn nhờ các
hàm hai biến trực giao gọi là các hàm cơ sở. Với mô hình thống kê, một ảnh


8


được coi là một phần tử của một tập hợp đặc trưng bởi các đại lượng như: kỳ
vọng toán học, hiệp biến, phương sai, moment.
Mô hình Vector
Biểu diễn ảnh ngoài mục đích tiết kiệm không gian lưu trữ dễ dàng cho
hiển thị và in ấn còn đảm bảo dễ dàng trong lựa chọn sao chép di chuyển tìm
kiếm… Theo những yêu cầu này kỹ thuật biểu diễn vector tỏ ra ưu việt hơn.
Trong mô hình vector người ta sử dụng hướng giữa các vector của điểm
ảnh lân cận để mã hoá và tái tạo hình ảnh ban đầu ảnh vector được thu nhận
trực tiếp từ các thiết bị số hoá như Digital hoặc được chuyển đổi từ ảnh Raster
thông qua các chương trình số hoá
Công nghệ phần cứng cung cấp những thiết bị xử lý với tốc độ nhanh
và chất lượng cho cả đầu vào và ra nhưng lại chỉ hỗ trợ cho ảnh Raster.
Do vậy, những nghiên cứu về biểu diễn vectơ đều tập trung từ chuyển
đổi từ
ảnh Raster.

Hình 1.4. Sự chuyển đổi giữa các mô hình biểu diễn ảnh
1.1.2.2. Khôi phục ảnh.
Do những nguyên nhân khác nhau như chất lượng thiết bị thu nhận ảnh,
do nguồn sáng hay do nhiễu, ảnh có thể bị suy biến. Do vậy cần phải khôi
phục lại các suy giảm của ảnh để làm nổi bật một số đặc tính chính của ảnh,
làm cho ảnh gần hơn với trạng thái trước khi ảnh bị biến dạng. Sau đó ta dùng
kỹ thuật tăng cường ảnh, đây là bước quan trọng, tạo tiền đề cho xử lý ảnh.
Nó gồm một loạt các kỹ thuật như: lọc độ tương phản, khử nhiễu, nổi màu
mục đích làm rõ nét hơn các đặc trưng của ảnh để cho việc nhận dạng dễ
dàng.
9



1.1.2.3. Biến đổi ảnh.
Thuật ngữ biến đổi ảnh thường dùng để nói tới một lớp các ma trận đơn
vị và các kỹ thuật dùng để lọc, biến đổi ảnh (kỹ thuật mặt nạ). Cũng như các
tín hiệu một chiều được biểu diễn bởi một chuỗi các hàm cơ sở, ảnh cũng có
thể được biểu diễn bởi một chuỗi rời rạc các ma trận cơ sở gọi là ảnh cơ sở.
Có nhiều loại biến đổi được dùng như :
• Biến đổi Fourier, Sin, Cosin, Hadamard,. . .
• Tích Kronecker
• Biến đổi KL (Karhumen Loeve): biến đổi này có nguồn gốc từ
khai triển của các quá trình ngẫu nhiên gọi là phương pháp trích
chọn các thành phần chính.
Do phải xử lý nhiều thông tin, các phép toán nhân và cộng trong khai
triển là khá lớn. Do vậy, các biến đổi trên nhằm làm giảm thứ nguyên của ảnh
để việc xử lý ảnh được hiệu quả hơn.
1.1.2.4. Phân tích ảnh
Phân tích ảnh liên quan đến việc xác định các độ đo định lượng của
một ảnh để đưa ra một mô tả đầy đủ về ảnh. Các kỹ thuật được sử dụng ở đây
nhằm mục đích xác định biên của ảnh. Có nhiều kỹ thuật khác nhau như lọc
vi phân hay dò theo quy hoạch động.
Người ta cũng dùng các kỹ thuật để phân vùng ảnh. Từ ảnh thu được,
người ta tiến hành kỹ thuật tách hay hợp dựa theo các tiêu chuẩn đánh giá
như: màu sắc, cường độ, ... Các phương pháp được biết đến như mảnh hóa
biên, nhị phân hóa đường biên. Cuối cùng, phải kể đến các kỹ thuật phân lớp
dựa theo cấu trúc của ảnh.

10



1.1.2.5. Nhận dạng ảnh
Nhận dạng tự động (automatic recognition), mô tả đối tượng, phân loại và
phân nhóm các mẫu là những vấn đề quan trọng trong thị giác máy, được ứng
dụng trong nhiều ngành khoa học khác nhau. Tuy nhiên, một câu hỏi đặt ra là:
mẫu (pattern) là gì? Watanabe, một trong những người đi đầu trong lĩnh vực
này đã định nghĩa: “Ngược lại với hỗn loạn (chaos), mẫu là một thực thể
(entity), được xác định một cách ang áng (vaguely defined) và có thể gán cho
nó một tên gọi nào đó”. Ví dụ mẫu có thể là ảnh của vân tay, ảnh của một vật
nào đó được chụp, một chữ viết, khuôn mặt người hoặc một ký đồ tín hiệu
tiếng nói. Khi biết một mẫu nào đó, để nhận dạng hoặc phân loại mẫu đó có
thể:
Hoặc phân loại có mẫu (supervised classification), chẳng hạn phân
tích phân biệt (discriminant analyis), trong đó mẫu đầu vào được định danh
như một thành phần của một lớp đã xác định.
Hoặc phân loại không có mẫu (unsupervised classification hay
clustering) trong đó các mẫu được gán vào các lớp khác nhau dựa trên một
tiêu chuẩn đồng dạng nào đó. Các lớp này cho đến thời điểm phân loại vẫn
chưa biết hay chưa được định danh.
Nhận dạng ảnh là quá trình liên quan đến các mô tả đối tượng mà người
ta muốn đặc tả nó. Quá trình nhận dạng thường đi sau quá trình trích chọn các
đặc tính chủ yếu của đối tượng. Có hai kiểu mô tả đối tượng:


Mô tả tham số (nhận dạng theo tham số)



Mô tả theo cấu trúc (nhận dạng theo cấu trúc).

Gần đây, một kỹ thuật nhận dạng mới dựa vào kỹ thuật mạng nơron

đang được áp dụng và cho kết quả khả quan cho những cơ sở dữ liệu ảnh quá
lớn. Trên thực tế, người ta đã áp dụng kỹ thuật nhận dạng khá thành công với
nhiều đối tượng khác nhau như nhận dạng vân tay, nhận dạng chữ. Nhận dạng

11


chữ in hoặc đánh máy phục vụ cho việc tự động hóa quá trình đọc tài liệu,
tăng nhanh tốc độ và chất lượng thu nhận thông tin từ máy tính. Nhận dạng
chữ viết tay (với mức độ ràng buộc khác nhau về cách viết, kiểu chữ, ...) phục
vụ cho nhiều lĩnh vực.
1.1.2.6. Nén ảnh
Nhằm giảm thiểu không gian lưu trữ. Thường được tiến hành theo cả
hai cách khuynh hướng là nén có bảo toàn và không bảo toàn thông tin. Nén
không bảo toàn thì thường có khả năng nén cao hơn nhưng khả năng phục hồi
thì kém hơn. Trên cơ sở hai khuynh hướng, có 4 cách tiếp cận cơ bản trong
nén ảnh:
Nén ảnh thống kê: Kỹ thuật nén này dựa vào việc thống kê tần xuất
xuất hiện của giá trị các điểm ảnh, trên cơ sở đó mà có chiến lược mã hóa
thích hợp.
Nén ảnh không gian: Kỹ thuật này dựa vào vị trí không gian của các
điểm ảnh để tiến hành mã hóa. Kỹ thuật lợi dụng sự giống nhau của các điểm
ảnh trong các vùng gần nhau.
Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theo hướng
nén không bảo toàn và do vậy, kỹ thuật thướng nến hiệu quả hơn.
Nén ảnh Fractal: Sử dụng tính chất Fractal của các đối tượng ảnh, thể
hiện sự lặp lại của các chi tiết. Kỹ thuật nén sẽ tính toán để chỉ cần lưu trữ
phần gốc ảnh và quy luật sinh ra ảnh theo nguyên lý Fractal.
Nén ảnh là việc hết sức cần thiết bởi nhu cầu lưu trữ dữ liệu ảnh cũng
như truyền tải trên mạng ngày càng tăng. Lượng thông tin để biểu diễn cho

một ảnh là rất lớn. Nén ảnh giúp giảm không gian lưu trữ và tăng tốc độ
truyền trên mạng. Nhiều phương pháp nén dữ liệu đã được nghiên cứu và áp
dụng cho loại dữ liệu đặc biệt này.

12


1.1.3. Ảnh nhị phân
Tuỳ theo vùng các giá trị xám của điểm ảnh, mà các ảnh được phân
chia ra thành ảnh màu, ảnh xám, ảnh nhị phân.
Ảnh nhị phân: Khi trên một ảnh chỉ tồn tại các giá trị 0 hoặc 1 thì ta nói
đó là một ảnh nhị phân hoặc ảnh đen trắng và các điểm ảnh của nó gọi là điểm
ảnh nhị phân mỗi điểm chỉ có giá trị đen hoặc trắng không có các mức xám
khác nhau.
Với ảnh xám: Nếu dùng 8 bit (1 byte) để biểu diễn mức xám, thì số các
mức xám có thể biểu diễn được là 28 hay 256. Mỗi mức xám được biểu diễn
dưới dạng là một số nguyên nằm trong khoảng từ 0 đến 255, với mức 0 biểu
diễn cho mức cường độ tối nhất và 255 biểu diễn cho mức cường độ
sáng nhất.
Với ảnh màu: Cách biểu diễn cũng tương tự như với ảnh đen trắng, chỉ
khác là các số tại mỗi phần tử của ma trận biểu diễn cho ba màu riêng rẽ gồm:
đỏ (red), lục (green) và lam (blue). Để biểu diễn cho một điểm ảnh màu cần
24 bit, 24 bit này được chia thành ba khoảng 8 bit. Mỗi khoảng này biểu diễn
cho cường độ sáng của một trong các màu chính tổ hợp của các màu ta được
nhiều mức biểu diễn, như vậy mỗi điểm ảnh có thể được mô tả rõ giá trị màu
tự nhiên của nó.
Ảnh đa cấp xám được áp dụng trong nhiều lĩnh vực như sinh vật học
hoặc trong công nghiệp. Thực tế chỉ ra rằng bất kỳ ứng dụng nào trên ảnh
mức xám cũng ứng dụng được trên ảnh màu. Ta có thể biến đổi ảnh màu về
ảnh xám. Mỗi điểm của ảnh màu có 3 giá trị (Red, Green, Blue), nếu 3 giá trị

này bằng nhau thì ta có màu xám (Grey), khi đó với mỗi điểm ảnh ta chỉ cần
lưu một giá trị của nó.
Xử lý ảnh nhị phân là một phương pháp quan trọng của kỹ thuật xử lý
ảnh. Vì thế phần này sẽ trình bày về ảnh nhị phân và cách chuyển ảnh màu,
ảnh đa cấp xám về ảnh nhị phân.
13


Việc xử lý ảnh nhị phân là một bước tiền xử lý các ảnh, để phân đoạn
và tách ra các đặc tính. Nhờ vậy ta có thể biết được mối quan hệ tôpô giữa các
điểm ảnh cũng như thực hiện các phép biến đổi ảnh không tuyến tính đạt hiệu
quả; trong quá trình xử lý ảnh các phép biến đổi này dẫn đến sự đơn giản hóa
việc đánh giá ảnh. Việc đếm các điểm ảnh trên ảnh nhị phân đã qua biến đổi
tạo điều kiện thuận lợi cho việc tách ra các đặc tính. Bằng cách sử dụng các
ảnh nhị phân đã qua xử lý như là những mặt nạ đối với các ảnh xám, ta có thể
tách ra các vùng đáng quan tâm của một ảnh xám từ tập hợp các ảnh.
Để tạo ra một ảnh nhị phân, một ảnh xám cần phải được biến đổi thành
một ảnh nhị phân nhờ một quá trình phân đoạn thích hợp. Muốn thế phương
pháp đơn giản nhất là phương pháp tách ngưỡng. Các giá trị nằm ở bên trên
ngưỡng được gán giá trị 1 còn ở bên dưới ngưỡng thì được gán giá trị 0. Việc
tìm giá trị ngưỡng có thể thực hiện tự động nhờ kĩ thuật tách ngưỡng tự động.
1.2. Các kỹ thuật xử lý ảnh.
1.2.1. Các phép toán tiền xử lý
Tiền xử lý là bước xử lý ban đầu sau khi nhận được ảnh từ thiết bị vào
(máy quét, camera số...). Mục đích của bước này là làm cho chất lượng ảnh
tốt hơn hoặc làm đơn giản ảnh đầu vào để việc xử lý ảnh sau đó được thực
hiện nhanh hơn. Ảnh đầu vào có thể chứa nhiễu, các đường cong bị đứt đoạn,
các đối tượng bị dính vào nhau, mờ nhạt giữa vùng ảnh và nền... Quá trình
tiền xử lý sẽ sử dụng các bộ lọc để xóa nhiễu, nối các đường cong bị đứt, tách
các đối tượng bị dính,... Các phép toán dò biên, tách cạnh, tìm xương cũng

thường được thực hiện để tìm ra các điểm cần quan tâm.
Khi ta chỉ quan tâm đến cấu trúc của đối tượng trong ảnh mà không cần
giữ lại màu sắc, bước tiền xử lý cũng giúp chuyển ảnh này sang ảnh đa cấp
xám hoặc ảnh nhị phân khi cần thiết (xử lý ảnh nhị phân đơn giản hơn và tốc
độ xử lý nhanh hơn nhiều và có rất nhiều thuật toán xử lý cho ảnh nhị phân).
Đây là một phương pháp quan trọng của xử lý ảnh số. Ảnh nhị phân cũng
14


thường được dùng như một mặt nạ để phân đoạn và tách ra các đặc trưng của
ảnh màu và ảnh đa cấp xám. Vì thế ở đây ta sẽ xem xét phương pháp chuyển
đổi một ảnh màu hay ảnh đa cấp xám về ảnh nhị phân.
1.2.2. Kỹ thuật dò tìm đường cong
Khi xử lý các ảnh, điều mà ta quan tâm là các đặc trưng của các đối
tượng trong ảnh như các đường biên, các điểm cụt, xương của ảnh... Ví dụ khi
xử lý bản đồ, ta cần lấy ra được các đường biên của bản đồ, các điểm giao
nhau của các đường. Số lượng đường cong trong ảnh thường là rất lớn và
không phải tất cả chúng đều có ích. Các ứng dụng vectơ hóa bản đồ thường
để người dùng lựa chọn các đường cần giữ lại thông qua chọn một điểm trên
đường cong bằng con trỏ chuột. Như vậy đầu vào cho thuật toán dò tìm
đường cong là một điểm bất kì trên đối tượng trong ảnh [2].
Thuật toán cần đưa ra được tập hợp các điểm liên tục của đường cong
biểu diễn cho đối tượng trong ảnh. Tập điểm này được dùng làm đầu vào cho
các thuật toán xử lý đường cong khác, ví dụ như đơn giản hóa đường cong.
- Chọn đối tượng trong ảnh
Chọn đối tượng trong ảnh thực chất là chọn một vùng ảnh liên tục trong
đó các điểm ảnh có giá trị bằng nhau. Ở bước thứ nhất trong thuật toán dò tìm
đường cong, với đầu vào là ảnh I và điểm chọn P, ta cần đưa ra một tập hợp
các điểm thuộc vùng ảnh liên tục A chứa điểm P trong I. Điều này được thực
hiện tương tự các thuật toán tô màu.

- Tìm xương của đối tượng ảnh
Sau khi chọn được vùng ảnh chứa đối tượng, ta cần tìm ra đường cong
mảnh biểu diễn cho đối tượng đó. Nếu đối tượng là các đường cong, ví dụ
đường biên của các bản đồ thì ta chỉ cần quan tâm đến xương của ảnh. Có rất
nhiều thuật toán tìm xương của ảnh như thuật toán tìm trục trung vị, thuật
toán tìm xương dựa trên các phép toán hình thái học, thuật toán làm mảnh, ...

15


1.3. Đơn giản hóa đa giác và ứng dụng.
Đơn giản hóa đa giác là một trong những đối tượng nghiên cứu kỹ
lưỡng nhất trong khái quát bản đồ. Nó làm giảm số lượng các đỉnh của một
chuỗi các đa giác để lại một hình đại diện ở một quy mô nhỏ hơn mà không
chứa những chi tiết không cần thiết. Bên cạnh đó, ứng dụng chính của nó
trong tổng quát hóa đóng góp đáng kể trong các hệ thống thông tin địa lý
(GIS), nó làm giảm dữ liệu của bản đồ kỹ thuật số để đẩy nhanh tiến độ xử lý
và hiển thị và để đồng nhất các bộ dữ liệu khác nhau trong quá trình tích hợp
dữ liệu. Một loạt các kỹ thuật đã được trình bày bởi các nhà nghiên cứu trong
các bối cảnh khác nhau như[Tobler 1964, Lang 1969, Reumann và Witkam
1974, Jenks 1981].
Trong bản đồ tự động, các thuật toán được sử dụng nhiều nhất là thuật toán cổ
điển Ramer - Douglas.- Peucker (RDP) [Ramer 1972, Douglas và Peucker
1973], thuật toán của Visvalingam [Visvalingam và Whyatt năm 1993] và
thuật toán của Wang và Müller [Wang và Müller 1998].
1.3.1. Khái niệm
Đơn giản hóa đa giác là hành vi chuyển đổi một mô hình đa giác thành
một phiên bản đơn giản hơn. Nó làm giảm số lượng đa giác cần thiết để đại
diện cho một mô hình trong khi cố gắng để giữ lại một hình dạng gần nhất với
hình xuất hiện ban đầu.

Đơn giản hóa đa giác như xấp xỉ đa giác bởi các hình cơ sở, Đơn giản
hóa đa giác của các hình ảnh 3D nhưng trong luận văn này thì đa giác có thể
hiểu là một đường cong có trùng điểm đầu và điểm cuối, có thể phân chia đa
giác thành hai đường cong bằng cách nối hai đỉnh xa nhất của đa giác. Đa
giác được nêu ở đây có thể chỉ là một tam giác nhưng cũng có thể là một đa
giác gồm n cạnh.

16


1.3.2. Tổng quan về đơn giản hóa đa giác.
Đa giác là các bản vẽ cơ bản nhất trong đồ họa máy tính. Chuyên ngành
đồ họa phần cứng máy tính có thể vẽ chúng một cách rất nhanh chóng và đa
giác có thể đại diện gần như giống nhất cho bất kỳ một mô hình nào. Nhưng
để đại diện cho một mô hình ba chiều thường đòi hỏi một số lượng lớn các đa
giác. Ví dụ trong lĩnh vực tìm kiếm làm mịn có thể cần đến ít nhất vài nghìn
đa giác.
Ngày nay, hệ thống đồ họa máy tính có thể vẽ hàng triệu đa giác mỗi giây.
Mặc dù có vẻ tương đối lớn nhưng để đại diện chính xác cho mô hình ba
chiều thì cũng cần đến khoảng 30.000 đa giác. Hiện nay việc thực hiện hàng
triệu đa giác là rất bình thường. Phần cứng đồ họa máy tính sẽ khó có thể theo
kịp trong các mô hình phức tạp hơn [4].
1.3.3. Ứng dụng trong khái quát hóa bản đồ
Đơn giản hóa dòng được sử dụng trong khái quát hóa bản đồ, làm giảm
sự phức tạp của một dòng mà vẫn giữ được các đặc điểm hình dạng cơ bản
vốn có của nó. Nó là một trong những cách được sử dụng nhiều nhất trong
lĩnh vực này bởi vì dòng phù hợp với gần 80% các đối tượng trong bản đồ mà
chúng ta thường gặp. Đơn giản hóa dòng được nghiên cứu từ những năm
1960 và cũng đã có nhiều các thuật toán trình bày cũng như được sử dụng
rộng rãi trong việc khái quát hóa. Đã có nhiều những nhận xét và đánh giá mà

chúng ta có thể tìm thấy trong các tài liệu để lựa chọn thuật toán cơ bản và
phù hợp.
Đơn giản hóa dòng một cách phù hợp không chỉ bao gồm làm giảm độ
phức tạp của dòng mà còn đảm bảo tính thống nhất của bản gốc và bản đồ
được đơn giản hóa. Một bản đồ được cho là phù hợp nếu nó giữ nguyên được
hình dạng tỉ lệ và giữ một độ sai số nhất định giữa các đối tượng của nó. Đơn
giản hóa dòng phù hợp rất được quan tâm trong lĩnh vực tổng quát hóa bản đồ
những năm gần đây. Các kết quả đầu tiên đã được công nhận từ giữa những
17


năm 1990. Hầu hết trong số này đều sử dụng phương pháp mà người ta gọi là
đơn giản hóa vùng, là trong một thời điểm dòng duy nhất được đơn giản hóa
cùng với sự xem xét trong vùng lân cận của nó. Cuối cùng sẽ thu được một
tập các dòng được đơn giản hóa và chúng được tái thiết lại để trở thành bản
đồ được đơn giản hóa.
Đơn giản hóa đa giác có hai ứng dụng chính. Thứ nhất là làm sạch biểu
hiện nhiễu của một đa giác, có thể thu được bằng cách quét một hình ảnh của
một đối tượng. Bằng cách xử lý hình ảnh, chúng tôi hy vọng để loại bỏ nhiễu
và tái tạo lại đối tượng ban đầu. Thứ hai là nén dữ liệu, một đối tượng lớn và
phức tạp, đơn giản hóa nó bằng cách làm giảm chi tiết. Quan trọng là cần đạt
được một đa giác với số lượng đỉnh ít nhất mà trông về cơ bản vẫn giống với
hình ban đầu. Đây là một bước đột phá quan trọng trong đồ họa máy tính,
thay thế một mô hình lớn với một mô hình nhỏ hơn có thể có ít tác động trực
quan, nhưng mất ít thời gian để có thể biểu diễn.

18


CHƯƠNG II

PHƯƠNG PHÁP ĐƠN GIẢN HÓA ĐƯỜNG CONG VÀ ĐA GIÁC

2.1. Các phương pháp đơn giản hóa đường cong.
Đơn giản hóa đường cong là một chức năng quan trọng trong bản đồ,
đại diện cho hình học topo và cũng được sử dụng rộng rãi trong các gói phần
mềm thương mại (GIS). Hầu hết các thuật toán đơn giản hóa đường cong đều
yêu cầu người sử dụng cung cấp một giá trị ngưỡng, giá trị ngưỡng này được
sử dụng để xác định mức độ đơn giản hóa được áp dụng. Ngoài ra các thuật
toán cũng có thể tự động đưa ra các giá trị ngưỡng và có thể đó là sự tự động
lựa chọn giá trị ngưỡng tối ưu tùy thuộc vào các biến thể trên tập dữ liệu.
Phần lớn các thuật toán đơn giản hóa đều không hoạt động bằng cách
xác định giá trị ngưỡng dự phòng này để tính toán và giữ lại các đặc điểm nổi
bật của đa giác. Hầu hết các Phương pháp đơn giản hóa đều lựa chọn các
điểm quan trọng dựa trên các mối quan hệ hình học topo và các điểm lân cận
nó, mức độ tìm kiếm ở khu vực lân cận này là rất khác nhau giữa các thuật
toán. Trong khi các Phương pháp đơn giản hóa chỉ duy trì hoặc loại bỏ các
điểm thì các thuật toán làm mịn sẽ cố gắng thay thế các điểm nhằm làm giảm
các góc cạnh sắc nét và đưa ra một đường thẳng với hình dạng trơn tru, mượt
mà hơn.
Tất cả các thuật toán đơn giản hóa đều tạo ra lỗi vị trí trong thiết lập dữ
liệu vì thực tế là nó tạo ra sự khác biệt giữa các dòng ban đầu và các phiên
bản đơn giản của nó. Số lượng lỗi này phụ thuộc vào giá trị ngưỡng và hình
dạng của chính các dòng đó. Điều quan trọng ở đây là duy trì một mức độ cụ
thể về chất lượng mà không phụ thuộc vào giá trị ngưỡng riêng biệt. Hơn thế
nữa, dòng đơn giản hóa bao gồm việc loại bỏ có chọn lọc các đỉnh dọc theo
một dòng để loại bỏ các thông tin không cần thiết. Việc xác định để loại bỏ
các thông tin không cần thiết là quá trình rất quan trọng vì nó ảnh hưởng trực
tiếp đến chất lượng hình ảnh trong các phiên bản đơn giản.
19



Để làm rõ sự cần thiết phải đơn giản hóa dòng và xem xét việc nên loại
bỏ dữ liệu như thế nào chúng ta lưu ý như sau:
• Giảm không gian lưu trữ: Một tập dữ liệu được làm giảm sẽ cho kết
quả truy xuất và quản lý nhanh hơn (vẽ lại và hiển thị trên màn hình)
• Xử lý vector nhanh hơn: Ví dụ việc đơn giản hóa đường biên của đa
giác sẽ làm giảm số lượng các phân đoạn. (điểm trùng hoặc giao tiếp
nhau)
• Giảm thời gian dựng hình.
Với nhiều lý do khác quy định được nêu trên, đã có rất nhiều phương
pháp đơn giản hóa đường cong và chúng đều có những ưu nhược điểm khác
nhau với các điều kiện cụ thể.
Các thuật toán đơn giản hóa có thể được nhóm lại như sau:


Phương pháp điểm độc lập



Phương pháp xử lý vùng



Phương pháp xử lý vùng mở rộng không ràng buộc



Phương pháp xử lý vùng mở rộng ràng buộc

2.1.1. Phương pháp điểm độc lập.

Các thuật toán điểm độc lập là khá đơn giản trong tự nhiên và không
xét đến các mối quan hệ toán học với các điểm xung quanh. Các thuật toán
nay cơ bản… Một ví dụ của phương pháp này đó là Phương pháp điểm thứ n.
Thuật toán điểm thứ n.
Kĩ thuật điểm thứ n là một phương trình O(n) thuật toán đơn giản hóa
đường gấp khúc. Nó cơ bản giữ lại điểm đầu tiên, điểm cuối cùng và điểm thứ
n trên dòng gấp khúc ban đầu. Chúng ta có thể thấy rằng kĩ thuật này là rất
hiệu quả trong việc tính toán tuy nhiên về độ chính xác thì không thể chấp

20


nhận được bởi vì nó không kiểm tra bất kỳ thông tin nào dọc theo đường gấp
khúc. (Hình 2.1).

Hình 2.1a: Đường cong ban đầu.

Hình 2.1b: Đường cong sau khi đơn giản hóa.
Hình 2.1: Thuật toán điểm thứ n
Hình minh họa trên cho thấy một hình nhiều nét gồm 10 đỉnh { v1, v2,
…. V10} và quá trình đơn giản hóa sử dụng kĩ thuật điểm thứ n với n = 3. Kết
quả đơn giản hóa bao gồm các đỉnh: { v1, v4, v7, v10}. Thuật toán là rất
nhanh nhưng không bảo toàn các tính năng hình dạng của dòng.
Để làm rõ hơn về vấn đề này ta cùng xem xét một hình 100 điểm ngẫu
nhiên (Hình 2.2).
Dòng gốc được thể hiện bằng màu đen và phiên bản đơn giản được thể
hiện bằng màu xám.

Hình 2.2: Thuật toán điểm thứ n cho một hình 100 điểm với n = 3


21


2.1.2. Phương pháp xử lý vùng.
Thuật toán khoảng cách vuông góc
Thể loại đơn giản hóa này liên quan đến mối quan hệ giữa hai hoặc ba
điểm liên tiếp của bản gốc. Mối quan hệ này đó là:
• Khoảng cách giữa hai điểm liên tiếp
• Khoảng cách vuông góc từ đường thẳng kết nối hai điểm đến một
điểm trung gian.
Các khoảng cách vuông góc này nếu nhỏ hơn giá trị ngưỡng thì điểm
trung gian sẽ bị loại bỏ và nếu lớn hơn sẽ được giữ lại

Hình 2.3a.

Hình 2.3b.

Hình 2.3c.
Hình 2.3: Minh họa thuật toán khoảng cách vuông góc.

22


Thuật toán Angularity
Tương tự như thuật toán khoản cách vuông góc nhưng thay việc tính
toán khoảng cách bởi tính góc. Cụ thể thuật toán bắt đầu với điểm đầu đường
cong (V1) là điểm chốt.

Hình 2.4: Đơn giản hóa đường cong với thuật toán Angularity
Điểm thứ 3 của đường cong (V 3) là điểm động, điểm giữa điểm chốt và

điểm động (V2) là điểm trung gian
Góc tạo bởi điểm chốt, trung gian, động với điểm trung gian là đỉnh
việc tính toán và kiểm tra
Nếu lớn hơn ngưỡng thì điểm trung gian có thể bỏ đi trong trường hợp ngược
lại điểm chốt sẽ là điểm trung gian cũ và quá trình lặp với điểm trung gian là
điểm động cũ, điểm động mới là điểm kế tiếp sau điểm động cũ. Tiến trình
thực hiện cho đến hết đường cong.
2.1.3. Phương pháp xử lý vùng mở rộng không ràng buộc
Các loại này thường mở rộng các kĩ thuật xử lý vùng thông thường và
không có ràng buộc để đánh giá mối quan hệ trên các phần của đường dây.
Thuật toán Reumann – Witkam thuộc vào loại này.
2.1.3.1. Thuật toán Reumann – Witkam
Kĩ thuật này tạo ra một dải băng và sẽ trải lên các đường gấp khúc ban
đầu bằng cách dịch chuyển dải băng này. Chiều dài và chiều rộng của dải
băng được xác định là giá trị ngưỡng hoặc do người sử dụng xác định, tính
toán, dải băng sẽ được trải lên các điểm liên tiếp nhau trên đường gấp khúc

23


ban đầu. Các dải đầu tiên được tạo ra bằng cách kết nối hai điểm đầu tiên của
đường cong, sau đó được chuyển dịch đến các điểm kế tiếp lân cận theo
hướng trùm các điểm vào trong của dải băng cho đến khi chạm vào đường
bao của dải băng. Theo các dải băng, với mỗi đỉnh v i được xem xét, tính toán
khoảng cách vuông góc với đường dây này. Chỉ số khóa mới được thiết lập ở
đỉnh vi-1 nếu khoảng cách này vượt quá giá trị ngưỡng quy định. Các đỉnh v i
và vi+1 được sử dụng để xác định một dòng và một dải băng mới.
Quá trình này được thực hiện lặp đi lặp lại cho đến khi đạt được điểm
cuối cùng của dường cong.


Hình 2.5a:Tạo một dải băng từ đỉnh v1 đến đỉnh v2 với độ dày được sử dụng
là giá trị ngưỡng được xác định. Nếu các điểm trung gian nằm trong giải
băng thì loại bỏ.

Hình 2.5b: Tạo một dải băng mới từ đỉnh v 2 đến đỉnh v3 với độ dày được sử
dụng là giá trị ngưỡng được xác định. Đỉnh cuối cùng bên trong giải băng
được lấy làm chốt là v4.

24


Hình 2.5c: Tiếp tục tạo một dải băng tương tự từ đỉnh v4 đến đỉnh v5. Đỉnh
cuối cùng bên trong giải băng được lấy làm chốt là v6.

Hình 2.5d: Tiến trình này tiếp tục cho đến khi giải băng bao trùm đến điểm
cuối cùng của đường cong ban đầu.
Hình 2.5: Thuật toán Reumann-Witkam cho đường cong 9 điểm
2.1.3.2. Thuật toán Band width
Trong thuật toán Band Width, ta hình dung có một dải băng di chuyển
từ đầu mút đường cong dọc theo đường cong sao cho đường cong nằm trong
di băng đó cho đến khi có điểm thuộc đường cong chạm vào biên của dải
băng, điểm này sẽ được giữ lại. Quá trình này được thực hiện với phần còn lại
của đường cong bắt đầu từ điểm vừa tìm được cho đến khi hết đường cong.
Cụ thể như sau:

Hình 2.6: Đơn giản hóa đường cong với thuật toán Band Width

25



×