Báo cáo chuyên đề xử lý ảnh: Các phương pháp dò biên
Trang 1
MỤC LỤC
Lời nói đầu
Chương I TỔNG QUAN VỀ PHÂN TÍCH ẢNH
1.Khái quát về biên và phân loại các kỹ thuật dò biên
1.1 Khái niệm về biên
1.2 Phân loại các kỹ thuật phát hiện biên
2 Quá trình phát hiện biên
Chương II CÁC PHƯƠNG PHÁP DÒ BIÊN
1 Sự phân đoạn và dò biên
1.1 Thao tác vùng
1.2 Dò biên thô
1.3 Kết hợp các vùng
2 Các phương pháp dò biên cơ bản
2.1 Phép lấy đạo hàm bậc nhất cho phương pháp dò biên
2.2 Phương pháp dò biên Sobel
2.3 Phép toán được quan tâm khác
3 Dò bậc hai
3.1 Xác định cắt điểm không
3.2 Dò biên màu
4 Phương pháp dò biên Phương pháp dò biên Laplace
5 Phương pháp dò biên hình chóp(pyramid EDGE detection)
6 Crack edge relation(Tách giới hạn biên)
7 Kỹ thuật đạo hàm tích chập – phương pháp Canny
8 Dò biên theo quy hoach động
8.1 Mô tả phương pháp
Trang 28.2 Thuật toán
9 Một số thuật toán khác
Lời nói đầu
Xử lý ảnh là một lĩnh vực đang được quan tâm và đã trở thành một môn học
chuyên ngành của sinh viên hệ kĩ sư, hệ cử nhân ngành công nghệ thông tin, cũng
như những ngành kĩ thuật khác trong các trường đại học kĩ thuật.Xử lý ảnh có liên
quan đến nhiều ngành khác như: Hệ thống tin học, lý thuyết thông tin, lý thuyết
thống kê, trí tuệ nhân tạo, nhận dạng, v.v…Xử lý ảnh nghiên cứu tất cả những gì
liên quan đến việc thao tác trên ảnh như: Biểu diễn ảnh, thu nhận ảnh, tăng cường
và khôi phục ảnh nhằm thu được ảnh như mong muốn.Mỗi vấn đề đều cần có
những xử lý về thuật toán tại mỗi điếm ảnh hay phần tử ảnh Việc tìm hiểu giúp
chúng ta hiểu sâu hơn về cơ chế, nguyên tắc xử lý ảnh, điều chỉnh màu, độ sáng tối,
độ tương phản,… làm cho hình ảnh đẹp và nghệ thuật hơn Do đó xử lý ảnh là lĩnh
vực được rất nhiều quan tâm và trở thành niềm đam mê của rất nhiều sinh viên
Trong bài báo cáo này, em xin đưa ra đề tài: Các phương pháp dò biên ảnh Đặc
biệt ở đây trình bày 2 thuật toán dò biên Sobel và Laplace bằng ngôn ngữ C Để đạt
được thành công, chúng ta cần sự nghiên cứu và trao đổi lẫn nhau Vì vậy em rất
mong sự tham gia của các bạn, đặc biệt là lời nhận xét của cô giáo Em xin chân
thành cảm ơn!
Trang 3Chương I TỔNG QUAN VỀ PHÂN TÍCH ẢNH
Sau giai đoạn tiền xử lý ảnh, ảnh đã dược tăng cường hay khôi phục để làm nổi
các đặc trưng chủ yếu.Giai đoạn phân tích ảnh gồm: trích chọn các đặc tính, sau đó
phân đoạn ảnh thành các phần tử.Ví dụ như phân đoạn dựa theo biên, dựa theo
vùng Tùy theo các ứng dụng, giai đoạn tiếp theo có thể là nhận dạng ảnh phân
Phân đoạn
Phân loại
Giải thích
Trang 4Quá trình tiền xử lý
Sơ đồ: Các bước phân tích ảnh
Các đặc trưng của ảnh thường gồm: mật độ xám, phân bố xác suất, phân bố không
gian, biên ảnh
1 Khái quát về biên và phân loại các kỹ thuật dò biên
1.1 Khái niệm về biên:
Biên là một vấn đề chủ yếu trong phân tích ảnh vì các kỹ thuật phân đoạn ảnh chủ
yếu dựa vào biên.Một điểm ảnh có thể coi là điểm biên nếu ở đó có sự thay đổi đột
ngột về mức xám.Tập hợp các điểm biên tạo thành biên hay đường bao của ảnh.Ví
dụ: trong một ảnh nhị phân, một điểm có thể gọi là biên nếu nó là điểm đen và có ít
nhất một điểm trắng lân cận
Để hình dung tầm quan trọng của biên ta xét ví dụ sau: Khi người hoạ sĩ vẽ một
cái bàn gỗ, chỉ cần vài nét phác thảo về hình dáng như mặt bàn, chân bàn mà
không cần thêm các chi tiết nào khác, người xem đã có thể nhận ra cái bàn.Nếu ứng
dụng của ta là phân lớp nhận diện đối tượng thì coi như nhiệm vụ đã hoàn
thành.Tuy nhiên nếu đòi hỏi thêm về các chi tiết khác như vân gỗ hay màu sắc…
thì với chừng ấy thông tin là chưa đủ.Nhìn chung về mặt toán học người ta coi
điểm biên của ảnh là điểm có sự biến đổi đột ngột về độ xám
Trang 5Như vậy, phát hiện biên một cách lý tưởng là xác định được tất cả cả các đường
bao trong đối tượng Định nghĩa toán học của biên ở trên là cơ sở cho các kỹ thuật
phát hiện biên Điều quan trọng là sự biến thiên mức xám giữa các điểm ảnh trong
một vùng thường là nhỏ, trong khi đó biến thiên mức xám của điểm giáp ranh lại
khá hơn
1.2 Phân loại các kỹ thuật phát hiện biên
Xuất phát từ định nghĩa toán học của biên người ta thường sử dụng 2 phương pháp
phát hiện biên sau:
- Phương pháp phát hiện biên trực tiếp: Phương pháp này nhằm làm nổi biên
dựa vào sự biến thiên về giá trị độ sáng của điểm ảnh.Kỹ thuật chủ yếu dùng
phát hiện biên ở đây là kỹ thuật đạo hàm.Nếu lấy đạo hàm bậc nhất của ảnh, ta
có phương pháp Gradient.Nếu lấy đạo hàm bậc hai, ta có phương pháp
Laplace.Hai kỹ thuật trên gọi là phương pháp dò biên cục bộ.Ngoài ra, người ta
cũng sử dụng phương pháp “đi theo đường bao” : dựa vào nguyên lý quy hoạch
động và được gọi là phương pháp dò biên tổng thể
- Phương pháp phát hiện biên gián tiếp: Bằng cách nào đó, ta phân được ảnh
thành các vùng thì đường phân ranh giữa các vùng đó chính là biên.Việc phân
vùng ảnh thường dựa vào kết cấu bề mặt ảnh
Kỹ thuật dò biên và phân vùng ảnh là hai bài toán đối ngẫu của nhau.Thực vậy, dò
biên để thực hiện phân lớp đối tượng và một khi đã phân lớp xong có nghĩa là đã
phân vùng được ảnh.Và ngược lại, khi đã phân vùng, ảnh đã phân lập được thành
các đối tượng, ta có thể phát hiện được biên.Phương pháp dò biên trực tiếp tỏ ra
khá hiệu quả vì ít chịu ảnh hưởng của nhiễu.Nếu biến đổi gián tiếp tuy khó cài đặt,
song lại áp dụng khá tốt khi sự biến thiên độ sáng nhỏ
2.Quá trình phát hiện biên
-Vì ảnh thu nhận thường có nhiễu nên bước đầu tiên là khử nhiễu
-Tiếp theo là tiến hành làm nổi biên bởi các toán tử đạo hàm
Trang 6- Định vị điểm biên.Vì các kỹ thuật làm nổi biên có hiệu ứng phụ là tăng nhiễu,
do vậy sẽ có một điểm biên giả cần bị loại bỏ
-Liên kết và trích chọn biên
Chương II.Các phương pháp dò biên
1.Sự phân đoạn và dò biên
1.1.Thao tác vùng
Việc khám phá các vùng có thể là một việc rất đơn giản ,như được minh hoạ trong
mục 1.1.1.tuy nhiên thường không nhiều hơn ,những vùng được yêu cầu mà bao
trùm một vùng thật của ảnh hơn là mổh nhóm các diểm ảnh
1.2.Dò biên thô
Sử dụng: xem xét một hình ảnh như là một tập hợp các vùng
thuật toán:dò biên thô không phải là một phương pháp phức tạp những vùng đơn
giản được xác định như vùng các điểm cùng mức xám , đường biên của các vùng là
tách những điểm ảnh hơn tại vị trí điểm
như việc dò một vùng có thể đưa ra một số các vùng hữu ích (trừ khi số các mức
xám là tương đối nhỏ ).như vậy một phương pháp đơn giản là nhóm lại những điểm
ảnh vào trong hững phạm vi của những giá trị gần (q hoặc tự nhóm).các
vùng(miền) có thể là việc xem xét các biểu đồ hình ảnh để xác định tốt sự tự
nhhóm cho mục đích vùng kết quả trong việc kết hợp toàn bộ mức xám vùng cơ sở
nhiều hơn các mức xám của điểm ảnh mà nó gần với một vùng khác
1.3 Kết hợp các vùng
Việc kết hợp các vùng là rất hữu ích cho việc tách thô các mức xám và thực hiện
một số kỹ thuật trên những vết rạn giữa những vùng_không làm tăng biên nhưng để
Trang 7xác định khi toàn bộ các vùng cần phải nối (kết hợp_-như vậy làm giảm số các
vùng từ việc tìm vùng thô ở trên
2 Các phương pháp dò biên cơ bản
Biên của một hình ảnh giữ nhiều thông tin trong hình ảnh đó các biên cho biết các
đối tượng ở đâu ,hình dạng và kích thước của đối tượng,và cái gì đó để kết cấu của
đối tượng biên là nơi cương độ của một hình ảnh di chuyển từ một giá trị thấp đến
giá trị cao
Rất nhiều các ứng dụng cho phương pháp dò biên ,mà được sử dụng cho một số
hiệu ứng đặc biệt những nghệ sỹ kỹ thuật số sử dụng nó để làm rõ nét các đường
nét của hình ảnh kết quả của việc dò biên có thể đưa thêm vào hình ảnh để làm nổi
bật các đường biên
Biên trong ảnh là những vùng có cường độ tương phản mạnh, một bước nhảy từ
điểm ảnh tới điểm ảnh kế tiếp.Dò biên một ảnh giúp giảm đáng kể số lượng và lọc
ra những thông tin không hữu ích, trong khi đó bảo quản được các thuộc tính cấu
trúc của ảnh.Có rất nhiều cách thực hiện dò biên.Tuy nhiên các phương pháp chính
khác nhau có thể được nhóm vào thành hai loại, Gradient và Laplacian.Phương
pháp Gradient dò biên bằng cách tìm kiếm giá trị lớn nhất và giá trị nhỏ nhất trong
đạo hàm bậc nhất của ảnh.Phương pháp Laplace tìm kiếm các vạch không trong
đạo hàm bậc hai của ảnh để tìm biên.Biên có dạng một chiều và tính toán đạo hàm
của ảnh có thể làm nổi vị trí đó.Chúng ta có thể sử dụng kí hiệu f(t) sau với biên chỉ
ra bước nhảy của cường độ bên dưới:
Trang 8Nếu ta lấy gradient của kí hiệu này ở dạng một chiều, chỉ ra đạo hàm bậc một của
biến t, ta nhận được:
Rõ ràng đạo hàm bậc một cho xác định giá trị lớn nhất tại tâm của biên.Phương
pháp xác định biên này là đặc trưng của nhóm lọc gradient nếu giá trị của gradient
vượt quá vài ngưỡng.Như đã đề cập, biên sẽ có giá trị cường độ điểm ảnh cao hơn
so với các vùng khác.Nên mỗi lần, một ngưỡng được đặt, ta có thể so sánh giá trị
gradient với giá trị một ngưỡng và dò biên khi mà ngưỡng được mở rộng.Hơn nữa
khi mà đạo hàm bậc nhất đạt giá trị lớn nhất, đạo hàm bậc hai bằng 0.Một cách
khác để tìm ra vị trí của biên là xác định các giá trị 0 của đạo hàm bậc hai của hàm
bên dưới:
Trang 9Phương pháp dò biên thường bước đầu tiên là việc phân vùng hình ảnh phân vùng
ảnh là một lĩnh vực của phân tích ảnh , được sử dụng đểvnhóm những điểm vào
trong các vùng để xác định thành phần cấu tạo một ảnh
một ví dụ phổ biến của phân vùng ảnh là”magic wand”( đũa thần ma thuật )công cụ
phần mền trong xử lý ảnh công cụ này cho phép người dùng lựa chọn một diểm
trong một hình ảnh phần mền này vẽ một đường bao quanh những điểm có giá trị
giống nhau.người dùng có thể lựa chọn một diểm trong vùng bầu trời và đuã thần
ma thuật sẽ vẽ một đường bao kín vùng bầu trời trong ảnh người dùng có thể sửa
đổi màu của vùng trời mà không gây ra sự biến đổi màu cắc các dãy núi hoặc bất
cứ phần nào có mặt trong hình ảnh
phương pháp dò biên cũng sử dụng đăng ký (registration) ảnh việc đăng ký hình
ảnh sắp thẳng hàng hai hình ảnh mà có thể thu đựoc tại các phần mền riêng biệt
hoặt từ những phân tử nhảy khác nhau
roof edge line edge step edge ramp edge
Hình1.1 Một số đường biên khác nhau
Trang 10Có rất nhiều các kiểu biên,về chiều và hình dạng (hình1.1).Một số biên là đường
thẳng trong khi những biên khác được uốn cong bằng việc thay đổi giá trị radian.có
rất nhiều phương pháp dò biên sử dụng tất cả ngững đường biên trên,từng cái có
những điểm mạnh của riêng nó một vài phương pháp dò biêncó thể sử dụng tốt
trong một số ứng dụng và thực hiện kém (không hiệu quả)trong ứng dụng khác
Đôi khi nó được sử dụng thí nghiệm để xác định đâu là phương pháp dò biên tốt
nhất cho một ứng dụng
Phương pháp dò biên đơn giản nhất và nhanh nhất là xác định giá trị cực đằit một
loạt các phép thuần nhất (đồng nhất)trừ điểm ảnh.phép toán trừ mỗi 8 điểm ảnh phụ
cận (vây quanh)từ một điểm trung tâm của một cửa sổ 3x3 trong hình 1.2 đầu ra
của phép toán là giá trị tuyệt đối cực đại của mỗi phần khác nhau
homogenety operator image
11 11 11
11
12 16 16
13 15
Phép toán đồng nhất ảnh
Hình 1.2 sử dụng các thuật toán đồng nhất
Trang 11điểm ảnh mới=max{|11-11|,|11-13|,|11-15|,|11-16|,|11-11|,|11-16|,|11-12|,|11-11|}=5
Tương tự thuật toán thuần nhất là thiết bị dò biên khác các thao tác của nó nhanh
hơn bởi vì nó chỉ phụ thuộc vào 4 phép trừ mỗi điểm ảnh khác với thuật toán thuần
nhất cần 8 phép trừ.các phép trừ là phần trên trái -phần dưới phải,giữa trái -giữa
phải ,dưới trái –trên phải ,và giá trị giữa trên-giá trị dưới ở giữa(hình1.3)
homogenety operator image
11 11 11
11
12 16 16
13 15
Thuật toán thuần nhất ảnh
Hình 1.3 Sử dụng thuật toán khác
điểm ảnh mới=max{|11-11|,|13-12|,|15-16|,|11-16|}=5
2.1 Phép lấy đạo hàm bậc nhất cho phương pháp dò biên
Nếu chúng ta đang tìm kiếm mọi đường biên nằm ngang nào nó sẽ nhận được tính
toán sự khác nhau giữa một giá trị điểm và giá trị điểm tiếp theo,hoặc lên trên hoặc
xuống từ đầu(được gọi là sự tách khác nhau)ví dụ giả thiết đỉnh trái gốc
Trang 12Hc và Hr là các giá trị xác định cột và dòng Đôi khi nó rất tiện lợi để phát hoạ cả Xk
và Yk việc kết hợp chúng tạo nên độ lớn gradien(ví dụ cường độ của biên).việc kết
hợp chúng bằng việc gộp hoàn toàn chúng có thể cho giá trị trung bình hai biên loại
bỏ ngoài lẫn nhau(một là xác thực,một là không xác thực),vì vậy nó là tốt nhất cho
việc tính tổng các giá trị thực(không cần quan tâm đến dấu )hoặc tính tông các bình
phương của nó và khi đó có thể lấy căn bậc hai bình phương của kết quả thu được
Nó cũng chia Xk bởi Yk và xác định một chiều gradien(góc của biên ở giữa các
y) ce(x, Y_differen tan
irection
Độ lớn có thể tính bằng tổng vectơ Hc và Hr:
) y , x ( H ) y , x
=
Trang 13Đôi khi cho việc tính toán đơn giản , độ lớn được tính là:
) y , x ( H ) y ,
trong hình ảnh thực tế ,các hàng ít khi được định nghĩa tốt như vậy,thường thì sự
thay đổi giữa các vùng là từ từvà sặc sỡ hơn
Hình ảnh sau đây là điển hình việc đọc biên.mẫu này đã càn để tính tỷung bình
gradien thông qua một số các điểm ảnh ,hơn là việc tính toán với hai con số
3 4 4 4 3 3
0
0
0
0
Các toán tử đạo hàm được áp dụng khá nhiều Ở đây ta chỉ xét một số toán tử tiêu
biểu: Robert, Sobel,…
2.2 Phương pháp dò biên Sobel
Toán tử sobel nhạy cảm với các biên chéo hơn so với các biên thẳng đứng và các
biên nằm ngang.chuẩn sobel 3x3 thương đựoc sử dụng như:
X
Trang 142 3 4 2 3 3 4 0 1 0
3 3 3 3 4 3 3 1 0 0
3 2 3 3 4 2 0 2 0 0
2 4 2 0 0 0 1 0 0 0
3 3 0 2 0 0 0 0 0 0
|A|+|B|
8 8 4 2 2 12 12 2
4 2 4 2 10 14 10 4
0 6 12 16 20 10 8 6
4 14 12 14 10 4 6 4
giới hạn tại 12
0 0 0 0 1 1 0
0 0 0 0 0 1 0 0
0 0 1 1 1 0 0 2
1 1 1 1 0 0 0 0
Trang 15
Dựa trên phân tích một chiều, lý thuyết này có thể được áp dụng vào trường hợp
hai chiều, tính toán được chính xác xấp xỉ đạo hàm ảnh hai chiều.Toán tử Sobel
thực hiện phép đo gradient không gian hai chiều trong một ảnh Điển hình nó được
sử dụng tìm ra giá trị tuyệt đối xấp xỉ độ rộng gradient tại mỗi điểm trong độ xám
ảnh đầu vào.Phương pháp dò biên Sobel sử dụng cặp mặt nạ xoắn 3X3, ước lượng
gradient theo cột x, hàng y.Một mặt nạ xoắn thường nhỏ hơn nhiều so với ảnh
thực.Mặt nạ là slide trên ảnh, thao tác thực hiện các điểm ảnh trên cùng một
lúc.Mặt nạ Sobel được chỉ ra ở hình dưới
Độ dài đường dốc được tính bởi công thức:
Tính xấp xỉ:
Trang 16|G| = |Gx| + |Gy|
Mã của phương pháp dò biên Sobel :
FILE: edgeSob.c - WORKS!!
AUTH: Bill Green
DESC: 2 3x3 Sobel masks for edge detection
long getImageInfo(FILE*, long, int);
void copyImageInfo(FILE* inputFile, FILE* outputFile);
void copyColorTable(FILE* inputFile, FILE* outputFile, int nColors);
int main(int argc, char* argv[])
{
FILE *bmpInput, *bmpOutput;
Trang 17long sumX, sumY;
int nColors, SUM;
unsigned long vectorSize;
unsigned long fileSize;
int GX[3][3];
int GY[3][3];
unsigned char *pChar, someChar;
unsigned int row, col;
someChar = '0'; pChar = &someChar;
/* 3x3 GX Sobel mask Ref: www.cee.hw.ac.uk/hipr/html/sobel.html */
GX[0][0] = -1; GX[0][1] = 0; GX[0][2] = 1;
GX[1][0] = -2; GX[1][1] = 0; GX[1][2] = 2;
GX[2][0] = -1; GX[2][1] = 0; GX[2][2] = 1;
/* 3x3 GY Sobel mask Ref: www.cee.hw.ac.uk/hipr/html/sobel.html */
GY[0][0] = 1; GY[0][1] = 2; GY[0][2] = 1;
GY[1][0] = 0; GY[1][1] = 0; GY[1][2] = 0;
GY[2][0] = -1; GY[2][1] = -2; GY[2][2] = -1;
if(argc < 2) {
printf("Usage: %s bmpInput.bmp\n", argv[0]);
exit(0);
Trang 18};
printf("Reading filename %s\n", argv[1]);
/* -DECLARE INPUT & OUTPUT FILES -*/
/* -ALLOCATE MEMORY FOR FILES -*/
vectorSize = fileSize - (14+40+4*nColors);
printf("vectorSize: %lu\n", vectorSize);
Trang 19printf("%lu bytes malloc'ed for edgeImage.data\n", vectorSize);
originalImage.data = farmalloc(vectorSize*sizeof(unsigned char));
if(originalImage.data == NULL) {
printf("Failed to malloc originalImage.data\n");
exit(0);
}
printf("%lu bytes malloc'ed for originalImage.datt\n", vectorSize);
/* -COPY HEADER AND COLOR TABLE -*/
copyImageInfo(bmpInput, bmpOutput);
copyColorTable(bmpInput, bmpOutput, nColors);
fseek(bmpInput, (14+40+4*nColors), SEEK_SET);
fseek(bmpOutput, (14+40+4*nColors), SEEK_SET);
/* Read input.bmp and store it's raster data into originalImage.data */
for(row=0; row<=originalImage.rows-1; row++) {
for(col=0; col<=originalImage.cols-1; col++) {
fread(pChar, sizeof(char), 1, bmpInput);
*(originalImage.data + row*originalImage.cols + col) = *pChar;
}
}
Trang 20} }
if(sumX>255) sumX=255;
if(sumX<0) sumX=0;
/* -Y GRADIENT APPROXIMATION -*/
Trang 21for(I=-1; I<=1; I++) {
for(J=-1; J<=1; J++) { sumY = sumY + (int)( (*(originalImage.data + X + I + (Y + J)*originalImage.cols)) * GY[I+1][J+1]);
} }
*(edgeImage.data + X + Y*originalImage.cols) = 255 - (unsigned
char)(SUM); /* make edges black and background white */
fwrite( (edgeImage.data + X + Y*originalImage.cols), sizeof(char), 1,
farfree(edgeImage.data); /* Finished with edgeImage.data */
farfree(originalImage.data); /* Finished with originalImage.data */
return 0;
}
Trang 22/* -GET IMAGE INFO SUBPROGRAM -*/
long getImageInfo(FILE* inputFile, long offset, int numberOfChars)
fseek(inputFile, offset, SEEK_SET);
for(i=1; i<=numberOfChars; i++)
{
fread(ptrC, sizeof(char), 1, inputFile);
/* calculate value based on adding bytes */
value = (long)(value + (*ptrC)*(pow(256, (i-1))));
}
return(value);
} /* end of getImageInfo */
/* -COPIES HEADER AND INFO HEADER -*/
void copyImageInfo(FILE* inputFile, FILE* outputFile)
{
unsigned char *ptrC;
unsigned char dummy;
Trang 23fread(ptrC, sizeof(char), 1, inputFile);
fwrite(ptrC, sizeof(char), 1, outputFile);
}
}
/* -COPIES COLOR TABLE -*/
void copyColorTable(FILE* inputFile, FILE* outputFile, int nColors)
Trang 24for(i=0; i<=(4*nColors); i++) /* there are (4*nColors) bytesin color table */
{
fread(ptrC, sizeof(char), 1, inputFile);
fwrite(ptrC, sizeof(char), 1, outputFile);
}
}
Giải thích Sobel:
Mặt nạ Sobel được phủ trên một vùng của ảnh vào, thay đổi giá trị của điểm ảnh và
sau đó chuyển đổi ảnh sang phải và tiếp tục sang phải cho đến khi nó tìm ra vị trí
cuối cùng của hàng.Sau đó nó lại bắt đầu tại vị trí đầu của hàng kế tiếp.Ví dụ dưới
đây chỉ ra mặt nạ được phủ trên vùng trái phía đầu của ảnh và hiển thị bởi đường
màu xanh.Phương thức đó chỉ ra một điểm ảnh sẽ được tính toán.Tâm của mặt nạ
được xác định trên một điểm ảnh ta đang thao tác trên ảnh.Giá trị I và J được sử
dụng để chuyển file con trỏ
Ví dụ: ảnh 22 tương ứng giá trị mặt nạ m22
Chú ý rằng các điểm ảnh ở hàng đầu tiên và cuối cùng cũng như cột cuối cùng
không thể được thực hiện bởi mặt nạ 3X3.Bởi vì khi xác định điểm giữa của mặt nạ
trên một điểm ảnh ví dụ ở hàng đầu tiên, mặt nạ sẽ ở bên ngoài viền ảnh
Trang 25Mặt nạ GX làm nổi biên theo hướng nằm ngang Trong khi mặt nạ GY làm nổi biên
theo hướng thẳng đứng.Sau khi xác định độ lớn của cả 2, kết quả dò biên theo cả 2
hướng được đưa ra
2.3 Phép toán được quan tâm khác :
Toán tử Roberts có hiểu quả nhỏ hơn so với các thuật toán khác ,nó dễ tạo ra các
0 1 0
0 0 1 H 0
0 0
0 1 0
1 0 0
Thuật toán Prewit nhạy cảm đối với các biên thẳng đứng và ngang hơn so với các
biên đường chéo
1 0 1
1 0 1 H 1
1 1
0 0 0
1 1 1
Trang 260 0 0
1 2 1 H 1 0 0
2 0 2
1 0 0
3 Dò bậc hai
Trong nhiều ứng dụng ,chiều rông biên không được quan tâm
đến trong những ứng dụng khác ,như các thiết bị dò tìm ,nó khá được chú trọng
đến thuật toán gradien đã nói ở trên đã giải đáp giữa hai vẫn đề trên tại vùng mà
biên đang xét nó là tốt nhất cho việc xây dựng dần các đường biên gốc đúng như
ý tưởng ,việc tìm một đường biên cần phải chỉ ra mọi đường biên tại trung tâm của
một biên được đề cập ở đây là sự định vị nếu việc xác định một biên tạo ra một
bản đồ hình ảnh với các biên khác nhau mở rộng các điểm ảnh ,nó là khó khăn để
định vị các trung tâm của các biên nó trở thành cần thiết để mượn một tiến trình
nghèo nàn để làm bớt bề rộng của biên tới một điểm ảnh phần này cung cấp tốt
hơn sự định vị biên
Ví dụ: Một hình ảnh như sau:
9 8 7 6 5 4 3 2 1
9 8 7 6 5 4 3 2 1
9 8 7 6 5 4 3 2 1
9 8 7 6 5 4 3 2 1
9 8 7 6 5 4 3 2 1
Toán tử cơ bản Sobel dò biên thẳng đứng như miêu tả ở trên sẽ nhượng bộ một giá
trị đúng kéo dài từ bên này sang bên kia hình ảnh.Ví dụ nếu: