1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

MÔ PHỎNG NHẬN DẠNG vật THỂ THEO HÌNH DẠNG HÌNH học (có code)

22 215 0

Đ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 22
Dung lượng 513,12 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MÔ PHỎNG NHẬN DẠNG vật THỂ THEO HÌNH DẠNG HÌNH học (có code) .... MÔ PHỎNG NHẬN DẠNG vật THỂ THEO HÌNH DẠNG HÌNH học (có code) .... MÔ PHỎNG NHẬN DẠNG vật THỂ THEO HÌNH DẠNG HÌNH học (có code) .... MÔ PHỎNG NHẬN DẠNG vật THỂ THEO HÌNH DẠNG HÌNH học (có code) ....

Trang 1

MÔ PHỎNG NHẬN DẠNG VẬT THỂ THEO HÌNH DẠNG HÌNH HỌC

Trang 3

DANH MỤC CÁC HÌNH VẼ

Trang 5

DANH MỤC CÁC TỪ VIẾT TẮT

DFT Discrete Fourier Transform

VSGA Super Video Graphics Array

DCT Discrete Cosine Transform

Trang 6

CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI

1.1 Giới thiệu

Những năm gần đây thì xử lý ảnh đạt nhiều thành tựu và ngày cành cải tiến tốthơn Trong đó thì vấn đề nhận dạng và phân loại hình ảnh được ứng dụng ngày càngphổ biến hơn Nhờ các ứng dụng của hệ thống nhận dạng hình ảnh mà khối lượngcông việc của con người giảm bớt và tăng độ chính xác cao hơn trong công việc

1.2 Yêu cầu đề tài

Mô phỏng hệ thống nhận dạng hình ảnh của vật thể theo hình dạng hình học trênmatlab Xác định được hình dạng của vật thể và đem ra kết quả chính xác so vớihình dạng hình học cơ bản

1.3 Giải quyết vấn đề

- Tìm hiểu về ảnh số và sử lý ảnh

- Tìm hiểu về thư viện Digital Image Processing trên matlab

- Tìm hiểu các giải thuật nhận dạng hình học trên matlab

- Viết code và mô phỏng chương trình bằng matlab

Trang 7

Các bước cơ bản trong xử lý ảnh:

Hình 2.1: các bước cơ bản của xử lý ảnh [1]

1.1.2 Các khái niệm

• Điểm ảnh (Picture Element)

Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng Để xử lýảnh bằng máy tính thì ảnh cần được số hóa Số hóa ảnh là sự biến đổi gần đúng mộtảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (không gian) và độsáng (độ xám) của ảnh thật mỗi điểm xác định trên được gọi là một điểm ảnh(Picture Element) hay thường gọi là pixel Trong khuôn khổ ảnh 2 chiều thì mỗipixel tưng ứng với tọa độ x,y

• Độ phân giải của ảnh

Mô Phỏng Nhận Dạng Vật Thể Theo Hình Dạng Hình Học

Trang 8

Trong mỗi pixel ứng với cặp tọa độ x,y thì độ phân giải của ảnh là tích số với giátrị lớn nhất của x với giá trị lớn nhất của y Độ phân giải càng cao thì hình ảnh càng

rõ và sắc nét hơn so với độ phân giải thấp

Mức xám là kết quả mã hóa tương ứng với mỗi cường độ sáng của mỗi điểm ảnhvới một giá trị số thông qua quá trình lượng tử hóa

Thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 Trong đó thì mức

256 ( từ 0 đến 255) dùng phổ biến cho máy tính dùng 8 bit để biểu diễn mức xám.Ảnh đen trắng: là ảnh với hai màu đen trắng với mức xám của các điểm ảnh cóthể khác nhau

Ảnh nhị phân: ảnh được biểu diễn bởi một ma trận hai chiều thuộc kiểu logical.Mỗi điểm ảnh chỉ có thể nhận một trong hai giá trị là 0 (đen) hoặc 1 (trắng)

Ảnh màu: với mỗi điểm ảnh thì cần dùng 3 byte để biểu diễn màu (gồm ba màu

cơ bản là đỏ, lục, lam vì vậy có 28*3=16777216 màu)

• Tăng cường và khôi phục ảnh

Trang 9

Trang 9/19

Khi ảnh chuyển từ ảnh này sang ảnh khác bởi các quá trình truyền ảnh, quétảnh… thì ảnh sau khi truyền có chất lượng kém hơn so với ảnh gốc thì để chấtlượng ảnh nâng cao để có thể quan sát ảnh một cách trực quan và chi tiết hơn thìphải có biện pháp nâng cao chất lượng ảnh, quá trình này gọi là tăng cường ảnh.Tăng cường giúp loại bỏ các suy hao của hệ thống

