Tìm hiểu các phép biến đổi trên biểu đồ phân bố và thử nghiệm ứng dụng các phép xử lý histogram trên ảnh đa mức xám và ảnh màu 24 bit

Mỗi phép biến đổi dù với mục đích gì thì cũng cần áp dụng một cách mềm dẻo để đạt được mục đích tốt nhất.Ví dụ , xét trên phương diện cảm quan nghệ thuật chứ không phải phương diện công nghệ xử lý. Histogram là công cụ đắc lực nhưng không thay thế cảm nhận nghệ thuật của con người, nhất là những người luôn tìm kiếm sự phá cách trong nhiếp ảnh. Nếu người chụp cố tình ghi lại những khoảng tối của màn đêm hay khoảng tuyết trắng xóa thì histogram sẽ có những ngọn cao về trái hoặc về phải. Điều đó không có nghĩa là bức ảnh không đẹp.

doc22 trang | Chia sẻ: lylyngoc | Lượt xem: 3287 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Tìm hiểu các phép biến đổi trên biểu đồ phân bố và thử nghiệm ứng dụng các phép xử lý histogram trên ảnh đa mức xám và ảnh màu 24 bit, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Báo Cáo Bài Tập Lớn Xử Lý Ảnh Đề Tài :Tìm hiểu các phép biến đổi trên biểu đồ phân bố và thử nghiệm ứng dụng các phép xử lý histogram trên ảnh đa mức xám và ảnh màu 24 bit. 1.Histogram là gì? 1.1.Định nghĩa : Histogram là biểu đồ phân bố giá trị mức xám của một ảnh hoặc một vùng ảnh số(một số công cụ cho phép xem histogram của một vùng ảnh đã chọn) Với ảnh đa mức xám,histogram là một biểu đồ cột duy nhất.Với trục hoành được chia thành 256 giá trị đô chói (i) và trục tung là tần xuất xuất hiện giá trị (i) trong ảnh tương ứng với 1 ma trận dữ liệu ảnh : Tương tự ,ảnh màu có histogram là 3 biểu đồ cột thế hiên độ chói của ba màu cơ bản trên ảnh tương ứng với 3 ma trận dữ liệu ảnh .(Trong photo shop thì Histogram ảnh màu được kết hợp thành một biểu đồ duy nhất.) – Histogram máy Nikon 1.2 Cách tính: Xét ma trận dữ liệu ảnh H(m,n) Chạy I từ 0->255 và đếm số điểm ảnh có cùng mức xám i. Code :tính H(x) cho ảnh xám int H[]=new int[255];``````` for(y = 0;y<bm.Height - 1;y++) { for( x = 0;x<bm.Width - 1;x++) { H[bm.GetPixel(x, y).R] += 1; } } Sau khi thoát khỏi vòng lặp, mỗi phần tử trong mảng H là giá trị số lượng điểm ảnh tại mức xám của vị trí phần tử đó 2.Các phép biến đổi trên histogram và ứng dụng: 2.1 Trượt Histogram: a.Lý thuyết : Mục đích: làm tăng hoặc giảm cường độ xám của ảnh Ý tưởng : O(x,y) = I(x,y) + n n ảnh tối hơn n > 0 : trượt ảnh về bên phải => ảnh sáng hơn Chú ý: Kết quả của O(x,y) có thể > 255 hoặc < 0 vì vậy bạn cần chú ý để set lại 2 giá trị này. Code : private Bitmap HisToGramStep(Bitmap bm, int n) { Bitmap bitmap=new Bitmap(bm); int x, y; Color c; for( y = 0;y= 0 ) bitmap.SetPixel(x, y, Color.FromArgb(c.R + n, c.R + n, c.R + n)); else if ((c.R + n) > 255) bitmap.SetPixel(x, y, Color.FromArgb(255, 255, 255)); else if ((c.R + n) < 0) bitmap.SetPixel(x, y, Color.FromArgb(0, 0, 0)); } } return bitmap; } b.Kịch bản : Công cụ :PS Brightness(Photoshop->Image->Adjustments ->Brightness/contrast): Ảnh đầu vào : Nhập mức xám muốn tăng và có kết quả trực tiếp trên màn hình : Ta làm tương tự với ảnh đa mức xám ->Kết quả : (sau khi tăng độ chói) 2.2Phép co dãn biểu đồ : a.Lý thuyết : Mục đích: làm thay đổi độ tương phản của ảnh . Ý tưởng: Thông thường trong một số ảnh,các giá trị xám không phủ đều toàn bộ dải xám sẵn có mà chỉ tập chung vào một khoảng nhất định,điều này làm ảnh bị sáng quá,tối quá ,hoặc độ tương phản kém.Vì vậy giải pháp được đưa ra là kéo dãn biểu dải xám ra mức lớn nhất có thể.Ta có công thức sau: Cụ thể : Với Plow là ngưỡng dưới,Phigh là ngưỡng trên. Code trên C: private Bitmap HisToGramStretch(Bitmap bm, int n)  { if (n = 0 ) bitmap.SetPixel(x, y, Color.FromArgb(c.R * n, c.R * n, c.R * n)); else if ((c.R * n) > 255 ) bitmap.SetPixel(x, y, Color.FromArgb(255, 255, 255)); else if ((c.R * n) < 0 ) bitmap.SetPixel(x, y, Color.FromArgb(0, 0, 0)); } } return bitmap; } b.Kịch bản Công cụ :PS Levels(Photoshop->Image->Adjustments->Levels) Đầu vào :Ảnh có histogram khuyết hai đầu độ tương phản kém Thao tác :tat hay đổi giải xám ảnh đầu vào : Kết Quả : Cùng với công cụ trên ta có thể chỉnh sửa cho ảnh RGB (lần lượt chỉnh từng histogram ứng với các màu green ,blue,red )như hình minh hoạ : Phép cân bằng(san bằng) biểu đồ: a.Lý thuyết : Mục đích:Histogram equalization xuất phát từ mục đích so ánh các ảnh trên cùng một cơ sở cụ thể; Làm hiện ra các đối tượng bị che khuất(nhờ việc tăng độ tương phản ảnh trong quá trình sử lý).Vì vậy người ta đưa Histogram về một biểu đồ định trước Ý tưởng:San đều biểu đồ ,làm xác suốt xuất hiện các điểm có giá trị độ chói (i) trong ảnh thuộc khoảng [a min;amax].Hàm mật độ xác suất đầu vào và đầu ra có quan hệ sau : Ở đây ta mặc đinh pb(b) = Constant.Tức là : Các bước cụ thể: Code trên C: private Bitmap HistogramEqualization(Bitmap bm) { Bitmap bitmap = new Bitmap(bm); int w = bitmap.Width * bitmap.Height; //Tinh to chuc do int h []= new int[255]; int hN[] = new int[255]; GetH(bm, h); //Chuan hoa to chuc do for (int i = 0; i = h / w; } //Tinh ham mat do xac Suat int Z []= new int[255]; Z[0] = hN[0]; for (int i = 1; i = Z[i - 1] + hN; } int x, y; Byte c; for (y = 0; y * 255)); bitmap.SetPixel(x, y, Color.FromArgb(c, c, c)); } } return bitmap; }  Ví dụ: Cân bằng histogram của ảnh S Xác định tần số mức xám mức xám 10 20 30 40 50 60 70 tần suất  3   4  5  3  3  3  4 Suy ra ;  Áp dụng ImEq[i,j]=255*Hc[Im[i,j]] và làm tròn số liệu ta có Mức xám sin 10 20 30 40 50 60 70 Thay thế bởi sout 31 72 122 153 184 214 255 b.Kịch bản : Công cụ :PS Equalize(Photoshop->Image->Adjustments) Ảnh Đầu: Thao tác : Kết quả :Histogram đã được “san bằng”,ảnh có độ tương phản cao : Tương tự với cùng một thao tác ta có thể áp dụng cho ảnh đa mức xám : Nhận xét tương tự là ảnh có độ tương phản cao giúp ta có thể nhận thấy rõ ràng các đối tượng trong ảnh .Vì vậy phương pháp này được ứng dụng rộng rãi trong các lĩnh vực khoa học như thiên văn học và y học… 3.Nhận xét và tổng kết: Mỗi phép biến đổi dù với mục đích gì thì cũng cần áp dụng một cách mềm dẻo để đạt được mục đích tốt nhất.Ví dụ , xét trên phương diện cảm quan nghệ thuật chứ không phải phương diện công nghệ xử lý. Histogram là công cụ đắc lực nhưng không thay thế cảm nhận nghệ thuật của con người, nhất là những người luôn tìm kiếm sự phá cách trong nhiếp ảnh. Nếu người chụp cố tình ghi lại những khoảng tối của màn đêm hay khoảng tuyết trắng xóa thì histogram sẽ có những ngọn cao về trái hoặc về phải. Điều đó không có nghĩa là bức ảnh không đẹp. Histogram ở bức ảnh này cho thấy khoảng đen rất lớn nhưng một chút ánh sáng của mặt trăng đã làm nên vẻ đẹp của khung hình. Histogram của bức ảnh này nghiêng về phía phải nhưng các chi tiết không bị cháy. Nói tóm lại ứng dụng các phép xử lý ảnh nói riêng và các công nghệ nói chung luôn cần có sự mềm dẻo và linh động . Phân công công việc Hoàng Việt Hùng -trưởng nhóm phân công việc,tìm hiểu phần “ Ph ép cân bằng biểu đồ histogam ” và “ Phép trượt biểu đồ histogram”,viết báo cáo và slide báo cáo trên lớp. Lê Đình Hưng tìm tài liệu và làm báo cáo phần “ Phép co dãn biểu đồ histogram”. Nguyễn Văn Toàn đóng góp ý kiến chỉnh sửa slide ,báo cáo. Tài Liệu Tham Khảo : Bài giảng xử lý ảnh Cô Hoàng Lan Xử Lý Ảnh Số -Lương Mạnh Bá-Nguyễn Thanh Thủy Fundamental of Image Processing Ref Mục Lục Contents Tài Liệu Tham Khảo :

Các file đính kèm theo tài liệu này:

  • dochistogram_7207.doc
Luận văn liên quan