Biến đổi màu, phát hiện biên
Trang 1TẬP ĐOÀN ĐIỆN LỰC VIỆT NAM TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO XỬ LÝ ẢNH
Đề Tài: Biến đổi màu, phát hiện biên
Giáo viên hướng dẫn: Nguyễn Hữu Quỳnh Nhóm sinh viên thực hiên: Đàm Thị Mai
Chu Thị Thái Hà Lớp : C6 Tin
Hà nội 10 / 2009
Trang 2Lờ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 nghành của sinh viên hệ kỹ sư, hệ cử nhân nghành công nghệ thông tin, cũng như một nghành kỹ thuật khác trong các trường Đại Học Kỹ Thuật Ngày nay, có hàng trăm các ứng dụng xử lý ảnh khác nhau nhưng không phải ứng dụng nào cũng cung cấp đầy đủ các tính năng và miễn phí Chẳng có điều thần
kỳ gì ở trong việc cắt cúp Đó chỉ là quyết định mang tính cảm giác chủ yếu dựa vào phán đoán mang tính sáng tạo của nhiếp ảnh gia Ấy nhưng thường cũng có một số yếu tố có thể mang ra thảo luận một cách khách quan.Dưới đây là một phần mềm xử lý ảnh với tính năng biến đổi ảnh là:
Biến đổi màu
Phát hiện biên
Trang 3I Chức năng của chương trình:
Xuất phát từ ý tưởng xây dựng một chương trình xử lý ảnh Chương trình này chỉ là bước khởi đầu cho một sự tích hợp tất cả các ứng dụng xử lý ảnh vào trong một chương trình, đây sẽ là một trong những chương trình giúp người sử dụng hiểu rõ hơn về một số phép biến đổi trong xử lý ảnh
Trong khuôn khổ của một bài tập thực hành, ở đây xin được trình bày 2 phép biến đổi ảnh cơ sở bao gồm: Chuyển đổi ảnh, phát hiện biên
Dưới đây là giao diện chính của chương trình:
Load ảnh và lưu ảnh sau khi xử lý:
Load ảnh: Đây là chức năng đầu tiên của chương trình cho phép load
một ảnh bitmap 256 mầu để xử lý
Thủ tục load ảnh lên from giao diện người dùng
private void File_Load( object sender, System EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog ();
openFileDialog.InitialDirectory = "c:\\" ; openFileDialog.Filter = "Bitmap files (*.bmp)|*.bmp|Jpeg files (*.jpg)|*.jpg|All valid files (*.bmp/*.jpg)|*.bmp/*.jpg" ;
Trang 4openFileDialog.FilterIndex = 2 ; openFileDialog.RestoreDirectory = true ;
if ( DialogResult OK == openFileDialog.ShowDialog()) {
m_Bitmap = ( Bitmap ) Bitmap FromFile(openFileDialog.FileName, false );
this AutoScroll = true ;
this AutoScrollMinSize = new Size (( int ) (m_Bitmap.Width * Zoom), ( int )(m_Bitmap.Height * Zoom));
this Invalidate();
} }
Lưu ảnh: Là chức năng cho phép lưu trữ ảnh sau khi xử lý
Thủ tục lưu ảnh
private void File_Save( object sender, System EventArgs e)
{
SaveFileDialog saveFileDialog = new SaveFileDialog ();
saveFileDialog.InitialDirectory = "c:\\" ; saveFileDialog.Filter = "Bitmap files (*.bmp)|*.bmp|Jpeg files (*.jpg)|*.jpg|All valid files (*.bmp/*.jpg)|*.bmp/*.jpg" ;
saveFileDialog.FilterIndex = 1 ; saveFileDialog.RestoreDirectory = true ;
if ( DialogResult OK == saveFileDialog.ShowDialog()) {
m_Bitmap.Save(saveFileDialog.FileName);
} }
Trang 51.Biến đổi màu
- Chuyển ảnh màu thành ảnh xám
- Đổi màu ảnh theo ý muốn
Giao diện from chọn màu ảnh theo màu 3 màu đỏ, xanh lá, xanh biển Người sử
dụng phải nhập các giá trị theo mong muốn sau đó nhấn nút Đồng ý để thu được
ảnh Thủ tục thay đổi màu ảnh
private void Filter_Color( object sender, System EventArgs e)
{
ColorInput dlg = new ColorInput ();
dlg.red = dlg.green = dlg.blue = 0;
if ( DialogResult OK == dlg.ShowDialog()) {
m_Undo = ( Bitmap )m_Bitmap.Clone();
if ( BitmapFilter Color(m_Bitmap, dlg.red, dlg.green, dlg.blue))
this Invalidate();
} }
Trang 6Thủ tục chuyển màu đổi ảnh theo ý muốn với 3 màu đặc trưng: đỏ, xanh lá, xanh biển
protected override void Dispose( bool disposing )
{
if ( disposing ) {
if (components != null ) {
components.Dispose();
} }
base Dispose( disposing );
}
public int red {
get
{
return ( Convert ToInt32(Red.Text, 10));
}
set {Red.Text = value ToString();}
}
public int green {
get
{
return ( Convert ToInt32(Green.Text, 10));
}
set {Green.Text = value ToString();}
}
public int blue {
get
{
return ( Convert ToInt32(Blue.Text, 10));
}
set {Blue.Text = value ToString();}
}
Trang 72.Phát hiện biên
a 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ó kỹ thuật Laplace Hai phương pháp trên được gọi là phương pháp dò biên cục bộ ngoài ra người ta còn sử dụng phương pháp “đi theo
đường bao”: dựa vào nguyên lý qui hoạch hoạt động và được gọi là phương pháp dò biên tổng thể
b.Phương pháp phát hiện biên gián tiếp:
Nếu bằng cách nào đấy , 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 (texture) bề mặt của ảnh
Cũng cần lưu ý rằng, 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 Song nếu sự biến thiên độ sáng không đột ngột, phương pháp này lại kém hiệu quả Phương pháp dò biên gián tiếp tuy có khó cài đặt song lại áp dụng khá tốt khi sự biến thiên độ sáng nhỏ Biên là vấn đề chủ yếu trong phân tích ảnh vì các đặc điểm trích chọn trong quá trình phân tích để tiến tới hiểu ảnh chủ yếu dựa vào biên Sử dụng phương pháp phát hiện biên trực tiếp theo Laplace
Thủ tục phát hiện biên
private void OnEmbossLaplacian( object sender, System EventArgs e)
{
m_Undo = ( Bitmap )m_Bitmap.Clone();
if ( BitmapFilter EmbossLaplacian(m_Bitmap))
this Invalidate();
Trang 8private void OnEdgeDetectQuick( object sender, System EventArgs
e)
{
m_Undo = ( Bitmap )m_Bitmap.Clone();
if ( BitmapFilter EdgeDetectQuick(m_Bitmap))
this Invalidate();
}
II Kết Luận
Trong phần mà chúng em đã trình bày ở trên thì, một bước quan trọng khi phát triển một hệ xử lý ảnh trong một môi trường ứng dụng thực tế là xác định được mục tiêu tổng quát thật rõ ràng Thứ hai là xác định những hạn chế do môi trường ứng dụng đặt ra Thứ ba là thu lượm thông tin về ảnh cần xử lý
Khi đã cho mục tiêu tổng thể, các điều hạn chế và thông tin về lớp ảnh cần phải xử lý thì sẽ có nhiều phương pháp khác nhau để giải được bài toán
Chúng em hy vọng rằng qua phần chúng em đã trình bày ở trên, độc giả
có thể đọc thêm nhiều tài liệu về các chuyên mục, và các ứng dụng nghiên cứu
lý thuyết vào những vấn đề thực tiễn, cũng như về các tiến bộ mới trong nghiên cứu và triển khai thuộc lĩnh vực này
III Tài Liệu Tham Khảo
[1] Nhập Môn Xử Lý Ảnh ……… Nguyễn Thanh Thủy [2].Giáo Trình Xử Lý Ảnh ………Nguyễn Văn Ngô [3].Giáo Trình Xử Lý Ảnh………ĐH Back Khoa
- HẾT
Trang 9
- HẾT