Các kỹ thuật tăng cường ảnh: kỹ thuật tương phản (contrast), ánh xạ (ghép mứcxám của ảnh gốc với mức xám khác của ảnh đã được biên dịch)…những kỹ thuậtnày đều dựa trên sự kết hợp giữa các phương pháp biến đổi trên miền không gian vàmiền tần số

Khôi phục ảnh (Image Restoration) là quá trình xử lý loại bỏ các suy giảm trongảnh Quá trình khôi phục ảnh nhằm đem lại hình ảnh gốc đã bị suy giảm trong quátrình truyền

• Biến đổi ảnh

Có nhiều kỹ thuật biến đổi ảnh được sử dụng: biến đổi fourier, cosin, sin, DCT,Radon…nhưng biến đổi thông dụng nhất vẫn là biến đổi fourier được áp dụng nhiềutrong thực tế

1.5 Nhận dạng ảnh và phân loại

Nhận dạng ảnh: là quá trình phân loại các đối tượng được biểu diễn theo một môhình nào đó và gán chúng vào một lớp dựa theo các quy luật và các mẫu chuẩn Sựnhận dạng ảnh hưởng dựa trên nhiều tính chất của vật và mỗi tính chất thì đều cómột kỹ thuật khác nhau để nhận dạng

Phân loại thành phần ảnh : đây là một quá trình quan trọng trong nhận dạng hìnhảnh Đã có nhiều kỹ thuật phân loại được sử dụng trong phân loại thành phần ảnh đểphân loại chính xác tùy theo nhu cầu phân loại các thành phần dựa trên nguyên tắc

đã xác định rõ hoặc có ý nghĩa thống kê

1.6 Các thành phần cơ bản của hệ thống xử lý ảnh

Mô Phỏng Nhận Dạng Vật Thể Theo Hình Dạng Hình Học

Trang 10

Hình 2.2: Các thành phần của hệ thống xử lý ảnh [1]

Một hệ thống xử lý ảnh được bao gồm: máy tính cá nhân kèm theo vi mạchchuyển đổi đồ họa VGA hoặc VSGA, đĩa chứa các hình ảnh để kiểm tra các thuậttoán và một màn hình có hộ trợ VGA và VSGA

CHƯƠNG 3 CÁC HÀM XỬ LÝ ẢNH CƠ BẢN TRONG MATLAB

1.7 Các kiểu ảnh trong matlab

1.1.3 Ảnh Index

Ảnh được biểu diễn bởi hai ma trận, một ma trận dữ liệu ảnh X và một ma trậnmàu (còn gọi là bản đồ màu) map Ma trận dữ liệu có thể thuộc kiểu uint 8, uint 16hoặc double Ma trận màu là một ma trận kích thước n x 3 gồm các thành phầnthuộc kiểu double trong khoảng giá trị [0 1] Mỗi hàng của ma trận được xác địnhcác thành phần đỏ, lục, lam của một màu trong tổng số n màu được sử dụng trong

Trang 11

Trang 11/19

ảnh Giá trị của một phần tử trong ma trận dữ liệu ảnh cho biết màu của điểm ảnh

đó nằm ở hàng nào trong ma trận màu

1.1.4 Ảnh grayscale

Ảnh grayscale hay còn gọi là ảnh trắng đen Mỗi ảnh được biểu diễn bởi một matrận hai chiều, trong đó giá trị của mỗi phần tử cho biết độ sáng (hay mức xám) củađiểm ảnh đó

1.1.5 Ảnh nhị phân

Ảnh được biểu diễn bởi một ma trận hai chiều thuộc kiểu logical Mỗi điểm ảnhchỉ có thể nhận một trong hai giá trị duy nhất là 0 (đen) hoặc 1 (trắng)

1.8 Một số phép biến đổi ảnh trong matlab

1.1.6 Biến đổi Fourier

Phép biến đổi Fourier dùng để biểu diễn hình ảnh dưới dạng tổng của các lũy thừa phức của các thành phần biên độ, tần số và pha khác nhau của ảnh trong

matlab

Nếu f(m,n) là một hàm của hai biến không gian rời rạc m và n, thì biến đổi Fourier hai chiều của f(m,n) được định nghĩa như sau:

Nếu f(m,n) biểu diễn độ sáng của ảnh X ở vị trí pixel (m, n) thì F(w1,w2) chính

là biến đổi Fourier của ảnh X

Do các dữ liệu trên máy tính được lưu trữ dưới dạng tín hiệu rời rạc, dữ liệu ảnh được tổ chức theo đơn vị pixel (điểm ảnh) nên phép biến đổi Fourier cũng được rời rạc nên hóa thành biến đổi Fourier rời rạc (DFT)

