12/08/2018, 16:08
Computer Vision - Image Processing - Point Processes
I. Introduction Như bài trước mình đã nói sơ lược những kiến thức cơ bản để bắt đầu học xử lý ảnh, hôm nay chúng ta sẽ đi chi tiết hơn vào việc tìm hiểu các thành phần của ảnh như ảnh số là gì, các thành phần của ảnh số... và cách cân bằng mức xám với ảnh xám. II. Digital Image 1. Concept ...
I. Introduction Như bài trước mình đã nói sơ lược những kiến thức cơ bản để bắt đầu học xử lý ảnh, hôm nay chúng ta sẽ đi chi tiết hơn vào việc tìm hiểu các thành phần của ảnh như ảnh số là gì, các thành phần của ảnh số... và cách cân bằng mức xám với ảnh xám.
II. Digital Image 1. Concept
Image | Digital Image |
---|---|
được biểu diễn trực quan dưới hình thức hàm số f(x, y) (trong đó x, y biến thiên trên miền liên tục) nhận các giá trị trên miền liên tục trong biên độ và không gian | là các giá trị rời rạc f[x, y] (trong đó x, y nhận các giá trị rời rạc) biểu diễn ảnh liên tục f(x, y) |
2. Pixel
- là các thành phần của một bức ảnh số.
- Mỗi thành phần của mảng 2 chiều f[x, y] được gọi là pixel hoặc pel (from "picture element")
- Có 3 loại:
- low-level: input, ouput là các ảnh
- mid-level: output là các thuộc tính mở rộng của ảnh input
- high-level: image analysis
3. Quantisation
- Nó biểu thị cho câu hỏi "How many bits per pixel?"
- Số lượng mức xám được yêu cầu trên một bức ảnh số tương ứng với số lượng bits trên mỗi pixel
- Một bức ảnh số điển hình sẽ có 256 mức xám
III. Point Processes
- Được hiểu như là cách chúng ta làm việc, thao tác với ảnh thông qua các giá trị điểm ảnh tại các điểm ảnh của một bức ảnh số.
- Point processes được dễ dàng thực hiện như "look up tables".
1. Arithmetic Operations
- là các công thức toán học cộng, trừ, nhân, chia sử dụng các giá trị tại các điểm ảnh với các giá trị cố định.
- Ví dụ
- Các vấn đề gặp phải khi sử dụng các công thức:
- Một số giá trị sẽ bị âm hoặc lớn hơn giá trị max là 255.
- Cách giải quyết:
- Với các giá trị âm, set cho nó giá trị bằng 0.
- Với các giá trị lớn hơn 255 thì set cho nó giá trị bằng 255.
- Một số ứng dụng:
- ứng dụng chụp hình y tế: hiển thị đường dẫn dòng chảy máu
- tự động kiểm tra mạch in
- giám sát an ninh
IV. Lookup-tables
- Là một bảng gồm 2 cột lưu giữ các giá trị cũ và mới của các điểm ảnh của một bức ảnh số.
- Ví dụ:
- Dùng để tra cứu giá trị mới khi chúng ta thực hiện một số phương pháp như cân bằng mức xám theo phương pháp: Histogram Equalization hoặc Histogram Specification.
V. Histogram
- Nó là một biểu đồ biểu diễn số lượng các giá trị pixel có trong một bức ảnh số.
- Các cường độ điểm ảnh được vẽ dọc theo trục x và số lần xuất hiện (tần số) cho mỗi cường độ tượng trưng cho trục y trục y.
- Ví dụ:
- Ví dụ histogram với ảnh màu:
VI. Histogram Equalization (HE)
- Mục tiêu: Cân bằng mức xám trong ảnh số để có được một biểu đồ thống nhất.
- HE sẽ không làm phẳng biểu đồ mà thay vào đó nó sẽ phân phối lại cường độ sao cho hợp lý.
- "Spreading" là tốt hơn "flattening" để miêu tả về HE.
- Các bước thực hiện:
- Thống kê tần suất xuất hiện của các mức xám
- Biến không gian 2 chiều thành một chiều
- Tính tổng số lần xuất hiện các giá trị của histogram
- Tạo bảng "look-up tables" => ảnh mới
- Ví dụ về các bước thực hiện như sau: => Ta có "look-up tables"
Input | Output |
---|---|
0 | 0 |
1 | 0 |
2 | 3 |
3 | 6 |
4 | 8 |
5 | 9 |
6 | 9 |
7 | 9 |
8 | 9 |
9 | 9 |
=> Kết quả
- Thuật toán:
- Áp dụng HE với ảnh màu:
VII. Histogram Specification
- Là một phiên bản tổng quát của HE
- Ứng dụng trong việc phát hiện khiếm khuyết của các sản phẩm mà chúng ta không thể nhìn bằng mắt thường, điển hình là các bản vi mạch.
- Để tìm sự khác nhau giữa ảnh nguồn và ảnh cần so sánh (có cùng mức xám), bằng cách "phân ngưỡng" với các giá trị không khác biệt thì set = 1 và ngược lại là bằng 0.
- Ví dụ: => Kết quả sau khi phân ngưỡng
- Còn đối với các bức ảnh có sự khác nhau về độ sáng thì chúng ta cần tìm "lookup-tables". Các bước thực hiện như sau:
- Tìm histogram của ảnh input hx, tính tích lũy Hx, HE sẽ mapping theo công thức:
- Xác định histogram của ảnh mong muốn hz, tính tích lũy Hz, HE sẽ mapping theo công thức:
- Xác định bảng "lookup-tables" theo công thức sau: => lookup[i] = j
- Thuật toán:
- Ví dụ:
- Ta có histogram của 2 ảnh:
- Bước 1: HE Px
- Bước 2: HE Pz
- Bước 3: Lập bảng tổng thể để tìm "lookup-tables"
- Và đây là histogram của ảnh kết quả