1. Trang chủ
  2. » Công Nghệ Thông Tin

BÁO CÁO XỬ LÍ ẢNH Biến đổi màu, phát hiện biên

9 241 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 278 KB
File đính kèm file phần mềm đi kèm.rar (2 MB)

Nội dung

Biến đổi màu, phát hiện biên

Trang 1

TẬ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 2

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 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 3

I 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 4

openFileDialog.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 5

1.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 6

Thủ 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 7

2.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 8

private 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

Ngày đăng: 04/01/2018, 10:51

w