Với các ứng dụng trong xử lý ảnh, chúng ta chỉ quan tâm đến các hàm fft2 và

ifft2

Mô Phỏng Nhận Dạng Vật Thể Theo Hình Dạng Hình Học

Trang 12

Cú pháp : F=fft2(X,Mrows,Ncols)

F=ifft2(F,mrows,ncols)

fft: là phép biến đổi fourier thuận trong matlab

ifft: là phép biến đổi fourier ngược trên matlab

Sau khi thực hiện lệnh biến đổi DFT bằng fft2, thành phần DC sẽ nằm ở góc trênbên trái của ảnh

1.1.7 Phép biến đổi DCT

Biến đổi DCT (Discrete Cosine Transform) biểu diễn hình ảnh dưới dạng tổngcủa các cosine của các thành phần biên độ và tần số khác nhau của ảnh Hầu hết cácthông tin về ảnh chỉ tập trung trong một vài hệ số của biến đổi DCT, trong khi các

hệ số còn lại chứa rất ít thông tin

Phép biến đổi DCT thuận và nghịch được thực hiện bằng các hàm dtc2 và idtc2.

Cú pháp: A=dtc2(B, M, N)

B=idtc2(A,M,N)

1.1.8 Biến đổi Radon

Phép biến đổi Radon biểu diễn ảnh dưới dạng các hình chiếu của nó dọc theocác hướng xác định Hình chiếu của một hàm 2 biến f(x,y) là tập hợp của các tíchphân đường Hàm radon tính các tích phân đường từ nhiều điểm nguồn dọc theo cácđường dẫn song song, gọi là các tia chiếu, theo một hướng xác định nào đó Các

tia chiếu này nằm cách nhau 1 pixel Để biểu diễn toàn bộ ảnh thì hàm radon sẽ lấy

nhiều hình chiếu song song của ảnh từ các góc quay khác nhau bằng cách xoay cácđiểm nguồn quanh tâm của ảnh

Trong Matlab thì phép biến đổi Radon được tính bằng hàm Radon có cú pháp

[R,Xp] = radon(I,theta)

Trang 13

1.1.10 Chuyển đổi giữa các kiểu ảnh

• Hàm dither: chuyển đổi ảnh nhị phân từ ảnh trắng đen I hoặc tạo ảnh index

từ ảnh RGB và ma trận màu map bằng phương pháp dithering

Trang 14

• Hàm im2bw: chuyển ảnh trắng đen, ảnh index hoặc ảnh RGB thành ảnh nhị phân BW bằng các lấy ngưỡng bởi level

Mat2gray : i=mat2gray(a,[amin amax])

• Hàm rgbgray: chuyển ảnh GRB thành ảnh trắng đen i

Rgb2gray : i=rgb2gray(rgb)

1.10 Hàm hiện thị ảnh trong matlab

Matlab cung cấp hai hàm hiển thị cơ bản là image và imagesc Ngoài ra trongIPT cũng có hai hàm hiển thị ảnh khác, đó là imview và imshow

Hàm image(X,Y,C) hiển thị hình ảnh biểu diễn bởi ma trận C kích thước M x

N lên trục tọa độ hiện hành X, Y là các vector xác định vị trí các pixel

C(1,1) và C(M,N) trong hệ trục hiện hành

Hàm imagesc có chức năng tương tự như hàm image, ngoại trừ việc dữ liệu

ảnh sẽ được co giãn để sử dụng toàn bộ bản đồ màu hiện hành

Trang 15

Trang 15/19

Hàm imview cho phép hiển thị hình ảnh trên một cửa sổ riêng, nền Java, gọi

là image Viewer Image Viewer cung cấp các công cụ dò tìm và xác định các giá trị pixel một cách linh hoạt

Hàm imshow cũng tạo một đối tượng đồ họa thuộc loại image và hiển thị ảnh

trên một figure Hàm imshow sẽ tự động thiết lập các giá trị của các đốitượng image, axes và figure để thể hiện hình ảnh

1.11 Các phép biến đổi hình học

1.1.11 Phép nội suy ảnh

Nội suy là quá trình ước lượng giá trị của một điểm nằm giữa hai pixel có giá trị

đã biết IPT cung cấp 3 phương pháp nội suy ảnh : nội suy theo các lân cận gầnnhất, nội suy song tuyến tính và nội suy bicubic Cả 3 phương pháp đểu thực hiệntheo nguyên tắc chung : để xác định giá trị của một pixel ảnh nội suy, ta tìm mộtđiểm trong ảnh ban đầu tương ứng với pixel đó, sau đó giá trị của pixel ở ảnh mới

