1. Trang chủ
  2. » Luận Văn - Báo Cáo

kỹ thuật nén ảnh Fractal

32 1,2K 4

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 32
Dung lượng 1,74 MB

Nội dung

Kỹ thuật nén ảnh Fractal Mục lục Phụ lục……………………………………………………………………… 24 Lời giới thiệu Lý thuyết hình học Fractal .3 Phương pháp nén ảnh Fractal .4 2.1.Iterated Function System (IFS) .4 2.2.Tính chất không phụ thuộc vào độ phân giải trình xây dựng ảnh 2.3.Nguyên lý trình nén ảnh 2.4.Nén ảnh với Partitioned Iterated Function Systems 2.5.Ánh xạ cách tìm ánh xạ 10 2.6.Hướng mở rộng nén ảnh màu 13 3.Kỹ thuật nén ảnh Fractal với thuật toán di truyền .14 3.1 Sơ lược thuật toán di truyền 14 3.2 Sử dụng thuật toán di truyền kỹ thuật nén ảnh fractal 15 3.2.1 Áp dụng thuật toán di truyền .15 3.2.2 Vấn đề tổ chức liệu kết hợp với kỹ thuật QuadTree 15 3.3 Toán tử lai ghép 18 3.4 Toán tử đột biến 19 3.5 Cụ thể hoá giải thuật thành chương trình 19 Tổng kết 23 Phụ Lục 24 * Show Histogram .31 Phụ lục……………………………………………………………………… 24 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal Lời giới thiệu Dữ liệu hình ảnh dạng liệu quan trọng, lưu trữ, chuyển tải sử dụng nhiều ngành công nghệ thông tin đại Cách mô tả hình ảnh để xử lý máy tính mô tả ma trận điểm: ảnh (hình chữ nhật) chia thành nhiều ô lưới, ô đại diện điểm gọi điểm ảnh (pixel: picture element) điểm ảnh bố trí thành lưới hình chữ nhật có thứ tự giống ô tương ứng tạo thành hình ảnh Tập hợp điểm ảnh mô tả hình ảnh ban đầu độ phân giải mắt người hữu hạn Thế cách lưu trữ tốn kém: ảnh thông thường chứa hàng triệu điểm ảnh (ví dụ ảnh độ phân giải 1600x1200 - thường gặp máy ảnh số cao cấp - có 1.920.000 điểm ảnh) nên chúng có kích thước đến hàng chục Megabytes Do cần phải sử dụng phương pháp nén ảnh để giảm không gian lưu trữ giảm thời gian, chi phí chuyển tải Các kỹ thuật nén ảnh nói riêng nhiều kỹ thuật nén liệu nói chung dựa tư tưởng, giảm kích thước cách lưu trữ lần đối tượng liệu “giống nhau” Hai khối liệu khác máy tính giống người Vì ta có lớp kỹ thuật nén liệu (Lossy Compression) Lớp giải thuật gọi liệu chấp nhận số thông tin có giá trị với người trình nén để tăng tỉ số nén Ví dụ tiêu biểu JPEG (Joint Photographic Experts Group), có khả nén ảnh nhanh chóng hiệu quả: trường hợp thường gặp tỉ số nén tối đa mà kỹ thuật JPEG đạt mà chất lượng ảnh chấp nhận khoảng 25:1 Đó tỉ số nén cao, kỹ thuật nén JPEG chấp nhận rộng rãi coi tiêu chuẩn phương pháp nén ảnh Một phương pháp khác thuộc lớp giải thuật nén liệu phát triển phương pháp nén ảnh fractal Cơ sở phương pháp hình học fractal, môn toán học phát triển khoản 30 năm gần nhờ có giúp sức máy tính mạnh Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal Lý thuyết hình học Fractal Fractal thuật ngữ Benoît Mandelbrot, nhà nghiên cứu công ty IBM người Mỹ gốc Ba Lan (thời trẻ, Mandelbrot sống học Pháp), đưa để đối tượng có giống phần tỉ lệ khác Tính chất gọi tính tự-tương tự (self-similarity) Môn hình học nghiên cứu vật thể fractal dựa sở khai triển công thức đệ quy, mà công thức đệ quy phi tuyến (thực tế cách thể khác phương trình vi phân phi tuyến) giải phương pháp toán học tất định (deterministic) Việc giải phương trình tiến hành máy tính, cách tính điểm một, việc nghiên cứu vật thể fractal phát triển xuất máy tính có khả tính toán đủ mạnh (trước đó, có nhà khoa học phải tính tay vẽ giấy điểm trình hỗn loạn!) Hình học fractal có khả mô tự nhiên mạnh mẽ đối tượng nghiên cứu trải rộng nhiều ngành khác sở phương trình vi phân phi tuyến mà trình thực tự nhiên chịu chi phối quy luật phi tuyến Các vật thể fractal (đơn giản nhân tạo) có tính chất đặc biệt, chúng có hình dạng phức tạp mà điển hình tập Mandelbrot, hay dương xỉ, lại tạo cách áp dụng nhiều lần công thức đơn giản Người đặt móng cho kỹ thuật nén ảnh fractal Michael Barnsley, nhà nghiên cứu đối tượng fractal, đề ý tưởng từ công thức ta tạo hình ảnh ta làm ngược lại, tìm công thức từ hình ảnh cho trước lưu trữ công thức thay lưu trữ ma trận điểm ảnh, sau ta áp dụng công thức tìm để tái tạo lại hình ảnh Tất nhiên vật thể tự nhiên mô tả công thức đơn giản, cần phải tìm dạng hàm có khả mô tả hình ảnh Barsnley đưa dạng hàm không gian hai chiều có khả này, việc lưu trữ ảnh trở thành lưu trữ tập hợp hàm biến hình không gian hai chiều, gọi Iterated Function System: hệ thống hàm lặp, IFS IFS khái niệm trung tâm kỹ thuật nén ảnh fractal Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal Phương pháp nén ảnh Fractal 2.1.Iterated Function System (IFS) Một ánh xạ f(x) ánh xạ co khoảng cách hai ảnh tạo ánh xạ nhỏ khoảng cách hai nguyên ảnh: |f(x), f(y)| < |x, y| Ví dụ ánh xạ f(x) = x/2 co trường số thực Các ánh xạ co có tính chất quan trọng ta áp dụng lặp lặp lại ánh xạ co điểm x0 sau: x1 = f(x0) x2 = f(x1) = f(f(x0)) … xn = f(xn-1) lim(xn) n tiến vô điểm cố định (còn gọi điểm hút, attractor ánh xạ) không phụ thuộc vào x0 mà phụ thuộc vào ánh xạ, trường hợp ví dụ Các phương pháp lặp để giải phương trình hệ phương trình phương pháp Newton, lợi dụng tính chất ánh xạ co (và hệ kết phương pháp lặp có tính chất fractal) Định nghĩa vừa nêu nói đến ánh xạ không gian chiều tính chất co có tất loại ánh xạ không gian nhiều chiều khái niệm khoảng cách hàm Tính chất co tính chất định IFS Một IFS tập hợp (hữu hạn) ánh xạ co w1 wn mặt phẳng R2 IFS tác động lên khu vực hữu hạn mặt phẳng ánh xạ wi thu nhỏ khu vực mặt phẳng chép lên vùng khác mặt phẳng Như thông qua IFS, hình ảnh biến đổi thành hình ảnh khác Nếu sau áp dụng ánh xạ IFS lên hình ảnh I ta lại áp dụng tiếp IFS lên hình ảnh kết I1 lặp lặp lại trình này, ta có dãy hình ảnh I 2, I3, I4 … mà ảnh kết ngày giống sau lần lặp tính chất co ánh xạ IFS Và ánh xạ thu nhỏ ảnh lại chép ảnh thu nhỏ lên vùng ảnh nên sau lần áp dụng IFS, chi tiết nhỏ lại xuất lần lặp, IFS tạo chi tiết bị thu ngày nhỏ, chi tiết tạo nên hình ảnh tiếp tục bị thu nhỏ lần lặp (Hiện tượng tương tự việc vòng hồi tiếp thiết bị điện tử biến đổi đầu vào chúng theo tín hiệu để ổn định thông số mạch, nguyên nhân tính chất “resolution independence” ảnh giải nén theo kỹ thuật fractal Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal nói tới mục tiếp theo) Các hình ảnh I n ngày tiến gần đến (nhưng mặt toán học không trùng) hình ảnh cố định, gọi điểm hút (attractor) IFS Điểm hút phụ thuộc vào IFS mà không phụ thuộc vào hình ảnh ban đầu Trong thực tế, ta đạt tới hình ảnh không thay đổi sau vài (khoảng - 10) vòng lặp kích thước chi tiết sinh thêm bị giới hạn khả phân giải thiết bị raster (đơn vị pixel) Hình ảnh IFS tạo fractal tính chất lặp phương pháp sinh ảnh có chứa thu nhỏ với nhiều tỷ lệ khác Đó lý phương pháp gọi Fractal Image Compression: phương pháp nén ảnh fractal Ví dụ IFS Hãy hình dùng máy PhôtôCopy đặc biệt có chức giảm kích thước ảnh xuống nửa lại tự sinh lần Xem hình vẽ Điều xảy kết lại chuyển vào máy Phôtô lần Chúng to thấy tất copy dường hội tụ tới ảnh cuối ( Như ảnh 2c) Bởi máy làm giảm ảnh đầu vào, ảnh khác đặt khởi đầu máy copy chúng thu nhỏ lại tới điểm thực lặp lại trình Phô tô Hình vẽ : Một máy phô tô copy đặc biệt Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal Hình vẽ : Hình ảnh image sinh sau số lần lặp Như ta thấy cách thức ảnh đầu vào biến đổi xác định ảnh cuối 2.2.Tính chất không phụ thuộc vào độ phân giải trình xây dựng ảnh Quá trình xây dựng ảnh IFS có tính chất đặc biệt: trình xây dựng nên ảnh kích thước mà không tạo thành khối pixel có trị giống nhau, tức phóng lớn hình ảnh lên mà hình ảnh có chi tiết nhỏ Tính chất đặc biệt gọi “resolution independence”, tính độc lập độ phân giải Sở dĩ ảnh tạo IFS có tính chất ảnh fractal, có chi tiết kích thước Đây tính chất đặc trưng có kỹ thuật nén fractal Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal 2.3.Nguyên lý trình nén ảnh Quá trình nêu trình giải nén ảnh Đó trình đơn giản nhanh chóng Nhưng vấn đề phải tìm ảnh tốt tương ứng với ma trận cho sẵn phải sử dụng phép biến đổi tốt Bài toán gọi toán ngược Đó tìm IFS mô tả hình ảnh cho trước (có nghĩa sử dụng IFS để xây dựng lại hình ảnh cho với sai số chấp nhận được) Bài toán gọi “inverse problem” (bài toán đảo) phức tạp nhiều bậc so với việc xây dựng hình ảnh từ IFS cho trước Các thuật toán đề để giải toán có độ phức tạp tính toán lớn việc giảm bớt độ phức tạp vấn đề nghiên cứu Việc tìm IFS phù hợp với hình ảnh cho trước thực cách chọn thử ánh xạ, tính toán tìm ánh xạ khác tìm IFS vừa ý mà cần phải thực cách chặt chẽ Thuật toán Michael Barnsley đưa để thực việc lợi dụng tính tự-tương tự đối tượng fractal: - Tìm ảnh vùng tương tự với toàn ảnh (tức biến đổi thành thông qua phép biến hình đó) - Tìm ánh xạ tương ứng - Sau tìm toàn ánh xạ, ta có IFS cần tìm Giải thuật giống ý tưởng thuật toán thông thường thực tế không khả thi hai lý chính: việc tìm vùng ảnh tương tự với toàn ảnh thực thực có máy tính thật mạnh thực việc ảnh thường gặp, nhiều vùng tương tự với toàn ảnh (Thực tế giải thuật này khả thi ta có “universal mapping”, ánh xạ biến hoá từ hình ảnh thành hình ảnh khác, ánh xạ có lẽ không tồn tồn việc lưu trữ có lẽ tốn chỗ lưu trữ toàn ảnh, chứa toàn thông tin ảnh) Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal Một khía cạnh quan trọng giải thuật mang tính định kỹ thuật nén ảnh fractal, định nghĩa lại khái niệm tương tự Khái niệm hai hình ảnh tương tự hiểu hai hình ảnh biến đổi thành nhờ phép biến hình (ánh xạ) Việc chọn loại phép biến hình quan trọng trình nén ảnh ánh xạ áp dụng nhiều lần nên độ phức tạp định tốc độ nén Hiện người ta sử dụng phép biến hình affine theo lý thuyết ta sử dụng loại ánh xạ nói chung, cần tập hợp chúng co Ánh xạ affine ánh xạ tuyến tính, không gian hai chiều có dạng: F(X) = A*X + B F(X) ảnh hình X, A ma trận vuông cấp 2, định cách thức biến quay, co dãn, đối xứng, thay đổi độ đậm nhạt…, B vector biểu thị độ dịch ảnh so với nguyên ảnh Loại ánh xạ chọn tính đơn giản, dễ tính toán nó, mặt khác mối liên hệ “kiểu affine” phổ biến tự nhiên Cải tiến lớn làm cho phương pháp nén ảnh fractal trở thành thực Arnaud Jacquin đưa năm 1989, thay tìm tính tương tự phần toàn ảnh, ta tìm tính tương tự hai vùng ảnh với Tập hàm gọi Partitioned Iterated Function Systems (PIFS) 2.4.Nén ảnh với Partitioned Iterated Function Systems Nội dung kỹ thuật chia ảnh thành nhiều mảnh thuộc hai loại: domain range, range không phủ lên lát kín ảnh domain lớn range (để bảo đảm tính co cho ánh xạ) domain phủ lên nhau, sau với range ta tìm domain phù hợp với (sau Barnsley đổi chỗ hai khái niệm, tức ánh xạ trở thành biến range thành domain, dường không người theo cách gọi này) Đó công việc nặng nhọc có nhiều cặp range domain cần so sánh nên thuật toán chậm Có hai phương hướng cải tiến tăng tốc độ cho việc nén ảnh, là: (i) giảm số domain ảnh Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal (ii) thu nhỏ không gian tìm kiếm tức range ta cần thực phép so sánh Việc giảm số domain thực sau: - Các domain range hình vuông với độ dài cạnh 2n(1 < n < 6) - Buộc domain phải bắt đầu vị trí theo ràng buộc đó, ví dụ vị trí có toạ độ chẵn - Cố định tỉ lệ kích thước domain range, thường - Đơn giảm hoá ánh xạ: ánh xạ affine cho bị quay góc đối xứng với ảnh gốc, ta cố định góc quay ánh xạ bội số 90 o không sử dụng ánh xạ quay đối xứng, việc không sử dụng ánh xạ loại làm giảm bớt 1/8 số domain cần so sánh Mô hình mã hoá mô tả Hình vẽ mô tả trình mã hoá ảnh, với block vùng so sánh với Block miền hợp Hình vẽ mô hình hệ nén ảnh fractal, trước tiên khối block miền vùng xác định đem so sánh để xác định phép biến đổi Hình vẽ mô tả trình giải nén Transfomation pool : Xác định phép biến đổi thích hợp cho đối tượng ảnh tương ứng Domain pool : Chia nhỏ ảnh làm khối miền với kích thước DxD Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal Range pool : Chia nhỏ ảnh làm khối vùng với kích thước BxB với B Size) then end; If(Height mod 2*Size > size)then end; Size := Size/2; end; End; 3.3 Toán tử lai ghép Toán tử lai ghép có nhiệm vụ xét hai ánh xạ, trao đổi domain chúng cho nhau, ánh xạ tốt giữ lại, ánh xạ không cải thiện ánh xạ cũ không bị biến đổi Để giảm bớt thời gian thực chương trình ta bỏ qua việc lai ghép hai ánh xạ đạt yêu cầu Việc khó thực trình tiến hoá ta đánh giá sai số hàm gần Khi ta phải kết hợp sử dụng hàm xác để xác định chất lượng thực ánh xạ Nếu hàm gần nhanh ta không cần bước Thuật toán toán tử lai ghép sau: Thuật toán Alg3: Toán tử lai ghép Vào Map1, Map2: hai ánh xạ cần lai ghép Ra Hai ánh xạ sửa đổi Nếu ánh xạ sửa đổi hàm trả TRUE, không, hàm trả FALSE Hàm OK trả TRUE ánh xạ chấp nhận Hàm TestMap trả TRUE domain kiểm tra domain lân cận tốt domain cũ Thủ tục ApplyMap ghi nhận domain tìm Function CrossBreed(Map1, Map2) Begin 18 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal Done := False; If not(OK(Map1) and OK(map2)) then begin Done := TRUE; If TestMap(Map1, Map2.Domain) then begin ApplyMap(Map1, Map2.Domain); Done := TRUE End; If TestMap(Map2, Map1.Domain) then begin ApplyMap(Map2, Map1.Domain) Done := TRUE End; End; Return Done End; 3.4 Toán tử đột biến Công việc toán tử đột biến đơn giản lấy domain ngẫu nhiên, thử xem domain có hợp với range cũ không, hợp thay domain cũ domain Cũng toán tử lai ghép, ta không đột biến ánh xạ đạt yêu cầu Toán tử đột biến có hội thành công quần thể lớn tính không định hướng áp dụng với xác suất nhỏ nhiều so với toán tử lai ghép Thuật toán Alg4: Toán tử đột biến Vào Map: Toán tử cần đột biến Ra Như Alg3 Function Mutate(Map) Begin Done := False; If not(OK(Map)) then begin Domain := Random; If TestMap(Map, Domain) then begin ApplyMap(Map, Domain); Done := TRUE End; End; Return Done End; 3.5 Cụ thể hoá giải thuật thành chương trình Chương trình minh hoạ sử dụng ngôn ngữ C++, trình dịch Microsoft Visual C+ + 6.0, có sử dụng thư viện Microsoft Foundation Class (MFC) Chương trình hỗ trợ ảnh Windows Bitmap 24 bit màu (24bpp BMP) Module nén/giải nén ảnh grayscale 8bpp không đưa vào chương trình a Tổ chức liệu 19 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal Để thao tác range domain, chương trình sử dụng lớp SQUARE, AFFINEMAP DOMAINDATA Sau biểu đồ UML định nghĩa lớp: typedef class SQUARE { protected: static PPDWORD CumRange[3]; static PPFLOAT CumRange2[3]; static PPFLOAT CumDomain2[3]; public: static void SetCumArray(PPDWORD Domain2[]); LONG x; LONG y; LONG sLog; float sum[3]; float sum2[3]; } *PSQUARE; Range[], PPFLOAT Domain[], PPFLOAT PPDWORD SQUARE::CumRange[3]; PPFLOAT SQUARE::CumRange2[3]; PPFLOAT SQUARE::CumDomain2[3]; typedef class DOMAINDATA:public SQUARE { public: void SetPos(LONG ox, LONG oy, LONG slog); } *PDOMAIN; typedef class AFFINEMAP: public SQUARE { public: PDOMAIN dom; // pointer pointed to domain approriate with the map // Map infomation: int contrast[3]; // contrast factors (quantized) int brightness[3]; // brightness offset values (shifted and quantized) 20 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal double error2; // squared error value (may be approximated value) #ifdef APPROXIMATIVE_EVALUATION DWORD AppError2; // Approximative error2 #endif AFFINEMAP* next; // the next map of PIFS AFFINEMAP(LONG ox, LONG oy, LONG slog); } *PAFFINEMAP; Ở ta kết hợp mô tả range vào ánh xạ range cần ánh xạ, không cần phải thêm lớp mô tả range Nhưng ánh xạ có domain, nên domain lưu ánh xạ domain tốt tìm ánh xạ Mỗi hàm FindMap tìm thấy domain tốt hơn, cập nhật trỏ dom AFFINEMAP Khi chưa có domain ghi nhận giá trị lỗi phải có giá trị thật lớn, lớn lỗi ánh xạ có thể, để FindMap việc Để biểu diễn pixel 24bit ta dùng cấu trúc RGBTRIPLE chuẩn Windows, ta sử dụng cấu trúc PIXEL tự định nghĩa cho việc ta cần truy nhập pixel giống mảng ba byte chương trình Thứ tự xếp BGR để cấu trúc tương thích với cấu trúc RGBTRIPLE Windows typedef union PIXEL { struct { BYTE B; BYTE G; BYTE R; }; BYTE Elem[3]; } *PPIXEL; Ngoài chương trình có vài cấu trúc nữa, lớp COMPACTMAP chứa ánh xạ module giải nén đọc từ file nén cấu trúc DOMAININFO chứa thông tin chung cho domain cỡ Lớp COMPACTMAP sử dụng trình giải nén cấu trúc DOMAININFO sử dụng cho trình nén giải nén typedef struct DOMAININFO { int PosBits; // number of bits used for store position value of a domain int xDomains; // number of domains in horizontal order int yDomains; // number of domains in vertical order } *PDOMAININFO; typedef class COMPACTMAP { public: LONG x; LONG y; 21 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal LONG dx; LONG dy; int size; int contrast[3]; int brightness[3]; COMPACTMAP *next; COMPACTMAP(LONG rx, LONG ry, int rangesize) {x = rx; y = ry; size = rangesize; } } *PCOMPACTMAP; Việc tìm ánh xạ xác thực hàm FindMap Hàm sử dụng công thức bình phương nhỏ để tìm contrast factor, brightness offset lỗi 22 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal Tổng kết Đánh giá phương pháp nén ảnh Fractal Phương pháp nén ảnh fractal không sử dụng rộng rãi, phần kỹ thuật có quyền, muốn sử dụng phải xin phép trả tiền, chủ yếu tốc độ nén phương pháp chậm nhiều so với phương pháp khác Mặc dù nhiều cải tiến đưa tốc độ kỹ thuật chậm nhiều so với phương pháp JPEG Mặt khác, chất lượng ảnh nén tỉ số nén trung bình so với ảnh nén tỉ số phương pháp nén JPEG Tuy nhiên ưu điểm phương pháp nén ảnh fractal đạt tới tỉ số nén cao có đạt đến 70:1 hay so với giới hạn chấp nhận 25:1 JPEG Phương pháp có hai ưu điểm khác so với phương pháp khác tốc độ giải nén vượt trội tính độc lập độ phân giải, tính chất có lẽ hữu dụng (Tất nhiên tính độc lập độ phân giải ảnh giải nén có giới hạn thông tin có ảnh gốc có giới hạn Ta phóng lớn ảnh để đọc báo khoảng cách hàng ngàn km được) Một số phương hướng phát triển Chương trình có tỉ số nén chất lượng ảnh so với ảnh nén phương pháp nén JPEG Các khác biệt nhận thấy mắt thường Nguyên nhân tình trạng ảnh thông thường, có nhiều chỗ tương tự nhau, vùng tương tự không hoàn toàn giống nhau, mặt khác phần lớn chỗ tương tự tương tự đường nét đối tượng Để nâng cao lực phương pháp, ta sử dụng nhiều biện pháp thay đổi hình dáng range domain, sử dụng thêm phép quay đối xứng ánh xạ, có hướng khác, hướng dựa vào nhận xét, khu vực ttương tự người khác chi tiết nhỏ, ta có lọc làm nhoè hình ảnh (bộ lọc soften) đảo ngược (chỉ cần mức gần đúng), ta giảm bớt khác hai khối ảnh cải 23 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal thiện khả nén chất lượng ảnh Để có hình ảnh ban đầu, sau giải nén ta cần áp dụng lọc sharpen nghịch đảo lọc soften sử dụng để thu hình ảnh ban đầu Phụ Lục MỘT SỐ KẾT QUẢ THỰC HIỆN * Smooth: làm mờ vùng chọn ảnh Thường dùng để giảm nhiễu cách khoanh vùng có nhiều nhiễu thực smooth ảnh gốc ảnh sau smooth ảnh gốc tạo với số điểm nhiễu nhỏ Khoanh vùng tập trung điểm nhiễu, thực smooth Kết vùng chọn bị mờ Tức giảm nhiễu xong làm mờ chi tiết ảnh Sau dùng phương pháp khác để khôi phục lại chi tiết Phương pháp khử nhiễu thích hợp với nhiễu có mức xám nhỏ so với chi tiết ảnh Khi chi tiết bị mờ đồng thời loại bỏ nhiễu * Sharpen: tăng độ tương phản làm bật (accentuate) chi tiết vùng chọn song làm tăng nhiễu Để giảm thiểu tăng nhiễu ta cần Smooth hay Reduce Noise trước Nói chung cần tăng độ tương phản hay làm bật phần ảnh thi ta khoanh vùng lại 24 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal Không smooth trước sharpen Smooth trước sharpen Trong ảnh muốn làm bật dòng chữ Hilton nên ta chọn vùng chữ thực hai phép biến đổi sharpen có không dùng smooth trước Các vùng khác giữ nguyên  Phần ảnh gốc có chữ Hilton cần làm bật * Shadow: tạo hiệu ứng bóng với ánh sáng xuất từ hướng chọn dialog box Mỗi chi tiết ảnh rõ đồng thời tăng nhiễu Dùng tạo nhanh hiệu ứng bóng cho đối tượng ảnh * Find Edges: thực thao tác dò biên, phát biên ảnh ảnh gốc Phát biên * Rank Filters…: gồm ba phương pháp Median : xếp ma trận 3x3 pixel lân cận thay pixel trung tâm với giá trị vị trí (median) Phương pháp dùng để giảm nhiễu Để thực tốt việc giảm nhiễu theo cách ta cần khoanh vùng cẩn thận ảnh gốc ảnh sau lọc Median Kết lọc nhiễu trường hợp ảnh hình tốt Tức ảnh có hai mức sáng nhiễu thay màu màu chi 25 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal tiết ảnh Nói chung kết phương pháp lọc phụ thuộc nhiều vào số lượng mức xám ảnh cách phân bố điểm ảnh Minimum : thay pixel trung tâm với giá trị nhỏ ma trận 3x3 Đây xem phương pháp ăn mòn (erosion) đối tượng xoá bỏ điểm đứng cách ly Thao tác hữu hiệu muốn xoá bỏ hoàn toàn nhiễu vùng riêng biệt ảnh ảnh gốc ảnh sau khoanh vùng nhóm lọc Minimum Phương pháp lọc nhiễu hiệu nhiễu nằm riêng biệt so với chi tiết ảnh (dễ khoanh vùng độc lập) có mức xám lớn mức xám Trong ảnh gốc ta tạo nhóm nhiễu Sau lần khoanh ta loại bỏ nhóm Tiếp tục ta loại hết nhiễu Maximum : thay pixel trung tâm với giá trị lớn ma trận 3x3 Đây xem phương pháp dãn (dialatation) đối tượng thêm pixel nối đối tượng không liên tục phủ kín lỗ trống Rất tiện để khôi phục lại thiếu hụt số chi tiết ảnh sau loại bỏ nhiễu ảnh gốc ảnh sau lọc Maximum Các chi tiết ảnh sau thực lọc dãn ra, làm kín phần khe hở nhỏ * Dither: chuyển vùng chọn sang ảnh nhị phân trắng đen Được sử dụng để tạo ảnh cho ứng dụng chấp nhận ảnh nhị phân Chất lượng ảnh dither tốt tăng độ tương phản trước Các ảnh màu thực cần chuyển sang ảnh đa mức xám trước dither 26 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal ảnh gốc ảnh sau dither Kỹ thuật áp dụng để tạo ảnh đa cấp sáng độ phân giải nguồn đích Mỗi phần tử gốc so sánh với phần tử tương ứng ma trận dither Nếu nhỏ bị xoá (gán màu trắng) * Binary: lệnh menu dùng để chuyển ảnh đa mức xám sang ảnh nhị phân đen trắng xử lý ảnh nhị phân Make Binary: chuyển ảnh đa mức sáng sang ảnh nhị phân cách gán cho pixel highlight density slicing or phân ngưỡng (threshold) màu đen (255) lại gán cho màu trắng (0) ảnh gốc ảnh threshold make binary Threshold kỹ thuật đặt ngưỡng để thị màu Các điểm ảnh so sánh với ngưỡng định trước Giá trị ngưỡng định điểm có hiển thị hay không Do kết ảnh bị số chi tiết Có nhiều kỹ thuật chọn ngưỡng áp dụng cho đối tượng khác dùng phương pháp hiển thị hai màu với ngưỡng 88 Pixel có mức xám < 88 gán thành ngược lại gán thành 255 27 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal Như hinh ảnh sau threshold make binary đối tượng bị đi, ảnh hai màu đen trắng mức xám khác Erode: xoá bỏ pixel biên đối tượng ảnh nhị phân Một pixel bị xóa (gán màu trắng) nhiều lân cận trắng Erode dùng để xoá điểm đứng cách ly (isolate) ảnh nhị phân gốc ảnh sau Erode Các chân rết bị xoá bỏ khỏi ảnh gốc sau thao tác erode Phương pháp dùng dể lọc nhiễu hay loại bỏ nét run ảnh Dilate: thêm pixel vào biên đối tượng ảnh nhị phân Một pixel thêm vào (gán màuđen) nhiều lân cận đen Dilate dùng để nối đối tượng không liên tục phủ kín lỗ trống ảnh nhị phân gốc ảnh sau dilate Skeletonize: lặp lại thao tác loại bỏ pixel biên đối tượng ảnh nhị phân đến khung đơn pixel ảnh nhị phân gốc ảnh sau thực skeletonize * Arithmetic: 28 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal Add: Cộng số vào pixel vùng chọn Kết > 255 gán 255 Dùng để tăng cường số chi tiết ảnh cách chọn vùng Subtract: trừ số vào pixel vùng chọn Kết < gán Tương tự cho thao tác khác: multiply, divide, log, and, or, xor : nói chung phương pháp dùng để tăng cường chi tiết ảnh làm giảm nhiễu * Image Math: thực phép toán số học, logic hai ảnh Các thao tác thực với pixel Kết nhân với hệ số tỷ lệ cộng với độ lệch để cuối số bit Nếu kích thước hai ảnh khác nhau, thao tác thực hình chữ nhật lớn chung chúng ảnh phép cộng hai ảnh Nói chung thao tác hai ảnh tạo hiệu ứng ghép hình * FFT: tính biến đổi Fourier hiển thị phổ công suất (power spectrum) 29 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal ảnh gốc phổ công suất * Inverse FFT: tính biến đổi Fourier ngược phổ công suất Nhìn chung ảnh tìm giống ảnh gốc ảnh tìm * Enhance contrast: tăng cường độ tương phản ảnh thời 30 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal ảnh gốc ảnh enhance constrast * Equalize: thực cân histogram ảnh gốc ảnh Equalize * Show Histogram Hiển thị lược đồ mức xám phần chọn Có nhiều 256 mức xám cho phần hiển thị Các thông số vùng chọn hiển thị cửa sổ Info Khi trỏ di chuyển qua cửa sổ Histogram ta cửa sổ Info hiển thị level (mức xám) count (số Pixels) 31 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal Khi cửa sổ Histogram kích hoạt ta copy vùng Histogram (dướI fạng BMP) liệu histogram (là cột Text) vào Clipboard Ta lưu liệu histogram vào file text cách dùng Export command 32 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN [...]... nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal Tổng kết 1 Đánh giá phương pháp nén ảnh Fractal Phương pháp nén ảnh fractal không được sử dụng rộng rãi, một phần là do kỹ thuật này có bản quyền, muốn sử dụng phải xin phép và trả tiền, nhưng chủ yếu là do tốc độ nén của phương pháp này chậm hơn rất nhiều so với các phương pháp khác Mặc dù rất nhiều cải tiến đã được đưa ra nhưng tốc độ của kỹ thuật này vẫn chậm hơn... ĐHQGHN Kỹ thuật nén ảnh Fractal ảnh gốc ảnh sau khi dither Kỹ thuật này được áp dụng để tạo ra ảnh đa cấp sáng khi độ phân giải nguồn và đích như nhau Mỗi phần tử gốc được so sánh với phần tử tương ứng của ma trận dither Nếu nhỏ hơn nó sẽ bị xoá (gán màu trắng) * Binary: các lệnh trong menu này dùng để chuyển ảnh đa mức xám sang ảnh nhị phân đen trắng và xử lý các ảnh nhị phân Make Binary: chuyển ảnh. .. được nêu ở trên chỉ sử dụng cho ảnh đơn sắc (ảnh xám, gray scale) Ảnh màu được tổ chức khác với ảnh đơn sắc, cách lưu trữ ảnh màu hiện nay là lưu trữ trong không gian màu RGB, mỗi màu được tổng hợp từ ba màu cơ bản là đỏ, xanh lam và xanh sẫm (Red, Green, Blue) Bởi vậy để nén ảnh màu ta có thể tổ chức ảnh thành ba ảnh xám rồi nén riêng ba ảnh này Rất nhiều phương pháp nén ảnh khác như JPEG đều giải quyết... công suất * Inverse FFT: tính biến đổi Fourier ngược phổ công suất Nhìn chung ảnh tìm được khá giống ảnh gốc ảnh tìm được * Enhance contrast: tăng cường độ tương phản của ảnh hiện thời 30 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal ảnh gốc ảnh được enhance constrast * Equalize: thực hiện cân bằng histogram ảnh gốc ảnh được Equalize * Show Histogram Hiển thị lược đồ mức xám của phần được... lọc làm nhoè hình ảnh (bộ lọc soften) nhưng có thể đảo ngược được (chỉ cần ở mức gần đúng), ta có thể giảm bớt sự khác nhau giữa hai khối ảnh do đó cải 23 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal thiện khả năng nén và chất lượng ảnh Để có được hình ảnh ban đầu, sau khi giải nén ta cần áp dụng một bộ lọc sharpen nghịch đảo của bộ lọc soften đã sử dụng để thu được hình ảnh ban đầu Phụ... Mặt khác, chất lượng ảnh nén ở các tỉ số nén trung bình cũng kém hơn so với ảnh nén cùng tỉ số bằng phương pháp nén JPEG Tuy nhiên ưu điểm chính của phương pháp nén ảnh fractal là nó có thể đạt tới tỉ số nén rất cao có khi đạt đến 70:1 hay hơn nữa so với giới hạn còn chấp nhận được 25:1 của JPEG Phương pháp này còn có hai ưu điểm khác so với các phương pháp khác là tốc độ giải nén vượt trội và tính... lượng giá chính xác trước khi có thể sử dụng 3.2.2 Vấn đề tổ chức dữ liệu khi kết hợp với kỹ thuật QuadTree Kỹ thuật Quadtree được sử dụng trong nén ảnh fractal để tận dụng tính tự tương tự của ảnh ở mức cao hơn Thay vì chỉ sử dụng một cỡ range cố định, kỹ thuật Quadtree sử dụng nhiều cỡ range khác nhau, quá trình nén được thực hiện như sau: tìm ánh xạ cho các range cỡ lớn nhất, nếu range nào không tìm... Median Kết quả lọc nhiễu trong trường hợp ảnh như hình trên là khá tốt Tức là ảnh chỉ có hai mức sáng thì nhiễu luôn được thay bằng màu hoặc của nền hoặc màu của chi 25 Lớp K12T3 - ĐH Công nghệ - ĐHQGHN Kỹ thuật nén ảnh Fractal tiết ảnh Nói chung kết quả của phương pháp lọc này phụ thuộc rất nhiều vào số lượng mức xám trong ảnh cũng như cách phân bố các điểm ảnh này Minimum : thay thế pixel trung tâm... chi tiết của ảnh sau khi đã loại bỏ nhiễu ảnh gốc ảnh sau khi lọc Maximum Các chi tiết ảnh sau khi thực hiện lọc được dãn ra, làm kín phần khe hở nhỏ * Dither: chuyển vùng được chọn sang ảnh nhị phân trắng đen Được sử dụng để tạo ảnh cho các ứng dụng chỉ chấp nhận ảnh nhị phân Chất lượng ảnh được dither có thể được tốt hơn nếu tăng độ tương phản trước Các ảnh màu thực cần được chuyển sang ảnh đa mức... phân giải của ảnh giải nén là có giới hạn do thông tin có trong ảnh gốc là có giới hạn Ta không thể phóng lớn ảnh để đọc báo ở khoảng cách hàng ngàn km được) 2 Một số phương hướng phát triển Chương trình này có tỉ số nén và chất lượng ảnh rất kém so với ảnh nén bằng phương pháp nén JPEG Các khác biệt là có thể nhận thấy được bằng mắt thường Nguyên nhân của tình trạng này là do trong các ảnh thông thường,

Ngày đăng: 22/09/2016, 22:17

TỪ KHÓA LIÊN QUAN

w