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

Đồ án kỹ thuật lập trình Tìm hiểu thuật toán Isodata xác định ngưỡng để phân đoạn ảnh.

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 (443.23 KB, 21 trang )

ĐỒ ÁN KỸ THUẬT LẬP TRÌNH
Đề tài: Tìm hiểu thuật toán Isodata xác định ngưỡng để
phân đoạn ảnh. Thử nghiệm với ảnh đa mức xám
GVHD : Bùi Thị Thảo
Họ và tên: Đinh Thị Ánh
Lớp : DS-TIN 5
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
MỤC LỤC
LỜI NÓI ĐẦU 2
KẾT LUẬN 21
LỜI NÓI ĐẦU
Ngày nay, công nghệ thông tin đã và đang đóng vai trò quan trọng trong
đời sống kinh tế, xã hội của nhiều quốc gia trên thế giới, là một phần không thể
thiếu trong một xã hội hiện đại. Các nhu cầu về thông tin ngày càng phức tạp.
Nó không chỉ đơn thuần là các văn bản như trước kia. Nó đã trở thành công cụ
không thể thiếu đối với các hình thức lưu trữ, biểu diễn thông tin. Và từ đó nhu
cầu xử lý các bức ảnh để phục vụ cho nhiều mục đích khác nhau đã dẫn đến việc
hình thành một khóa học có tên là “Xử lý ảnh”.
Xử lý ảnh tuy là một ngành khoa học còn mới mẻ so với nhiều ngành
khoa học khác nhưng hiện nay nó đang là một trong những lĩnh vực phát triển
rất nhanh. Xử lý ảnh bao gồm nhiều kỹ thuật như: thu nhận ảnh, nén dữ liệu ảnh,
xử lý năng cao chất lượng và khôi phục ảnh, phát hiện biên, phân vùng ảnh,
nhận dạng ảnh Trong các kỹ thuật trên thì phân đoạn ảnh là một bước khó nhất
trong xử lý ảnh. Nó là tiền đề quan trọng cho bước nhận dạng, là một kỹ thuật có
rất nhiều ứng dụng. Phân đoạn ảnh sẽ trợ giúp đắc lực cho quá trình nhận dạng,
tìm kiếm các ảnh để minh họa cho các bài báo giúp phát hiện ra các đối tượng
chuyển động trong một cuộn film
Người ta đã đưa ra một số phương pháp phân đoạn ảnh phân đoạn ảnh
theo ngưỡng, phân đoạn ảnh theo miền đồng nhất, phân đoạn ảnh theo kết cấu
bề mặt.
Trong đề tài này, em sẽ tìm hiểu thuật toán ISODATA xác định ngưỡng để phân


đoạn ảnh và cài đặt chương trình sử dụng phần mềm Microsoft Visual Studio
2008 bằng ngôn ngữ lập trình C# .
Em xin chân thành cảm ơn.
Sinh viên thực hiện
Sinh viên thực hiện: Đinh Thị Ánh Trang 2
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
Đinh Thị Ánh
Sinh viên thực hiện: Đinh Thị Ánh Trang 3
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
I. SƠ LƯỢC VỀ XỬ LÝ ẢNH
1. Tổng quan về một hệ thống xử lý ảnh
Xử lý ảnh là đối tượng nghiên cứu của lĩnh vực thị giác máy, là quá trình
biến đổi từ một ảnh ban đầu sang một ảnh mới với các đặc tính và tuân theo ý
muốn của người sử dụng. Xử lý ảnh có thể gồm quá trình phân tích, phân lớp
các đối tượng, làm tăng chất lượng, phân đoạn và tách cạnh, gán nhãn cho vùng
hay quá trình biên dịch các thông tin hình ảnh của ảnh.
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. 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. Xử lý ảnh số bao gồm các phương pháp và kĩ thuật để biến đổi, để truyền
tải hoặc mã hoá các ảnh tự nhiên.
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.
Hình 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.
Sinh viên thực hiện: Đinh Thị Ánh Trang 4

