MỘT SỐ XỬ LÝ CƠ
BẢN TRÊN MIỀN
KHÔNG GIAN
NGÔ QUỐC VIỆT
TPHCM-2014
Phân loại và các định dạng ảnh
Lân cận, tính liên thông, vùng và biên
OpenCV - Ví dụ đầu tiên
Các toán tử
5. Histogram và các xử lý
1.
2.
3.
4.
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
2
Kiến thức cơ bản về các loại ảnh
Một số khái niệm lân cận, liên thông thường dùng
trong xử lý ảnh
Xử lý ảnh mức xám thông qua các hoạt động trên
histogram
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
3
Điểm ảnh hay còn gọi là pixel (picture element, pels,
image elements) được xem như là dấu hiệu hay
cường độ sáng tại một toạ độ trong không gian của
đối tượng.
Ảnh được xem như là một tập hợp các điểm ảnh.
Khi được số hoá, được biểu diễn là ma trận 2 chiều
a[i][j] trong đó mỗi phần tử có một giá trị nguyên
hoặc là một véc tơ cấu trúc màu
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
4
Mỗi pixel chứa một màu (hoặc mức xám)
độ sâu z
màu
value(x, y, z, , t)
thời gian t
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
5
Lưới các pixel,
mỗi pixel chứa
một màu
p = (r,c) là vị trí pixel. r: row; c: column
I( p) = I(r,c) giá trị của pixel tại p
Ảnh màu có nhiều giá trị cho mỗi
pixel; Ảnh monochrome có 1 giá trị
mỗi pixel
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
6
Mức xám (gray level): Mức xám là kết quả sự mã
hoá tương ứng một cường độ sáng của mỗi điểm
ảnh với một giá trị số-kết quả của quá trình lượng
hoá
Các thang giá trị mức xám thông thường: 16, 32,
64, 128, 256 (Mức 256 là mức phổ dụng. Lý do: từ kỹ
thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức
xám: Mức xám dùng 1 byte biểu diễn: 256 mức xám,
tức là từ 0 đến 255)
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
7
Ảnh
Số bit/pixel Số màu
Ảnh đen trắng
1
2
Ảnh xám (gray scale) 8
256
Ảnh RGB
24
2563
Ảnh 32 bit
(true color+độ sâu)
32
2564
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
8
Các hoạt động có thể chia thành các loại
Trên điểm (pixel): giá trị điểm ảnh output chỉ phụ thuộc
một giá trị điểm ảnh tại cùng vị trí của ảnh input
Cục bộ (local): giá trị điểm ảnh output tại vị trí nhất định
(m, n) chỉ phụ thuộc vào giá trị các điểm ảnh lân cận của
điểm ảnh có cùng vị trí (m, n) trên ảnh input.
Toàn cục (global): giá trị điểm ảnh output tại vị trí nhất
định (m, n) phụ thuộc vào toàn bộ pixel trên ảnh input.
Nhằm tạo ra ảnh mới b[m,n] từ ảnh đầu vào
a[m,n] sao cho đạt một số mục tiêu tăng cường
chất lượng ảnh hoặc đáp ứng các yêu cầu phân
tích.
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
9
Điểm, cục bộ, và toàn cục
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
10
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
11
Một điểm ảnh p tại tọa độ (x, y)
có
4-lân-cận-ngang-và-dọc
của p
(x+1, y), (x-1, y), (x, y+1), (x, y-1)
x
x
p
x
N4(p)
x
4-lân-cận-chéo (Diagonal) của p
(x+1, y+1), (x+1, y-1),
(x-1, y+1), (x-1, y-1)
8-lân-cận của p: là sự kết hợp của
N4(p) và ND(p)
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
x
x
p
x
x
x
x
x
x
p
x
x
x
x
ND(p)
N8(p)
12
4-liền-kề: Hai điểm ảnh p và q là 4-liền-kề nếu q
thuộc tập N4(p).
8-liền-kề: Hai điểm ảnh p và q là 8-liền-kề nếu q
thuộc tập N8(p).
Ví dụ:
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
Các điểm ảnh
4-liền-kề
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
8-liền-kề
13
#include "stdafx.h“
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
int _tmain(int argc, _TCHAR* argv[])
{
// Open the file.
IplImage *img = cvLoadImage("building.jpg");
if (!img) {
printf("Error: Couldn't open the image file.\n");
return 1;
}
// Display the image.
cvNamedWindow("Image:", CV_WINDOW_AUTOSIZE);
cvShowImage("Image:", img);
// Wait for the user to press a key in the GUI window.
cvWaitKey(0);
// Free the resources.
cvDestroyWindow("Image:");
cvReleaseImage(&img);
return 0;
}
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
14
Input image
Enhancement
technique
Miền không gian
Xử lý trực tiếp trên pixel
Input image
Miền tần số
Xử lý trên biến đổi Fourier của ảnh
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
15
Thay đổi giá trị không phụ thuộc vào tọa độ các
điểm ảnh
Tăng giảm độ sáng, thống kê tần suất, biến đổi
tần suất , âm bản, biến đổi log, v.v.
Sử dụng biểu đồ tần suất, còn gọi là histogram.
Tần suất mức xám g của ảnh I là số điểm ảnh có giá
trị g. Histogram là biểu đồ các mức xám có trong
ảnh. Ví dụ cho ảnh I, histogram h(g) của I là:
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
16
“Trắng” chuyển thành ”đen” và ngược lại
Ảnh âm của ảnh I có [0,L-1] mức xám được xác định
bởi, với r là mức xám cụ thể:
s L 1 r
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
17
int main(int argc, char **argv) {
const char* imagename = argc > 1 ? argv[1] : "lena.jpg";
IplImage* img = 0;
int h, w, step, channels, i, j, k;
uchar *data;
img = cvLoadImage(imagename, CV_LOAD_IMAGE_UNCHANGED);
h = img->height; w = img->width;
step = img->widthStep;
channels = img->nChannels;
data = (uchar *)img->imageData;
//transforming to negative
for(i=0; i
for(j=0; j<;w; j++)
for(k=0; k
data[i*step+j*channels+k] = 255 - data[i*step+j*channels+k];
cvNamedWindow("OpenCV", CV_WINDOW_AUTOSIZE);
cvShowImage("OpenCV", img);
cvWaitKey(0);
cvReleaseImage(&img);
return 0;
}
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
18
Nhằm giãn các mức xám thấp của ảnh input có
được mức xám cao hơn. Nhằm làm cho bớt tối.
Mức xám s mới được xác định bởi
s c log(1 r )
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
19
Power-law:
,
hoặc
s
c
(
r
)
s cr
Với c, là hằng dương
Dùng cho trường hợp r=0.
Thay đổi giá trị sẽ tạo ra nhiều hiệu ứng. Còn gọi là
hiệu chỉnh gamma (gamma correction) trên ảnh.
Gamma correction rất quan trọng trong tạo ảnh
trung thực trên màn hình.
Sinh viên đọc thêm “Digital Image Processing-3rd
Edition” của Rafael C. Gonzalez từ 130-137. Thực hiện
với openCV những biến đổi này.
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
20
Gamma correction với gamma = 1, 0.7, 0.4, 0.1
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
21
Bằng cách tăng miền động (dynamic range) mức
xám của ảnh.
Ánh xạ miền mức xám sang miền mới theo nguyên
tắc nhất định. r: mức xám cũ; s: mức xám mới. (ri, si)
điều khiển dáng của biến đổi.
Nguồn: Digital Image Processing-Rafeal C. Gonzalez)
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
22
Nếu r1=r2 và s1=0, s2=L-1 thì chuyển sang ảnh nhị
phân.
Nếu (r1, s1)=(rmin, 0) và (r2, s2)=(rmax, L-1) thì kéo dãn
miền xám của ảnh sang toàn bộ miền xám [0, L-1]
(r1, s1)=(rmin, 0) và (r2, s2)=(rmax, L-1)
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
r1=r2=(rmax-rmin)/2
23
Lát cắt vùng xám (gray-level slicing): làm sáng một
miền xám xác định trên ảnh. Mong muốn làm sáng
một số đối tượng trên ảnh. Tăng mọi mức xám
trong miền cụ thể, và làm giảm các mức xám khác.
Lát cắt bit-plane (bit-plane slicing): xử lý trên từng
bit của điểm ảnh (giả sử dùng 8-bit cho điểm ảnh
gray scale). Có thể dùng trong image compression.
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
24
Hình dạng histogram thể hiện độ sáng (brightness)
của ảnh
Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt
25