ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA: TOÁN – TIN HỌC
CHUYÊN NGÀNH : PHƯƠNG PHÁP TOÁN TRONG TIN HỌC
WUX
Luaän vaên TOÁT NGHIEÄP
ÑEÀ TAØI:
Giáo Viên Hướng Dẫn : ThS. PHẠM THẾ BẢO
Giáo Viên Phản Biện : TS. NGUYỄN ĐÌNH THÚC
Sinh Viên Thực Hiện : NGUYỄN THỊ THANH NHÀN
LƯU HỮU THUẬN
NIÊN KHOÁ 1998 – 2002
i
NHẬN XÉT CỦA GIẢNG VIÊN
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
ii
LỜI CẢM ƠN
Đầu tiên, chúng em xin chân thành cảm ơn các thầy cô đã hết lòng chỉ bảo và dạy dỗ
chúng em trong suốt bốn năm học vừa qua.
Đặc biệt, chúng em xin bày tỏ lòng biết ơn sâu sắc đến thầy Phạm Thế Bảo và thầy
Hà Văn Thảo đã hướng dẫn chúng em hoàn thành đề tài này.
Chúng em xin cảm ơn khoa Toán – Tin học, Bộ môn Ứng dụng Tin học cùng các thầy
cô đã tạo mọi điều kiện thuận lợi và giúp đỡ rất nhiều trong quá trình thực hiện đề tài này.
Đồng thời, chúng em cũng xin cảm ơn khoa Sinh đã hỗ trợ dữ liệu cho đề tài.
Cuối cùng xin gởi lời cảm ơn chân thành nhất đến cha mẹ, người thân đã động viên
chúng em trên con đường học vấn.
iii
LỜI MỞ ĐẦU
Trong thời đại bùng nổ về công nghệ thông tin như hiện nay, máy vi tính ngày càng được
sử dụng rộng rãi trên tất cả các lĩnh vực từ nghiên cứu khoa học kỹ thuật đến các ứng dụng
trong cuộc sống hàng ngày. Máy vi tính có thể là người cộng sự hổ trợ đắc lực nhất của con
người. Bạn có tin rằng máy tính có thể “nhìn” được hay không ? Xuất phát từ những nhu cầu
thực tế, Thị giác máy tính đã ra đời và phát triển nhanh chóng trong sự quan tâm của mọi
người. Sự xuất hiện của Thị giác máy tính đã làm tăng khả năng ứng dụng của máy tính trong
nhiều lĩnh vực như: y tế, giáo dục, kinh tế, giao thông, quân sự,… Đây là một ngành rất rộng
lớn, nó liên quan đến việc xử lý hình học để tạo mô hình thế giới thực từ các ảnh 2D và thao
tác xử lý, phân tích ảnh nhằm phân lớp nhận biết và đếm đối tượng.
Trong Sinh học, việc nhận biết, phân lớp và đếm đối tượng đặc biệt là hồng cầu và bạch
cầu nhằm góp phần vào việc sơ lược chẩn đoán bệnh là một vấn đề đã được đặt ra từ rất lâu.
Trước đây, công việc này chủ yếu được thực hiện bằng mắt thường, vì vậy mất nhiều thời
gian và độ chính xác không cao. Do đó, mục tiêu hướng tới của đề tài là ứng dụng Thị giác
máy tính để thay thế con người thực hiện thao tác đó nhằm làm tăng độ chính xác và rút ngắn
thời gian thực hiện.
Trong luận văn này, chúng em tìm hiểu những kiến thức liên quan đến thao tác xử lý
phân tích ảnh trong Thị giác máy tính đồng thời ứng dụng vào việc nhận biết, phân lớp và
đếm hồng cầu, bạch cầu trên ảnh bitmap.
Luận văn được chia thành 3 phần. Đầu tiên, chúng em tìm hiểu cấu trúc ảnh bitmap cùng
các khái niệm thao tác cơ bản của Thị giác máy tính liên quan đến việc xử lý phân tích ảnh.
Kế đến, chúng em đề cập đến các phương pháp cơ bản nhận biết, phân lớp và đếm đối tượng.
Và cuối cùng, chúng em đưa ra hướng giải quyết cụ thể cho việc đếm số lượng hồng cầu,
bạch cầu trên ảnh bitmap.
Phạm
Thế Bảo
Digitally signed by Phạm Thế Bảo
DN: cn=Phạm Thế Bảo, c=VN,
o=Khoa Tóan – Tin học trường Đại
học khoa học Tp.HCM, Vietnam,
ou=NCLAB,
email=ptbao@mathdep.hcmuns.
edu.vn
Reason: I am the author of this
document
Date: 2006.08.20 09:51:08
+07’00’
iv
MỤC LỤC
NHẬN XÉT CỦA GIẢNG VIÊN———————————————————————-i
LỜI CẢM ƠN——————————————————————————————– ii
LỜI MỞ ĐẦU —————————————————————————————— iii
MỤC LỤC———————————————————————————————– iv
CHƯƠNG 1 : TỔNG QUAN ẢNH——————————————————————- 1
1 Ảnh Bitmap —————————————————————————————– 1
1.1 Cấu trúc ảnh Bitmap————————————————————————– 1
1.1.1 Tiêu đề———————————————————————————— 1
1.1.2 Bảng màu ——————————————————————————— 2
1.1.3 Dữ liệu hình ảnh ————————————————————————- 2
1.2 Tính toán và lưu trữ trên ảnh —————————————————————- 2
2 Ảnh Bi-level —————————————————————————————- 3
2.1 Giới thiệu ảnh Bi-level ———————————————————————– 3
2.2 Các khái niệm cơ bản————————————————————————- 3
2.2.1 Lân cận của 1 pixel ———————————————————————- 3
2.2.2 Đường đi ———————————————————————————- 4
2.2.3 Vùng đối tượng-Foreground———————————————————— 4
2.2.4 Sự liên kết——————————————————————————— 4
2.2.5 Vùng liên thông ————————————————————————– 4
2.2.6 Nền ảnh(Background) và lỗ trống(Hole) ——————————————— 4
2.2.7 Bao đóng và phần trong—————————————————————– 5
2.3 Các số đo cơ bản của vùng——————————————————————- 5
2.3.1 Diện tích ———————————————————————————- 5
2.3.2 Chu vi ————————————————————————————- 6
2.3.3 Chiều dài———————————————————————————- 6
2.3.4 Tâm của vùng —————————————————————————- 6
2.3.5 Số đo độ tròn(Circularity Measure) ————————————————— 7
2.3.6 Công thức xác định số đo dạng hình chữ nhật ————————————— 7
2.4 Một số thao tác đơn giản trên ảnh Bi-level ———————————————— 7
2.4.1 Xác định bao đóng———————————————————————– 7
2.4.2 Xác định trục chính của đối tượng( Principal axis)——————————— 8
2.4.3 Xác định diện tích hình chữ nhật nhỏ nhất chứa đối tượng———————— 8
2.4.3.1 Dựa vào phương pháp quay đối tượng——————————————- 8
2.4.3.2 Xây dựng hình chữ nhật nhỏ nhất bao đối tượng——————————- 8
2.4.4 Mở rộng ( Dilation ) và thu hẹp ( Erosion ) vùng đối tượng ———————– 9
2.4.5 Lọc xương đối tượng (Skeletonization) ———————————————- 9
2.4.6 Mã hóa theo dạng xích(Chain Code)————————————————-10
2.4.6.1 Giới thiệu Chain Code ————————————————————10
2.4.6.2 Một vài số đo được tính từ Chain Code —————————————-11
2.4.7 Mã hóa theo đường chạy(Run-Length Coding)————————————-11
3 Ảnh Grey-Level ———————————————————————————–13
3.1 Biểu đồ thống kê (Grey-Level histogram) ————————————————13
3.1.1 Giới thiệu ——————————————————————————–13
v
3.1.2 Các dạng của biểu đồ thống kê——————————————————–13
3.1.2.1 Biểu đồ thống kê đơn giản——————————————————–13
3.1.2.2 Biểu đồ thống kê thu gọn———————————————————13
3.1.3 Một vài giá trị được tính từ biểu đồ thống kê —————————————14
3.1.3.1 Giá trị trung bình(Mean)———————————————————-14
3.1.3.2 Giá trị Median———————————————————————-14
3.1.3.3 Độ lệch chuẩn ———————————————————————-14
3.2 Kỹ thuật Threshold ————————————————————————–14
3.2.1 Khái niệm——————————————————————————–14
3.2.2 Tìm ngưỡng đơn ————————————————————————15
3.2.2.1 Dựa vào giá trị trung bình (Mean) hoặc giá trị Median———————–15
3.2.2.2 Dựa vào dạng của biểu đồ——————————————————–15
3.2.2.3 Phương pháp chọn lặp nhiều lần (Iterative Selection) ————————15
3.2.2.4 Phương pháp sử dụng số đo độ thích hợp (Correlation)———————-15
3.2.3 Chọn nhiều ngưỡng (threshold) cho ảnh———————————————16
3.2.3.1 Chia ảnh thành các vùng chữ nhật———————————————–16
3.2.3.2 Phương pháp khoanh vùng các mức độ xám (Region Growing Method) –16
3.2.3.3 Phương pháp chia ảnh-gộp vùng ( Split and Merge Method)—————-17
3.3 Điều chỉnh ảnh Grey-level——————————————————————17
3.3.1 Phép biến đổi mức độ xám tuyến tính( Linear Grey-level Transformation) —-17
3.3.2 Phép biến đổi tuyến tính phân đoạn( Piecewise Linear Transformation)——–18
3.3.3 Thao tác cân bằng biểu đồ thống kê————————————————–18
3.4 Cạnh và đường thẳng ————————————————————————19
3.4.1 Cạnh ————————————————————————————–19
3.4.2 Nguyên tắc cơ bản: ———————————————————————19
3.4.2.1 Dựa vào sự thay giá trị cường độ xám theo chiều ngang hoặc dọc ———19
3.4.2.2 Dò cạnh theo một hướng bất kỳ————————————————-20
3.4.2.3 Phương pháp TM ——————————————————————22
3.4.2.4 Phương pháp DG ——————————————————————24
3.4.2.5 Các phương pháp khác————————————————————25
3.4.3 Đường ————————————————————————————27
3.5 Thao tác hình học —————————————————————————-31
3.5.1 Lấy vùng (windowing)—————————————————————–31
3.5.2 Tịnh tiến (translation) ——————————————————————31
3.5.3 Co (scaling)——————————————————————————32
3.5.4 Quay (rotation)————————————————————————–34
3.5.5 Biến dạng (warp)————————————————————————34
3.6 Điểm nhiễu (Noise) ————————————————————————–35
CHƯƠNG 2: NHẬN DẠNG – PHÂN LỚP – ĐẾM ĐỐI TƯỢNG——————————37
1 Nhận dạng và phân lớp đối tượng—————————————————————37
1.1 Đặc trưng (Feature) ————————————————————————–37
1.2 Phân tích mẫu thống kê ———————————————————————41
1.3 Phương pháp xác suất ———————————————————————–44
1.4 Phương pháp so mẫu đối tượng (Template Matching) ———————————-49
1.4.1 Đối tượng mẫu ————————————————————————–49
1.4.2 So mẫu trên ảnh Bi-level—————————————————————49
1.4.2.1 Độ liên kết chuẩn(Normalized Match Index) ———————————-49
vi
1.4.2.2 Phương pháp ———————————————————————–49
1.5 Phương pháp nhận dạng dựa vào cấu trúc (Structural method) ————————50
1.5.1 Một ví dụ cụ thể————————————————————————-50
1.5.2 Mô tả các thành phần cơ bản và các quan hệ—————————————-50
1.5.2.1 Mô tả các thành phần cơ bản và quan hệ giữa chúng theo dạng đồ thị. —-50
1.5.2.2 Mô tả các quan hệ theo cú pháp (Syntatic)————————————-52
1.5.3 Nhận biết các thành phần (Identifying Components)——————————53
1.5.3.1 Dựa vào mã theo dạng xích(Chain Code) ————————————–53
1.5.3.2 Dựa vào tính chất dây cung (Chord Property) ———————————55
1.6 Phương pháp bao đóng ———————————————————————-56
2 Đếm đối tượng————————————————————————————-59
2.1 Đếm số đối tượng trên một ảnh đơn giản ————————————————-59
2.2 Đếm số đối tượng trên ảnh phức tạp hơn ————————————————-59
2.2.1 Đếm số đối tượng dựa vào bao lồi—————————————————-60
2.2.2 Đếm số đối tượng dựa vào phương pháp so mẫu ———————————–62
2.2.3 Đếm số đối tượng chồng nhau dựa vào phương pháp phân chia đối tượng (
watershed method )—————————————————————————-62
2.3 Phân lớp các hạt trong ảnh——————————————————————63
CHƯƠNG 3: THUẬT TOÁN ĐẾM SỐ LƯỢNG BẠCH CẦU – HỒNG CẦU VÀ ĐÁNH
GIÁ——————————————————————————————————-66
1 Bài toán———————————————————————————————66
2 Hướng giải quyết———————————————————————————-67
2.1 Thuật toán tổng quan ————————————————————————68
2.2 Thuật toán chi tiết—————————————————————————-68
2.2.1 Trường hợp 1—————————————————————————-68
2.2.2 Trường hợp 2—————————————————————————-68
2.2.3 Trường hợp 3—————————————————————————-69
3 Đánh giá thuật toán ——————————————————————————-69
4 Mô tả cài đặt —————————————————————————————69
5 Giao diện chương trình ứng dụng —————————————————————71
6 Hạn chế và hướng phát triển———————————————————————72
6.1 Hạn chế—————————————————————————————-72
6.2 Hướng phát triển —————————————————————————–72
TÀI LIỆU THAM KHẢO—————————————————————————–73
Bài toán xử lý và phân tích để đếm các đối tượng ảnh hai chiều
Trang 1
CHƯƠNG 1 : TỔNG QUAN ẢNH
1 Ảnh Bitmap
1.1 Cấu trúc ảnh Bitmap
Tương tự với các loại ảnh khác, tập tin Bitmap (BMP) bao gồm:
• Tiêu đề (Header), phần này bao gồm:
o Tiêu đề tập tin (File header)
o Tiêu đề hình ảnh (Bitmap header)
• Bảng màu (Color map)
• Dữ liệu hình ảnh (Image data )
Hình sau đây minh họa cấu trúc ảnh Bitmap:
Hình 1.1: Cấu trúc ảnh bitmap
1.1.1 Tiêu đề
Phần tiêu đề bao gồm tiêu đề tập tin và tiêu đề hình ảnh.
+ Tiêu đề tập tin gồm các thông tin liên quan đến bản thân tập tin:
bfType: là vùng dài 2 byte, luôn chứa 2 kí tự ‘BM’ để thể hiện tập tin kiểu
Bitmap.
bfSize: là vùng dài 4 byte, cho biết kích thước tổng cộng của tập tin Bitmap.
bfReserved1 và bfReserved2: là 2 vùng, mỗi vùng dài 2 byte, 2 vùng này chừa
trống để dự phòng.
bfOffset: là vùng dài 4 byte, chỉ ra vị trí bắt đầu của vùng dữ liệu.
Image Data
(Dữ liệu hình ảnh)
………………….
Color Map
(Bảng màu)
Bitmap Header
(Tiêu đề hình ảnh)
File Header
(Tiêu đề tập tin)
biSize
biWidth
biHeight
biPlanes
biBitCount
biCompression
biSizeImage
biXPelsPerMeter
biYPelsPerMeter
biClrUsed
biClrImportant
bfType
bfSize
bfReserved (1)
bfReserved (2)
bfOffset
Bài toán xử lý và phân tích để đếm các đối tượng ảnh hai chiều
Trang 2
+ Tiêu đề hình ảnh gồm các chi tiết liên quan đến hình ảnh chứa trong tập tin:
biSize: là vùng dài 4 byte, cho biết kích thước vùng tiêu đề hình ảnh.
biWidth: là vùng dài 4 byte, cho biết chiều rộng của hình.
biHieght: là vùng dài 4 byte, cho biết chiều dài của hình.
biPlanes: là vùng dài 2 byte, luôn chứa giá trị 1.
biBitCount: là vùng dài 2 byte, cho biết số bit để diễn đạt trị số pixel, các giá
trị có thể là 1, 4, 8 hoặc 24.
biCompression: là vùng dài 4 byte, cho biết dữ liệu ảnh có được nén hay
không.
biSizeImage: là vùng dài 4 byte, cho biết kích thước bản thân ảnh đó.
biXPelsPerMeter và biYPelsPerMeter: là 2 vùng dài 4 byte, cho biết độ phân
giải theo chiều ngang và dọc.
biClrUsed: là vùng dài 4 byte, cho biết số màu trong bảng màu.
biClrImpotant: là vùng dài 4 byte, cho biết có bao nhiêu màu trong hình là
màu quan trọng.
1.1.2 Bảng màu
Bảng màu chỉ ra các giá trị cường độ màu được sử dụng trong ảnh .
Bảng màu có hay không, dài hay ngắn là tùy thuộc vào loại ảnh Bitmap.
1.1.3 Dữ liệu hình ảnh
Pixel được lưu trữ theo dòng, từ trái sang phải trong mỗi dòng. Những dòng được lưu trữ
từ dưới lên trên của bức ảnh.
1.2 Tính toán và lưu trữ trên ảnh
Một cảnh vật trong không gian ba chiều được thể hiện dưới dạng ảnh hai chiều trong máy
tính để có thể thao tác. Ảnh trên máy tính được lưu trữ dưới dạng những con số để có thể tính
toán khi thao tác với nó. Để làm được điều này, người ta dùng ảnh raster. Ảnh raster giống
như một ma trận số hai chiều, mỗi phần tử trong ma trận tương ứng với một pixel trên bức
ảnh.
Đề tài này, chúng em sử dụng ảnh Grey-level . Vì vậy dữ liệu hình ảnh sẽ được lưu trữ
trong một ma trận hai chiều mà mỗi phần tử có giá trị trong khoảng từ 0 đến 255 ứng với giá
trị màu của nó.
Bài toán xử lý và phân tích để đếm các đối tượng ảnh hai chiều
Trang 3
2 Ảnh Bi-level
2.1 Giới thiệu ảnh Bi-level
– Ảnh Bi-level là ảnh chỉ có 2 cường độ màu, thường là đen và trắng.
– Ảnh Bi-level có được từ ảnh màu bằng cách nén các cường độ màu đến khi chỉ còn hai
cường độ.
– Ảnh Bi-level được sử dụng để dễ dàng phân biệt các đối tượng với nền ảnh. Sau đó, đối
tượng có thể được nhận biết từ hình dạng, kích thước, phương hướng của nó.
Hình 2.1: Ảnh Bi-level gồm các tế bào hồng cầu và bạch cầu
2.2 Các khái niệm cơ bản
2.2.1 Lân cận của 1 pixel
– Một pixel P ở dòng i cột j trên bức ảnh raster (Kí hiệu: P[i,j]) nằm kề các pixel khác
theo sơ đồ sau:
8
1
2
(i-1,j-1)
(i-1,j)
(i-1,j+1)
7
0
3
(i,j-1)
(i,j)
(i,j+1)
6
5
4
(i+1,j-1)
(i+1,j)
(i+1,j+1)
Bài toán xử lý và phân tích để đếm các đối tượng ảnh hai chiều
Trang 4
– Pixel P mang số 0, các pixel lân cận được đánh số từ 1 đến 8. Lân cận dọc của P mang
số 1, 5; Lân cận ngang của P mang số 3, 7; Lân cận chéo của P mang số 2,4,6,8.
– Pixel Q là lân cận 4 của P nếu nó là lân cận dọc hoặc lân cận ngang của P.
– Pixel Q là lân cận 8 của P nếu nó là lân cận của P.
Hình 2.2.1: Lân cận 4
2.2.2 Đường đi
Một đường đi từ pixel P[i0,j0] đến pixel Q[in,jn] là một dãy các pixel P0[i0,j0], P1[i1,j1],
P2[i2,j2], … P[in,jn] thỏa điều kiện pixel Pk [ik,jk] là lân cận của pixel Pk+1 [ik+1,jk+1] với
1
0
:
−
≤
≤
∀
n
k
k
Hình 2.2.2: Đường đi
2.2.3 Vùng đối tượng-Foreground
Tập hợp tất cả các pixel đen trong ảnh được gọi là vùng đối tượng hay Foreground. Kí
hiệu : S.
2.2.4 Sự liên kết
Cho pixel P thuộc vùng đối tượng S, P liên kết với pixel Q thuộc S nếu có một đường đi
từ P đến Q gồm những pixel thuộc S.
2.2.5 Vùng liên thông
Tập hợp các pixel trong đó mỗi pixel liên kết với tất cả các pixel còn lại được gọi là vùng
liên thông.
Trong bài viết này dùng thuật ngữ đối tượng hoặc vùng để thay cho vùng liên thông.
2.2.6 Nền ảnh(Background) và lỗ trống(Hole)
Gọi U: toàn bộ không gian bức ảnh.
Đường đi 4
Đường đi 8
Bài toán xử lý và phân tích để đếm các đối tượng ảnh hai chiều
Trang 5
Đặt S = U-S;
Tập hợp tất cả các vùng liên thông của S mà có pixel nằm trên đường viền của ảnh được
gọi là nền ảnh (Background).
Các vùng còn lại của S được gọi là lỗ trống (Hole).
Nếu không cần sự phân biệt rõ ràng, thuật ngữ “nền ảnh” được dùng để bao gồm cả nền
ảnh và lỗ trống được định nghĩa ở trên.
Hình 2.2.6: Nền ảnh, vùng đối tượng và lỗ trống
2.2.7 Bao đóng và phần trong
Bao đóng của một vùng là tập hợp các pixel thuộc vùng đó mà có lân cận thuộc nền hoặc
lỗ trống (thường sử dụng lân cận 4).
Phần trong của đối tượng là tập hợp các pixel thuộc vùng đó mà không nằm trên bao
đóng của nó.
Hình 2.2.7: Bao đóng và phần trong
2.3 Các số đo cơ bản của vùng
2.3.1 Diện tích
– Diện tích của một vùng được tính bằng tổng số pixel tạo nên vùng đó.
– Phương pháp tính diện tích của một vùng:
Ảnh gốc
Phần trong
Background
Hole
Foreground
Bao đóng
Bài toán xử lý và phân tích để đếm các đối tượng ảnh hai chiều
Trang 6
+ Xác định vùng cần được tính diện tích, đánh dấu tất cả các pixel thuộc vùng đó với
1 giá trị cường độ duy nhất.
+ Các pixel có giá trị cường độ đó được đếm và kết quả đếm cuối cùng chính là diện
tích của vùng.
2.3.2 Chu vi
– Chu vi của một vùng chính là số pixel tạo nên bao đóng của vùng đó.
– Xác định trọng của một một pixel P:
+ Nếu hai lân cận của P đều là lân cận 4 thì P có trọng là 1.
+ Nếu hai lân cận của P đều là lân cận chéo thì P có trọng là 1.414.
+ Nếu P có một lân cận 4 và một lân cận chéo thì P có trọng là 1.207.
– Phương pháp tính chu vi của một vùng:
+ Các pixel trên bao đóng được đánh dấu.
+ Các pixel này và các lân cận của nó được kiểm tra để xác định trọng của pixel.
+ Trọng của tất cả các pixel được cộng lại; kết quả cuối cùng chính là chu vi của đối
tượng.
2.3.3 Chiều dài
– Chiều dài là một số đo liên quan đến đoạn thẳng có bề rộng 1 pixel.
– Phương pháp tính chiều dài của đoạn thẳng tương tự như cách tính chu vi, tuy nhiên
pixel đầu và cuối được tính trọng như sau:
+ Trọng là 0.5 nếu lân cận của nó là lân cận 4.
+ Trọng là 0.707 nếu lân cận của nó là lân cận chéo.
2.3.4 Tâm của vùng
– Tâm của vùng là một điểm mà tại đó đối tượng có thể cân bằng.Tâm của vùng còn được
gọi là trọng tâm của đối tượng.
– Giả sử xét ảnh F , pixel trong ảnh có cường độ bằng 1 nếu nó thuộc về đối tượng hoặc
bằng 0 nếu ngược lại. Gọi C[Cr,Cc] là trọng tâm của đối tượng, khi đó vị trí của C được xác
định như sau:
)
(
)
,
(
1
1
F
area
row
col
row
F
NR
row
NC
col
r
c
∑∑
=
=
×
=
Tâm vùng
Hình 2.3.4: Tâm vùng
Bài toán xử lý và phân tích để đếm các đối tượng ảnh hai chiều
Trang 7
)
(
)
,
(
1
1
F
area
col
col
row
F
NR
row
NC
col
c
c
∑∑
=
=
×
=
2.3.5 Số đo độ tròn(Circularity Measure)
Số đo độ tròn được xác định theo công thức sau:
2
P
A
4
C
×
π
=
với P: chu vi của đối tượng.
A: diện tích của đối tượng.
Khi đối tượng đang xét có dạng tròn thì số đo này có giá trị bằng 1, và giá trị sẽ giảm nếu
đối tượng có hình dạng không đều.
2.3.6 Công thức xác định số đo dạng hình chữ nhật
Số đo dạng hình chữ nhật được tính theo công thức:
min
r
A
A
R =
với
Ar : diện tích đối tượng đang xét.
Amin : diện tích hình chữ nhật nhỏ nhất chứa đối tượng.
Nếu đối tượng là hình chữ nhật thì tỷ số này sẽ có giá trị là 1, và sẽ giảm nếu đối tượng
có hình dạng phức tạp hơn.
2.4 Một số thao tác đơn giản trên ảnh Bi-level
2.4.1 Xác định bao đóng
– Đối với hầu hết các đối tượng, sử dụng bao đóng đủ để nhận biết đối tượng, đồng thời
cũng rất thuận tiện do bao đóng chứa ít pixel hơn.
– Các bước xác định bao đóng của một vùng:
+ Các pixel trên bao đóng của vùng đó được đánh dấu với cùng một giá trị mới( là
những pixel có ít nhất một lân cận thuộc nền ảnh hoặc lỗ trống ).
+ Sau đó, tất cả các pixel của vùng không có giá trị đó được xóa (đặt cùng giá trị với
cường độ nền). Phần còn lại chính là bao đóng của vùng.
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 0 0
0 0 0 0 2 2 2 2 0 0
0 0 0 0 2 2 2 2 0 0
0 0 0 1 1 1 1 1 0 0
0 0 0 2 1 1 1 2 0 0
0 0 0 2 0 0 0 2 0 0
0 0 0 1 1 1 1 1 0 0
0 0 0 2 2 2 2 2 0 0
0 0 0 2 2 2 2 2 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
Ảnh dữ liệu
Đánh dấu pixel
Xóa các pixel
thuộc bao đóng
không thộc bao đóng
Hình 2.4.1: Các bước xác định bao đóng đối tượng
Bài toán xử lý và phân tích để đếm các đối tượng ảnh hai chiều
Trang 8
2.4.2 Xác định trục chính của đối tượng( Principal axis)
– Định nghĩa trục chính của đối tượng: là đường thẳng đi qua tâm của đối tượng và có
tổng khoảng cách đến tất cả các pixel thuộc đối tượng là ngắn nhất.
– Các bước xác định trục chính của đối tượng:
+ Định vị tâm của đối tượng.
+ Đánh dấu tất cả các pixel thuộc bao đóng và nằm phía bên trên( hoặc ngang) của
tâm. Trục chính sẽ đi qua tâm và một trong số các pixel đó, do đó chúng ta có một tập các
đường thẳng có thể là trục chính của đối tượng đang xét.
0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 # 0 0 0 0 0 0
0 0 0 0 0 0 0 4 0 0 0 0 0 0
0 0 0 0 0 0 # # # 0 0 0 0 0
0 0 0 0 0 0 3 # 5 0 0 0 0 0
0 0 0 0 0 # # # # # 0 0 0 0
0 0 0 0 0 2 # # # 6 0 0 0 0
0 0 0 0 # # x # # 0 0 0 0 0
0 0 0 0 1 # x # 7 0 0 0 0 0
0 0 0 # # # # # 0 0 0 0 0 0
0 0 0 # # # # # 0 0 0 0 0 0
0 0 0 0 # # # 0 0 0 0 0 0 0
0 0 0 0 # # # 0 0 0 0 0 0 0
0 0 0 0 0 # 0 0 0 0 0 0 0 0
0 0 0 0 0 # 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
Đối tượng có dạng hình chữ nhật
Các pixel được đánh dấu
Hình 2.4.2: Đánh dấu pixel
+ Chọn đường thẳng có tổng khoảng cách đến tất cả các pixel là ngắn nhất, đường
thẳng đó được xem như là trục chính của đối tượng.
2.4.3 Xác định diện tích hình chữ nhật nhỏ nhất chứa đối tượng
2.4.3.1 Dựa vào phương pháp quay đối tượng
Sau khi đã xác định được trục chính của đối tượng, ta thực hiện phép quay đối tượng sao
cho trục chính song song với trục của ảnh.Khi đó, diện tích hình chữ nhật nhỏ nhất chứa đối
tượng có thể được xác định như sau:
)
y
y
)(
x
x
(
A
min
max
min
max
min
−
−
=
với:
xmin,ymin là hoành độ và tung độ bé nhất của các pixel thuộc đối tượng.
xmax,ymax là hoành độ và tung độ lớn nhất của các pixel thuộc đối tượng.
2.4.3.2 Xây dựng hình chữ nhật nhỏ nhất bao đối tượng
– Trục chính của đối tượng đi qua hai điểm
2
1 P
,
P
thuộc bao đóng đối tượng.
– Trục phụ của đối tượng được xây dựng là đường thẳng đi qua tâm của đối tượng và
vuông góc với trục chính. Từ đó, vị trí của hai điểm
4
3 P
,
P
là giao điểm của trục phụ với bao
đóng của đối tượng có thể được xác định.
– Từ các điểm
4
3
2
1
P
,
P
,
P
,
P
ta có thể xây dựng được hình chữ nhật nhỏ nhất chứa đối
tượng, và diện tích Amin có thể dễ dàng được tính.
Bài toán xử lý và phân tích để đếm các đối tượng ảnh hai chiều
Trang 9
2.4.4 Mở rộng ( Dilation ) và thu hẹp ( Erosion ) vùng đối tượng
– Thu hẹp vùng đối tượng ( Erosion) sẽ bỏ lớp pixel ngoài của vùng đó.
– Các bước để thu hẹp vùng đối tượng:
+ Các pixel trên bao đóng của vùng đó được đánh dấu với cùng một giá trị mới ( là
những pixel có ít nhất một lân cận thuộc nền ảnh hoặc lỗ trống ).
+ Sau đó, tất cả các pixel của vùng có giá trị đó được xóa (đặt cùng giá trị với cường
độ nền).
– Khoảng cách của pixel xa nền nhất chính là số lần thu hẹp cần thiết để xoá toàn bộ bức
ảnh.
– Thu hẹp vùng đối tượng có thể được sử dụng để phân biệt các đối tượng hoặc tách các
vùng chồng lên nhau một vài pixel trước khi đến số đối tượng trong ảnh.
– Thu hẹp vùng đối tượng thường được sử dụng cùng với thao tác mở rộng vùng
(Dilation). Mở rộng vùng sẽ thêm một lớp mới các pixel xung quanh của vùng.
Hình 2.4.4: Thu hẹp và mở rộng vùng đối tượng
2.4.5 Lọc xương đối tượng (Skeletonization)
– Thao tác lọc xương đối tượng (Skeletonization) thường được sử dụng với những vùng
bao gồm chủ yếu những đoạn thẳng. Thao tác này sẽ xóa đi những pixel phụ và tạo ra ảnh
mới đơn giản hơn, có dạng tương tự với đối tượng ban đầu(gọi là xương đối tượng).
Ảnh gốc
Thu hẹp vùng đối tượng
Mở rộng vùng đối tượng
Hình 2.4.5: Phương pháp lọc xương đối tượng
Bài toán xử lý và phân tích để đếm các đối tượng ảnh hai chiều
Trang 10
– Xương đối tượng phải thỏa các điều kiện sau:
+ Bao gồm những vùng mỏng có bề rộng 1 pixel.
+ Nằm giữa đối tượng ban đầu.
+ Những pixel thuộc xương đối tượng phải liên kết với nhau để tạo ra số vùng tương
tự như trong đối tượng ban đầu.
– Bốn nguyên tắc quyết định một pixel có bị xóa hay không ( pixel phụ):
+Nếu nó có từ 2 đến 6 pixel lân cận thuộc đối tượng.
+ Không là pixel liên kết vùng.
+ Ít nhất một lân cận ở vị trí 1, 3, 5 (bao đóng bên phải ) và ít nhất một lân cận ở vị trí
3, 5, 7 (bao đóng bên dưới) là pixel nền.
+ Hoặc ít nhất một lân cận ở vị trí 7, 1, 3 (bao đóng bên trên ) và ít nhất một lân cận
ở vị trí 1, 5, 7 (bao đóng bên trái) là pixel nền.
2.4.6 Mã hóa theo dạng xích(Chain Code)
2.4.6.1 Giới thiệu Chain Code
– Chain Code dùng lưu trữ thông tin bao đóng đối tượng thay cho ảnh raster để tiết kiệm
được không gian lưu trữ.
– Ý tưởng cơ bản của Chain Code là chỉ lưu trữ hướng pixel kế tiếp tương ứng mỗi pixel
được liên kết trong bao đóng theo một hướng nhất định (cùng chiều hoặc ngược chiều kim
đồng hồ).
– Hướng của pixel lân cận được đánh số như sau:
Hình 2.4.6.1.a: Hướng pixel
– Ví dụ bao đóng của một đối tượng và cách mã hoá theo dạng xích
Hình 2.4.6.1.b: Bao đóng đối tượng được mã hoá theo dạng xích
2
3
0
1
6
6
7
2
4
5
2
1
3
0
4
7
6
5
Bài toán xử lý và phân tích để đếm các đối tượng ảnh hai chiều
Trang 11
– Các bước cơ bản để tạo Chain Code:
+ Tìm pixel bắt đầu (có thể là bất kỳ pixel nào thuộc bao đóng).
+ Bước tiếp theo là định vị pixel kế tiếp, chính là pixel lân cận được chọn theo hướng
của Chain Code.
+ Lặp lại bước trên cho đến khi pixel hiện hành cho đến khi pixel hiện hành là pixel
bắt đầu.
– Chain Code rất linh hoạt:
+ Hướng của Chain Code dễ dàng thay đổi.
+ Có thể sử dụng Chain Code để tính một vài số đo (không phụ thuộc vào vị trí) của
đối tượng mà không cần chuyển về ảnh raster như chu vi, diện tích.
– Chain Code chuẩn của một vùng là Chain Code có dãy các hướng hình thành số nguyên
nhỏ nhất.
2.4.6.2 Một vài số đo được tính từ Chain Code
2.4.6.2.1 Tính chu vi
– Khoảng cách từ pixel đang xét đến lân cận theo hướng 0, 2, 4, 6 là 1 và khoảng cách
đến lân cận theo hướng 1, 3, 5, 7 là 1.414.
– Nếu số phần tử chẵn trong Chain Code là Neven, số phần tử lẻ trong Chain Code là Nodd
thì công thức tính chu vi là:
P = Neven + 1.414*Nodd
2.4.6.2.2 Tính diện tích
– Ý tưởng cơ bản để tính diện tích trên Chain Code dựa trên diện tích đóng góp của từng
pixel thuộc bao đóng so với trục nằm ngang tùy theo hướng tương ứng của nó trên Chain
Code.
– Xét pixel có tọa độ (r,c), diện tích đóng góp của nó là r nếu hướng tương ứng trong
Chain Code là 0, 4; là r-0.5 nếu hướng tương ứng trong Chain Code là 1, 3, 5, 7; và không
góp phần vào tổng diện tích nếu hướng tương ứng trong Chain Code là 2, 6.
– Đối với Chain Code có chiều ngược chiều kim đồng hồ, diện tích đóng góp của pixel sẽ
có giá trị dương nếu hướng pixel di chuyển qua trái, và ngược lại.
– Diện tích của vùng chính là tổng diện tích đóng góp của tất cả các pixel (với vị trí pixel
bắt đầu tốt nhất là (n,n)).
2.4.7 Mã hóa theo đường chạy(Run-Length Coding)
– Run-Length Coding là cách khác lưu trữ thông tin của đối tượng để có thể tiết kiệm
vùng lưu trữ.
– Một đường chạy (run) bao gồm những pixel kề nhau theo một hướng được chỉ ra
(thường theo chiều ngang), tất cả các pixel này có cùng giá trị cường độ.
– Một run có dạng (n)(v) với n là số pixel kề nhau có cùng giá trị cường độ v.
– Để mã hóa ảnh, bắt đầu tại pixel (0,0) và gán v với giá trị tại đó. Sau đó quét dòng đó
đếm những pixel có cùng giá trị v đến khi gặp giá trị cường độ khác; nếu đến cuối dòng, tiếp
tục pixel đầu tiên của dòng kế tiếp. Khi một giá trị pixel mới được tìm thấy, số đếm n và giá
trị v được luư lại, v sẽ có giá trị pixel mới này và số đếm là 1. Tiếp tục thao tác này đến khi
tất cả các pixel được duyệt.
Bài toán xử lý và phân tích để đếm các đối tượng ảnh hai chiều
Trang 12
– Muốn khôi phục lại ảnh từ dạng mã theo đường chạy, kích cỡ của ảnh phải được biết
trước.
– Ví dụ:
0 0 0 0 0 0 0 0 0 0 0 0
14(0) , 4(1) , 4(0) , 1(1) ,
0 0 1 1 1 1 0 0 0 0 1 0
4(1) , 3(0) , 1(1) , 4(0) ,
0 0 1 1 1 1 0 0 0 1 0 0
4(1) , 2(0) , 1(1) , 10(0) ,
0 0 1 1 1 1 0 0 1 0 0 0
1(1) , 16(0).
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
Ảnh dữ liệu
Mã hoá theo đường chạy
Bài toán xử lý và phân tích để đếm các đối tượng ảnh hai chiều
Trang 13
3 Ảnh Grey-Level
3.1 Biểu đồ thống kê (Grey-Level histogram)
3.1.1 Giới thiệu
– Một trong những công cụ cho việc thao tác trên ảnh Grey-level là biểu đồ thống kê mức độ
xám (grey- level histogram) hay gọi tắt là biểu đồ thống kê.
– Biểu đồ thống kê là một đồ thị liệt kê tất cả các mức độ xám được sử dụng trong bức ảnh
trên trục hoành và chỉ ra số pixel có mức độ tương ứng trên trục tung.
– Đối với ảnh có 8 bit trên một pixel, trục hoành có giá trị chạy từ 0 tới 255, còn trục tung tuỳ
thuộc vào số pixel có trong ảnh.
Hình 3.1.1: Biểu đồ thống kê
3.1.2 Các dạng của biểu đồ thống kê
3.1.2.1 Biểu đồ thống kê đơn giản
– Biểu đồ thống kê đơn giản là một mảng nguyên với mỗi phần tử lưu số pixel có mức độ
xám tương ứng.
– Các bước để tạo biểu đồ thống kê đơn giản:
+ Mỗi phần tử trong mảng được khởi gán là 0.
+ Sau đó mỗi pixel trong ảnh được kiểm tra, phần tử trong mảng tương ứng với mức
độ xám của pixel đang xét được tăng lên.
3.1.2.2 Biểu đồ thống kê thu gọn
– Biểu đồ thống kê thu gọn cũng là một mảng nguyên với mỗi phần tử lưu số pixel nhưng
có số phần tử ít hơn biểu đồ thống kê đơn giản.
– Ý tưởng cơ bản là sẽ chọn một số cố định (gọi là bề rộng thùng chứa- bin width)những
mức độ xám được đếm cùng với nhau.
Bài toán xử lý và phân tích để đếm các đối tượng ảnh hai chiều
Trang 14
3.1.3 Một vài giá trị được tính từ biểu đồ thống kê
3.1.3.1 Giá trị trung bình(Mean)
– Giá trị trung bình của các mức độ xám trong một bức ảnh có thể tính bằng cách lấy tổng
các giá trị trong mảng biểu đồ thống kê chia cho số pixel trong ảnh.
3.1.3.2 Giá trị Median
– Giá trị Median là mức độ xám mà có tổng số pixel có mức độ nhỏ hơn nó và tổng số
pixel có mức độ lớn hơn nó xấp xỉ bằng nhau.
– Giá trị Median của một bức ảnh có thể tính bằng cách: bắt đầu tại phần tử đầu tiên trong
mảng biểu đồ thống kê cộng dồn những phần tử kế tiếp cho đến khi tổng đạt tới phân nửa số
pixel của ảnh.
3.1.3.3 Độ lệch chuẩn
– Độ lệch chuẩn chỉ ra độ trãi rộng của các giá trị cường độ màu.
– Độ lệch chuẩn được tính theo công thức:
1
N
)
x
x
(
2
i
−
−
=
σ
với x : giá trị trung bình.
3.2 Kỹ thuật Threshold
3.2.1 Khái niệm
– Threshold là thao tác chuyển ảnh Gray-level G[i,j] thành ảnh Bi-level B[i,j].
– Nếu B[i,j] có được từ G[i,j] bằng cách sử dụng ngưỡng đơn T, khi đó:
>
≤
=
=
T
]
j
,
i
[
G
0
T
]
j
,
i
[
G
1
]
j
,
i
[
G
]
j
,
i
[
B
T
– Nếu mức độ xám của đối tượng thuộc miền [T1,T2], khi đó:
>
<
≤
≤
=
=
2
1
2
1
T
T
]
j
,
i
[
G
,
T
]
j
,
i
[
G
0
T
]
j
,
i
[
G
T
1
]
j
,
i
[
G
]
j
,
i
[
B
- Trong trường hợp tổng quát, ta có:
∉
∈
=
=
Z
]
j
,
i
[
G
0
Z
]
j
,
i
[
G
1
]
j
,
i
[
G
]
j
,
i
[
B
T
Bài toán xử lý và phân tích để đếm các đối tượng ảnh hai chiều
Trang 15
3.2.2 Tìm ngưỡng đơn
3.2.2.1 Dựa vào giá trị trung bình (Mean) hoặc giá trị Median
- Ngưỡng đơn T đơn giản nhất là giá trị trung bình (Mean) hoặc giá trị Median. Khi đó
giả sử rằng phân nửa số pixel của toàn bộ bức ảnh thuộc về đối tượng, số pixel còn lại thuộc
về nền. Tuy nhiên, điều này ít khi đúng.
3.2.2.2 Dựa vào dạng của biểu đồ
- Nếu biểu đồ thống kê của bức ảnh có 2 đỉnh lớn nhất xuất hiện rõ ràng, khi đó ngưỡng
đơn được chọn là mức độ xám đại diện cho điểm thấp thất giữa hai đỉnh.
-Tuy nhiên, dạng biểu đồ thống kê có 2 đỉnh lớn rõ ràng ít khi xuất hiện. Đa số chỉ tập
trung vào một đỉnh, đồng thời dạng biểu đồ thường không trơn có nhiều răng cưa nên khó
xác định được đỉnh thứ hai. Có hai cách giải quyết trong trường hợp này: tính lại biểu đồ
thống kê sử dụng bề rộng thùng chứa lớn hơn hoặc thay thế mỗi phần tử trong lược đồ bởi
trung bình các lân cận của nó.
- Một cách đơn giản để tìm đỉnh của đồ thị là tìm một dãy pixel liên tục theo mẫu giống
như đỉnh.Ví dụ, mẫu đỉnh 5 pixel thì pixel thứ 3 sẽ có mức độ xám lớn nhất, mức độ xám của
pixel thứ nhất nhỏ hơn mức độ xám của pixel thứ hai và mức độ xám của pixel thứ ba lớn
hơn mức độ xám của pixel thứ hai.
3.2.2.3 Phương pháp chọn lặp nhiều lần (Iterative Selection)
- Ý tưởng: tìm mức độ xám trung bình của của đối tượng(To) và mức độ xám trung bình
của nền. Ngưỡng đơn T được tính như sau:
2
b
o
T
T
T
+
=
- Các bước thực hiện:
+ Khởi gán To,Tb. Tính T theo To,Tb.
+ Sau đó xác định lại To,Tb sử dụng ngưỡng đơn T. To được tính là giá trị trung bình
của tất cả những pixel có mức độ xám nhỏ hơn T, Tb được tính là giá trị trung bình của tất
cả những pixel có mức độ xám lớn hơn T.
+ Bước 2 được lặp lại cho đến khi giá trị T được sinh ra trong 2 lần lặp liên tiếp
không đổi.
3.2.2.4 Phương pháp sử dụng số đo độ thích hợp (Correlation)
- Số đo độ thích hợp của ảnh Bi-level so với ảnh Grey-level được xác định như sau:
∑
∑
∑
−
=
−
=
−
=
−
−
−
−
=
1
N
0
i
1
N
0
i
2
i
2
i
i
1
N
0
i
i
)
y
y
(
)
x
x
(
)
y
y
(
)
x
x
(
r
với
N: số pixel trong ảnh
x: ảnh xám gốc
y: ảnh đã được Threshold
Bài toán xử lý và phân tích để đếm các đối tượng ảnh hai chiều
Trang 16
- Khi đó, giá trị r sẽ thuộc đoạn [-1,1].
- Tất cả những ngưỡng có thể được sử dụng để tính độ thích hợp, ngưỡng T nào cho độ
thích hợp cao nhất sẽ được chọn.
3.2.3 Chọn nhiều ngưỡng (threshold) cho ảnh
Trong trường hợp tổng quát, không thể chọn một ngưỡng đơn T cho toàn bộ bức ảnh.
Bức ảnh sẽ được chia thành nhiều ảnh con và tìm ngưỡng đơn cho từng ảnh con đó.
3.2.3.1 Chia ảnh thành các vùng chữ nhật
3.2.3.1.1 Chọn giá trị Threshold cho từng vùng
- Bức ảnh sẽ được chia thành các vùng hình chữ nhật.
- Sau đó tìm ngưỡng đơn cho từng vùng, và Threshold từng vùng theo các ngưỡng tương
ứng vừa tìm được.
- Tuy nhiên, trong tất cả các trường hợp, phương pháp trên sẽ tạo ra bao đóng giữa các
vùng kề nhau do sử dụng hai giá trị Threshold khá khác nhau cho những pixel kề nhau.
3.2.3.1.1 Chọn giá trị Threshold cho từng pixel
- Bức ảnh sẽ được chia thành các vùng hình chữ nhật.
- Sau đó tìm ngưỡng đơn cho từng vùng.
- Chọn giá trị ngưỡng của vùng là giá trị ngưỡng cho pixel trung tâm của vùng tương
ứng. Mỗi pixel còn lại có giá trị ngưỡng khác nhau tương ứng tùy thuộc vào vị trí của nó
trong ảnh, được xác định như một hàm của khoảng cách dựa vào những pixel mà giá trị
Threshold đã được biết.
- Gọi T[i,j] là ảnh chứa các giá trị Threshold của từng pixel tương ứng. Khi đó, ảnh dữ
liệu có thể được Threshold như sau:
>
≤
=
]
j
,
i
[
T
]
j
,
i
[
G
,
1
]
j
,
i
[
T
]
j
,
i
[
G
,
0
]
j
,
i
[
B
– Phương pháp này khá nhạy cảm với kích cỡ của ảnh con.
3.2.3.2 Phương pháp khoanh vùng các mức độ xám (Region Growing Method)
– Những pixel lân cận trong ảnh có cùng thuộc tính (có độ sai lệch mức độ xám T
∆
cho
trước) sẽ được nhóm thành một vùng.
– Tăng giá trị T
∆
cho đến khi chỉ còn hai vùng được sinh ra.
– Chọn ngưỡng đơn cho từng vùng T1,T2 (giả sử T1
Tuy nhiên khi dãy mức độ xám được mở rộng, cần phải đảm bảo không được vượt quá
giá trị có thể (Chẳng hạn, đối với ảnh Grey-level mức độ xám nhỏ nhất có thể là 0, và lớn
nhất có thể là 255). Mặt khác, khi dãy mức độ xám bị nén lại, có thể không mở rộng lại được
dãy ban đầu.
3.3.2 Phép biến đổi tuyến tính phân đoạn( Piecewise Linear Transformation)
– Phép biến đổi tuyến tính phân đoạn bao gồm nhiều hàm tuyến tính, mỗi hàm được áp
dụng cho một dãy mức độ xám khác nhau.
– Phép biến đổi tuyến tính phân đoạn có dạng tổng quát như sau:
≤
≤
+
≤
≤
+
=
−
n
n
b
n
c
x
c
b
x
a
c
x
c
b
x
a
y
1
1
0
1
1
…….
Cần chú ý nên giữ liên tục nơi các đoạn thẳng trong phép biến đổi tuyến tính phân đoạn
gặp nhau, và các đoạn thẳng này không nằm chồng lên nhau.
3.3.3 Thao tác cân bằng biểu đồ thống kê
– Trong một vài trường hợp, ảnh Grey-level chứa đầy những mức độ màu có thể sử dụng,
nhưng hầu hết tất cả các pixel chỉ sử dụng một vài giá trị cường độ. Trong những trường hợp
đó, thao tác cân bằng biểu đồ thống kê nên được thực hiện.
– Nếu có N mức độ xám có thể, mỗi thùng chứa trong biểu đồ thống kê sẽ có bề rộng là
1/N số pixel trong ảnh(Ký hiệu: b). Ví dụ: ảnh gồm 16 dòng, 16 cột và 8 mức độ có thể (0-7),
thì mỗi thùng chứa nên có khoảng b= (16*16)/8 = 32 pixel trong nó.
– Thực hiện thao tác cân bằng biểu đồ thống kê theo luật sau: tổng số pixel có giá trị
cường độ nhỏ hơn hoặc bằng k sẽ không nhỏ hơn giá trị chuẩn : k.b .Tổng số pixel có giá trị
nhỏ hơn hoặc bằng k được gọi là tổng tích lũy (Cumulative Sum ) tại giá trị k.