Ảnh Xử lý ảnh
Ảnh “tốt hơn”
Kết luận
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
Sơ đồ tổng quát của một hệ thống xử lý ảnh:
Hình 2: Các bước cơ bản trong hệ thống xử lý ảnh
Sơ đồ này bao gồm các thành phần sau:
a)Thu nhận ảnh (Image Acquisition):
Đây là công đoạn mang tính quyết định đối với quá trình xử lý ảnh. Ảnh
đầu vào sẽ được thu nhận qua các thiết bị như camera, máy scanner, vv và sau
đó các tín hiệu này được số hóa. Các thông tin quan trọng ở đây là độ phân giải,
chất lượng màu, dung lượng bộ nhớ và tốc độ thu nhận ảnh của các thiết bị.
b)Tiền xử lý ảnh (Image Processing):
Sau bộ thu nhận, ảnh sẽ được cải thiện về độ tương phản, khử nhiễu, khử
bóng, khử độ lệch, vv với mục đích làm cho chất lượng ảnh trở nên tốt hơn
nữa và thường được thực hiện bởi các bộ lọc.
c) Phân đoạn ảnh (Segmentation) hay phân vùng ảnh:
Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để
biểu diễn phân tích, nhận dạng ảnh. Ví dụ: để nhận dạng chữ (hoặc mã vạch)
trên phong bì thư cho mục đích phân loại bưu phẩm, cần chia các câu, chữ về
địa chỉ hoặc tên người thành các từ, các chữ, các số (hoặc các vạch) riêng biệt
để nhận dạng. Giai đoạn này nhằm phân tích ảnh thành những thành phần có
cùng tính chất nào đó dựa theo biên hay các vùng liên thông.
Mục đích của phân đoạn ảnh là để có một miêu tả tổng hợp về nhiều phần
tử khác nhau cấu tạo lên ảnh thô.
d) Biểu diễn và mô tả ảnh (Image Representation):
Sự chọn lựa các biểu diễn thích hợp cho một vùng ảnh mới chỉ là một
phần trong việc chuyển đổi dữ liệu ảnh thô sang một dạng thích hợp hơn cho
các xử lý về sau. Chúng ta cần phải đưa ra một phương pháp mô tả dữ liệu đã
Sinh viên thực hiện: Đinh Thị Ánh Trang 5

Nhận dạng
và nội suy ảnh
Biểu diễn
và mô tả ảnh
Phân đoạn ảnh
Thu nhận
ảnh
Tiền XLA
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
được chuyển đổi đó sao cho những tính chất cần quan tâm đến sẽ được làm nổi
bật lên, thuận tiện cho việc sử dụng.
e) Nhận dạng và nội suy ảnh (Image Recognition and Interpretation):
Nhận dạng ảnh là quá trình xác định ảnh. Quá trình này thường thu được
bằng cách so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước. Nội suy là
phán đoán theo ý nghĩa trên cơ sở nhận dạng. Ví dụ: một loạt chữ số và nét gạch
ngang trên phong bì thư có thể được nội suy thành mã điện thoại. Có nhiều cách
phân loại ảnh khác nhau về ảnh. Theo lý thuyết về nhận dạng, các mô hình toán
học về ảnh được phân theo hai loại nhận dạng ảnh cơ bản:
- Nhận dạng theo tham số.
- Nhận dạng theo cấu trúc.
Đây là bước cuối trong quá trình xử lý ảnh. Nhận dạng ảnh có thể được
nhìn nhận một cách đơn giản là việc gán nhãn cho các đối tượng trong ảnh.
Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng
trong khoa học và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký
điện tử), nhận dạng văn bản (Text), nhận dạng vân tay, nhận dạng mã vạch, nhận
dạng mặt người…
2. Các khái niệm cơ bản về Xử lý ảnh:
a) Điểm ảnh(Pictrure Element):
Điểm ảnh hay còn gọi là pixel (picture element, pels, image elements) là
một phần tử của ảnh số tại tọa độ (x,y) với độ xám hoặc màu nhất định. Kích