sẽ được tính bằng trung bình có trọng số của một tập các pixel nào đó ở lân cận củađiểm vừa xác định, trong đó trọng số của các pixel phụ thuộc vào khoảng cách tớiđiểm này

• Phương pháp lân cận gần nhất (nearest neighbor) : pixel mới sẽ được gán giátrị của pixel chứa điểm tương ứng của nó trong ảnh ban đầu

• Phương pháp song tuyến tính (bilinear interpolation) : pixel mới sẽ được gán

là trung bình có trọng số của các pixel trong một lân cận kích thước 2x2

• Phương pháp bicubic, pixel mới sẽ được gán là trung bình có trọng số củacác pixel trong một lân cận kích thước 4x4

1.1.12 Thay đổi kích cỡ ảnh

Hàm imresize cho phép người sử dụng thay đổi kích thước ảnh Ngoài kíchthước ảnh mới, người sử dụng còn có thể xác định phương pháp nội suy sẽ dùng vàloại bộ lọc dùng để chống aliasing

Cú pháp : b=imresize(a,n, method) :tạo ảnh gấp n lần ảnh a

Mô Phỏng Nhận Dạng Vật Thể Theo Hình Dạng Hình Học

Trang 16

1.1.13 Phép quay ảnh

Để thực hiện phép quay ảnh, ta có thể sử dụng hàm imrotate Ngoài hai thông số

cơ bản là ảnh gốc và góc quay, người sử dụng cũng có thể xác định phương phápnội suy sẽ dùng và kích thước của hình ảnh mới

Cú pháp : b=imrotate(a,angle,method,Bbox)

1.1.14 Trích xuất ảnh

Khi cần trích xuất một phần ảnh gốc, ta dùng hàm imcrop

• Xác định cụ thể vị trí của phần ảnh cần trích xuất (dưới dạng hình chữ nhật)

CHƯƠNG 4 MÔ PHỎNG CHƯƠNG TRÌNH BẰNG MATLAB

Trang 17

Trang 17/19

1.12 Lưu đồ giải thuật

Hình 4.1 : lưu đồ giải thuật

1.13 Nguyên lý nhận dạng hình học

Sử dụng matlab để xác định hình dạng của vật thể dựa trên việc xác định chínhxác diện tích và chu vi của hình ảnh đem kết quả so sánh với từng công thức tínhdiện tích riêng biệt của mỗi hình học từ đó rút ra kết quả so sánh để xuất ra mànhình kết quả phù hợp nhất với và xác định chính xác hình dạng của vật

Trang 19

Trang 19/19

1.1.17 Kết quả sau mô phỏng

Hình 4.4: Kết quả mô phỏng được

CHƯƠNG 5 NHẬN XÉT

1.15 Nhận xét

Chương trình mô phỏng chạy khá ổn định có thể phân biệt khá tốt hình dạng củahình nếu sai số tính toán của chương trình không quá lớn các hình ảnh càng hoànhảo không bị méo quá nhiều thì có thể nhận dạng một cách dễ dàng

1.16 Hướng phát triển

Từ nhận dạng hình dạng hình học chúng ta có thể phát triển lên nhận dạng biển

số xe, khuôn mặt hay vân tay vào nhiều ứng dụng khác nhau trong cuộc sống còntùy thuộc vào mục đích sử dụng của mỗi người mà phát triển theo những hướngkhác nhau

Mô Phỏng Nhận Dạng Vật Thể Theo Hình Dạng Hình Học

Trang 20

TÀI LIỆU THAM KHẢO

Trang 21

BW_filled = imfill(bw,'holes');

boundaries = bwboundaries(BW_filled);%xac dinh vung bien bao boc ben ngoaiimshow(bw);

figure;imshow(i);

hold on;

for k=1:dim(1) % kich thuoc hinh

b= boundaries{k}; % bien anh

Trang 22

text(s(k).Centroid(1) -20,s(k).Centroid(2),'hinh tron','color','blue')

text(s(k).Centroid(1)-20,s(k).Centroid(2),'hinh vuong','color','blue')

text(s(k).Centroid(1)-20,s(k).Centroid(2),'hinh elip','color','blue')

text(s(k).Centroid(1)-20,s(k).Centroid(2),'hinh thoi','color','blue')

text(s(k).Centroid(1)-20,s(k).Centroid(2),'hinh chu nhat','color','blue')

text(s(k).Centroid(1)-20,s(k).Centroid(2),'hinh tam giac','color','blue') end

end

Ngày đăng: 21/01/2018, 16:48

🧩 Sản phẩm bạn có thể quan tâm

w