thước và khoảng cách của các điểm ảnh đó được chọn thích hợp sao cho mắt
người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của ảnh số
gần như ảnh thật. Mỗi phần tử trong ma trận được gọi là một phần tử ảnh.
Ảnh được xem như là một tập hợp các điểm ảnh. Khi được số hoá nó
thường được biểu diễn là ma trận 2 chiều a[i][j] mà mỗi phần tử có một giá trị
nguyên hoặc là một véc tơ cấu trúc màu.
b) Độ phân giải của ảnh (Resolution):
Độ phân giải của ảnh là mật độ điểm ảnh được ấn định trên một ảnh số
được hiển thị.
Sinh viên thực hiện: Đinh Thị Ánh Trang 6
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
Theo định nghĩa, khoảng cách giữa các điểm ảnh sẽ được chọn sao cho
mắt người thấy được sự liên tục của ảnh. Việc lựa chọn khoảng cách thích hợp
tạo nên một mật độ phân bổ, đó chính là độ phân giải và được phân bố theo trục
x và y trong không gian hai chiều.
c) Mức xám (gray level):
Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị số
tại điểm đó. Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256. Mức
256 là mức phổ dụng. Lý do: từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu
diễn mức xám: Mức xám dùng 1byte biểu diễn: 2
8
=256 mức, tức là từ 0 đến 255
mức.
d) Ảnh đen trắng:
Ảnh đen trắng là ảnh chỉ có màu đen và màu trắng. Người ta phân mức
đen trắng đó thành L mức. Nếu sử dụng số bit B=8 bít để mã hóa mức đen trắng
(hay mức xám) thì L được xác định : L=2
B
.
Nếu L bằng 2, B=1, nghĩa là chỉ có 2 mức: mức 1 ứng với màu sáng, mức

0 ứng với màu tối, còn gọi là ảnh nhị phân.Nếu L lớn hơn 2 ta có ảnh đa cấp
xám.
e) Ảnh nhị phân:
Ảnh nhị phân là ảnh chỉ có 2 mức đen trắng phân biệt tức là dùng 1 bit
mô tả 2
1
mức khác nhau. Nói cách khác: mỗi điểm ảnh của ảnh nhị phân chỉ có
thể là 0 hoặc 1.
Ảnh nhị phân khá đơn giản, các phần tử ảnh có thể coi như các phần tử
logic. Ứng dụng chính của nó được dùng theo tính logic để phân biệt đối tượng
ảnh với nền hay để phân biệt điểm biên với điểm khác.
Sinh viên thực hiện: Đinh Thị Ánh Trang 7
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
Hình 3 : Ảnh nhị phân
f) Ảnh đa mức xám:
Ảnh đa mức xám là ảnh mà mỗi điểm ảnh được biểu diễn bởi một giá trị
và đó là cường độ sáng của điểm ảnh.
Ảnh đa mức xám là ảnh có sự chuyển dần mức xám từ trắng sang đen. Sử
dụng 8 bit (tức 256 màu) để biểu diễn mức xám. Nói cách khác, với ảnh nhị
phân mỗi điểm ảnh được mã hóa trên 1 bit, còn với ảnh 256 mức, mỗi điểm ảnh
được mã hóa trên 8 bit. Như vậy, với ảnh đen trắng: nếu dùng 8 bit (1 byte) để
biểu diễn mức xám, số các mức xám có thể biểu diễn được là 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 độ đen nhất và mức 255 sẽ biểu diễn cho mức
cường độ sáng nhất.
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í đó.
Sinh viên thực hiện: Đinh Thị Ánh Trang 8
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo

Hình 4 : Ảnh đa mức xám
g)Ảnh màu:
Ảnh màu là ảnh được tổ hợp từ 3 màu cơ bản là đỏ(R), xanh lục(G), xanh
lơ (B). Để tiết kiệm bộ nhớ với những ảnh có số lượng màu nhỏ hơn hoặc bằng
256 màu thì màu của các điểm ảnh được lưu trữu dưới dạng bảng màu. Với
những ảnh có số màu lớn thì các điểm ảnh không tổ chức dưới dạng bảng màu,
khi đó giá trị của các điểm ảnh chính là giá trị của các thành phần màu R, G, B.
Trong khuôn khổ lý thuyết ba màu R, G, B để tạo nên thế giới màu, người ta
thường dùng 3 byte để mô tả mức màu, khi đó các giá trị màu: 2
8*3
=2
24
≈ 16,7
triệu.
Sinh viên thực hiện: Đinh Thị Ánh Trang 9
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
Hình 5 : Ảnh màu
Sinh viên thực hiện: Đinh Thị Ánh Trang 10
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
II. THUẬT TOÁN ISODATA
1. Phân đoạn ảnh:
Phân đoạn ảnh là bước then chốt trong xử lý ảnh. Giai đoạn này nhằm
phân tích ảnh thành những thành phần có cùng tính chất nào đó dựa theo biên
hay các vùng liên thông. Mỗi vùng gồm một nhóm pixel liên thông và đồng nhất
theo một tiêu chuẩn nào đó. Tiêu chuẩn này phụ thuộc vào mục tiêu của quá
trình phân đoạn. Ví dụ như cùng mức xám, cùng màu, hay cùng độ nhám
Trước hết chúng ta cần làm rõ các khái niệm “vùng ảnh ” (Segment) và đặc
điểm vật lý của vùng.
Vùng ảnh là một chi tiết, một thực thể trong toàn ảnh. Nó là một tập hợp
các điểm có cùng hoặc gần cùng một tính chất nào đó: mức xám,mức màu, độ

nhám Vùng ảnh là một trong hai thuộc tính của ảnh. Nói đến vùng ảnh là nói
đến tính chất bề mặt. Đường bao quanh một vùng ảnh là biên ảnh. Các điểm
trong một vùng ảnh có độ biến thiên giá trị mức xám tương đối đồng đều hay
tính kết cấu tương đồng.
Phân vùng ảnh là quá trình phân hoạch tập các điểm ảnh của X thành các
tập con của các vùng ảnh R
i
thỏa mãn các điều kiện sau:
1) R
i
# Ø
2) R
i
R
j
= Ø
3) R
i
R
j
=X
Dựa vào đặc tính vật lý của ảnh, người ta có nhiều kỹ thuật phân đoạn ảnh
chính như :
- Phân đoạn ảnh theo ngưỡng.
- Phân đoạn ảnh theo miền đồng nhất.
- Phân đoạn ảnh theo kết cấu bề mặt.
Sinh viên thực hiện: Đinh Thị Ánh Trang 11
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
2. Phân đoạn ảnh dựa theo ngưỡng
a) Khái quát về phân đoạn ảnh dựa theo ngưỡng

Phương pháp phân đoạn ảnh theo ngưỡng là việc phân các phần tử có
chung một số thuộc tính nào đó theo các tiêu chuẩn về thuộc tính.
Việc chọn ngưỡng trong kỹ thuật này là một bước vô cùng quan trọng,
thông thường người ta tiến hành theo các bước chung như sau:
 Xem xét lược đồ xám của ảnh để xác định các đỉnh và các khe. Nếu
ảnh có dạng rắn lượn (nhiều đỉnh và khe), các khe có thể dùng để
chọn ngưỡng.
 Chọn ngưỡng T sao cho một phần xác định trước η của toàn bộ số
mẫu là thấp hơn T.
 Điều chỉnh ngưỡng dựa trên lược đồ xám của các điểm lân cận.
 Chọn ngưỡng theo lược đồ xám của những điểm thỏa mãn tiêu chuẩn
chọn.
Để hiểu rõ hơn nguyên tắc phân vùng dựa vào ngưỡng biên độ, xét thí dụ sau:
Hình 6: Lược đồ rắn lượn và cách chọn ngưỡng
Sinh viên thực hiện: Đinh Thị Ánh Trang 12
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
Giả sử ảnh có lược đồ xám như hình trên ta chọn được các ngưỡng là: T0,
T1, T2, T3, T4. Ta có 5 ngưỡng và phân ảnh thành 4 vùng, ký hiệu C
k
là vùng
thứ k của ảnh với k=1,2,3,4. Cách phân vùng theo nguyên tắc :
P(m,n)

C
k
nếu T
k-1
≤ P(m,n) < T
k
, k=1,2,3,4.

Khi phân vùng xong, nếu ảnh rõ nét thì việc phân vùng coi như kết thúc.
Nếu không, cần điều chỉnh ngưỡng.
b) Thuật toán ISODATA
ISODATA là viết tắt của từ Iteractive Self Organizing DataAnalysis. Đây
là kĩ thuật chọn ngưỡng theo kiểu lặp do Ridler và Calvart đưa ra.
 Ý tưởng:
Giả sử rằng chúng ta đang quan tâm đến các đối tượng sáng (object) trên
nền tối (background), một tham số T gọi là ngưỡng độ sáng, sẽ được chọn cho
một ảnh f[x,y] theo cách:
If f[x,y] ≥ T f[x,y] = object = 1
Else f[x,y] = Background = 0.
Ngược lại, đối với các đối tượng tối trên nền sáng chúng ta có thuật toán
sau:
If f[x,y] < T f[x,y] = object = 1
Else f[x,y] = Background = 0.
 Mô tả thuật toán:
Thuật toán phân ảnh X(m,n) thành 2 vùng như sau:
 Bước 1 (khởi tạo):
Chọn ngưỡng T
0
tùy ý (thông thường chọn T
0
= L/2)
(L là mức xám của ảnh)
 Bước 2:
Phân ảnh X(m,n) thành 2 vùng R
right
và R
left
dựa vào T

0
 Bước 3:
Sau đó tính độ sáng trung bình của 2 vùng ảnh:
+ m
f,0
là độ sáng của những điểm ảnh thuộc đối tượng
+ m
b,0
là độ sáng của những điểm ảnh nền.
Kiểm tra T
0
có bằng (m
f,0
+ m
b,0
)/2 không?
+ Nếu đúng: Thuật toán kết thúc
Sinh viên thực hiện: Đinh Thị Ánh Trang 13
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
(tức là ngưỡng T
0
lúc này là ngưỡng đúng và ta phân ảnh thành 2
vùng dựa vào ngưỡng T
0
này)
+ Nếu sai: gán T
0
= (m
f,0
+ m

b,0
)/2 rồi quay lại Bước 2
Ưu điểm của thuật toán: Đây là một thuật toán khá mềm dẻo nó cho phép
điều chỉnh ngưỡng theo từng bước cho đến khi tìm được giá trị ngưỡng
thích hợp.
Sinh viên thực hiện: Đinh Thị Ánh Trang 14
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
III. CÀI ĐẶT CHƯƠNG TRÌNH
- Cài đặt thuật toán ISODATA xác định ngưỡng để phân đoạn ảnh. Chương
trình được cài đặt trên Microsoft Visual Studio 2008 bằng ngôn ngữ C#.
Phânđoạn.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing.Imaging;
using System.Diagnostics;
using System.Drawing;
using System.Windows.Forms;
using System.Data;
namespace thuattoanisodata
{
class phandoan
{
public static Bitmap Phandoan(Bitmap bm)
{
int i, j;
Color c;
int T0; T0 = 127;
int m;

int tong1, tong2;
int n1, n2; n1 = n2 = 1;
int M = bm.Width;
int N = bm.Height;
int [,] X;
//Đọc ảnh đầu vào và lưu vào mảng X:
X = new int[M, N];
for (i = 0; i < 255; i++)
Sinh viên thực hiện: Đinh Thị Ánh Trang 15
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
for (j = 0; j < bm.Height - 1; j++)
{
for (i = 0; i < bm.Width - 1; i++)
{
c = bm.GetPixel(i, j);
m = (int)(c.R * 0.287 + c.G * 0.599 + c.B
* 0.114);
X[i, j] = m;
}
}
//Gán giá trị khởi tạo cho tong1, tong2
if (X[0, 0] < T0)
{
tong1 = X[0, 0];
tong2 = 0;
}
else
{
tong1 = 0;
tong2 = X[0, 0];

}
//Xác định ngưỡng T0
for (j = 1; j < bm.Height - 1; j++)
{
for (i = 1; i < bm.Width - 1; i++)
{
if (X[i, j] < T0)
{
tong1 = tong1 + X[i, j];
n1++;
}
else
{
tong2 = tong2 + X[i, j];
Sinh viên thực hiện: Đinh Thị Ánh Trang 16
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
n2++;
}
if ((tong1 / n1 + tong2 / n2) / 2 == T0) break;
else
T0 = ((tong1 / n1 + tong2 / n2) / 2);
}
}
MessageBox.Show("Giá trị ngưỡng tìm được T0 = " +
T0.ToString(), "Thông báo");
//Phân đoạn ảnh theo ngưỡng T0
for (j = 0; j < bm.Height - 1; j++)
{
for (i = 0; i < bm.Width - 1; i++)
{

if (X[i, j] > T0)
bm.SetPixel(i, j, Color.FromArgb(0, 0, 0));
else bm.SetPixel(i, j, Color.FromArgb(255,
255, 255));
}
}
return bm;
}
}
}
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
Sinh viên thực hiện: Đinh Thị Ánh Trang 17
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.Diagnostics;
namespace thuattoanisodata
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

}
Stopwatch st = new Stopwatch();
private void btmoanh_Click_1(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
panhgoc.Image = Bitmap.FromFile(ofd.FileName);
}
}
private void btthuchien_Click_1(object sender,
EventArgs e)
{
st.Reset();
st.Start();
phandoan anh = new phandoan();
panhdich.Image =
phandoan.Phandoan((Bitmap)panhgoc.Image);
}
private void btluuanh_Click_1(object sender, EventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Bitmap(*.BMP) |*.bmp|JPG(*.JPG)|
*.jpg|JPEG(*JPEG)|*.jpeg";
Sinh viên thực hiện: Đinh Thị Ánh Trang 18
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
sfd.OverwritePrompt = true;
if (sfd.ShowDialog() != DialogResult.Cancel &&
sfd.FileName != "")
{

panhdich.Image.Save(sfd.FileName, ImageFormat.Bmp);
}
}
}
}
Sinh viên thực hiện: Đinh Thị Ánh Trang 19
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
Kết quả của chương trình với giá trị ngưỡng T0 = 24.
Sinh viên thực hiện: Đinh Thị Ánh Trang 20
Đồ án Kỹ thuật lập trình GVHD: Bùi Thị Thảo
KẾT LUẬN

Trong quá trình thực hiện đồ án này, em đã hiểu thêm về môn Xử lý ảnh,
với những kiến thức đầy đủ về thuật toán ISODATA xác định ngưỡng để phân
đoạn ảnh cũng như có cơ hội tìm hiểu thêm về Ngôn ngữ lập trình C#.
Khi làm đồ án này em đã cố gắng hết sức, song với khoảng thời gian
không nhiều và khả năng của em còn nhiều hạn chế nhưng nhờ sự giúp đỡ tận
tình của cô Bùi Thị Thảo em đã hoàn thành đồ án của mình đúng thời gian quy
định.Tuy nhiên, trong quá trình làm bài, vẫn có nhiều sai sót rất mong nhận
được sự góp ý của cô và các thầy cô giáo khác trong khoa để đồ án của em được
hoàn thiện hơn.
Em xin chân thành cảm ơn!
Sinh viên thực hiện: Đinh Thị Ánh Trang 21

×