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

XỬ lý ẢNH NHẬN DẠNG HÌNH DẠNG vật THỂ (có code)

24 1,3K 18

Đ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 24
Dung lượng 438,23 KB

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

Nội dung

XỬ lý ẢNH NHẬN DẠNG HÌNH DẠNG vật THỂ (có code) ................................. XỬ lý ẢNH NHẬN DẠNG HÌNH DẠNG vật THỂ (có code) ................................. XỬ lý ẢNH NHẬN DẠNG HÌNH DẠNG vật THỂ (có code) ................................. XỬ lý ẢNH NHẬN DẠNG HÌNH DẠNG vật THỂ (có code) ................................. XỬ lý ẢNH NHẬN DẠNG HÌNH DẠNG vật THỂ (có code) .................................

Trang 1

XỬ LÝ ẢNH NHẬN DẠNG HÌNH DẠNG

VẬT THỂ

Trang 2

DANH MỤC CÁC BẢNG BIỂU

Trang 3

HÌNH 2-1: MÀU CƠ SỞ TRONG RGB [4]

HÌNH 2-2: KHÔN GIAN MÀU RGB [5]

HÌNH 2-3: NHỮNG BƯỚC CƠ BẢN TRONG XỬ LÝ ẢNH [6]

HÌNH 2-4: CÁC BƯỚC PHÂN TÍCH ẢNH [6]

HÌNH 2-5: ĐOẠN CODE MATLAB CHUYỂN TỪ RGB SANG GRAYSCALE [7]

HÌNH 2-5: ẢNH XÁM VÀ ẢNH BINARY [8]

Trang 4

DFT Discrete Fourier Transform

FFT Fast Fourier Transform

GIF Graphic Interchange Format

IDFT Inverse Discrete Fourier Transform

JPEG Joint Photo-graphic Experts Group

Pixel Picture Element

PNG Portable Network Graphic

PCA Principal Component Analysis

RGB Red Green Blue

VGA Video Graphics Array

VSGA Super Video Graphics Array

Trang 5

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI

1.1 Giới thiệu:

- Trong những năm gần đây công nghệ có những phát triển vượt bậc kể cả xử lýảnh cũng đã đạt được rất nhiều thành tựu Trong đó việc phân loại và nhận dạnghình dáng vật thể là một lĩnh vực quan trọng trong xử lý ảnh

- Đã có rất nhiều bài toán xử lý ảnh nhận dạng ra đời, nhờ có những bài toánnày mà nó giúp cho con người giảm bớt được lượng công việc cũng như tăng độchính xác trong việc liên quan đến công việc về xử lý ảnh mà ta có thể thấy rõ nhấttrong các lỉnh vực: hệ thống anh ninh, nền công nghiệp quốc phòng, hệ thống côngnghệ hóa sinh, robotic

- Đồ án có thể được hoàn thành bằng việc vận dụng những kiến thức đã học và

sự hướng dẫn của quý thầy cô tuy nhiên vì thời gian hạn hẹp, kiến thức vẫn còn hạnchế đối với lĩnh vực còn khá mới dẫn đến có những thiếu sót ngoài mong đợi, mongthầy cô và các bạn thông cảm và xin được đóng góp ý kiến chân thành những thiếuxót ấy để các đồ án, luận văn sau thêm phần hoàn thiện hơn

1.2 Mục đích đề tài:

- Sử dụng ngôn ngữ matlab để biên dịch thuật toán nhận dạng vật thể, từ hìnhảnh của một vật thể matlab có thể mô phỏng được hình dạnh vật thể và mô tả kếtquả của hình dạng đó

1.3 Phương án giải quyết:

- Tìm hiểu về ảnh số, ảnh màu

- tìm hiều thuật toán về nhận dạng vật thể

- Nghiên cứu thuật toán về ảnh màu

- Sử dụng Matlab biên dịch giải thuật mô phỏng

1.4 Các công cụ phần mềm hỗ trợ đồ án:

- Phần mềm matlab:

Trang 6

Hình 1-1: Phần mềm Matlab [3]

Trang 7

CHƯƠNG 2 LÝ THUYẾT TỔNG QUAN VỀ XỬ LÝ ẢNH

2.1 Các khái niệm về ảnh:

2.1.1 Điểm ảnh:

- Ảnh tự nhiên (ảnh gốc) là dạng ảnh liên tục về không gian lẫn độ sáng Ta cần

số hóa ảnh để xử lý chúng trong máy tính 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 haythường gọi là pixel Trong khuôn khổ ảnh 2 chiều thì mỗi pixel tương ứng với tọa

độ x,y

- Để mắt người có thể cảm nhận được sự liên tục về không gian và mức xám thìkích thước và khoảng cách giữa các điểm ảnh phải được chọn phù hợp tại tọa độ(x,y) với độ xám và màu nhất định

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

- Ứng với mỗi pixel sẽ bao gồm một cặp tọa độ (x,y) thì độ phân giải pixel củaảnh là tích số của giá trị lớn nhất x với giá trị lớn nhất y Độ phân giải càng cao thì hình ảnh càng rõ và sắc nét hơn, chất lượng ảnh tốt hơn

- Ở ảnh đen trắng: chỉ có hai màu đen và trắng với mỗi bit biểu diễn cho mộtđiểm ảnh, ảnh nhị phân mỗi điểm ảnh chỉ nhận 1 trong 2 giá trị đen (0) hoặctrắng (1), với ảnh màu thì ta dùng 3 bytes để biểu diễn ứng với 3 màu cơ bản

là đỏ, lục, lam khi tổ hợp với nhau sẽ cho ra 23x8 màu

2.1.4 Ảnh số:

Trang 8

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

- Khi ảnh được chuyển bởi các quá trình truyền ảnh, quét ảnh… thì ảnh saukhi truyền có chất lượng kém so với ảnh gốc vì vậy cần có biện pháp đểcải thiện chất lượng ảnh gúp cho con người quan sát được chi tiết và quátrình nâng cao chất lượng ảnh gọi là tăng cường ảnh Tăng cường giúploại bỏ các suy hao chất lượng của hệ thống xử lý ảnh

- Tăng cưởng ảnh được coi như một tập hợp các kỷ thuật nâng cao chấtlượng ảnh, điều này dùng để nâng cao độ chính xác trong quá trình tìmkiếm tự động và chuyển đổi dạng của bức ảnh Ta thường gặp các kỹ thuậttăng cường ảnh phổ biến như: kỹ thuật tương phản (contrast), ánh xạ(ghép mức xám từ ảnh gốc với mức xám của ảnh đã được biên dịch)…những kỹ thuật này đều dựa trên sự kết hợp giữa các phương pháp biếnđổi trong 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

về chất lượng của ảnh Tăng cường ảnh khác với khôi phục ảnh ở chỗtăng cường ảnh tăng chất lượng hình ảnh thì khôi phục ảnh chỉ khôi phụclại chất lượng ảnh gốc đã bị suy giảm chất lượng

2.1.7 Ảnh màu:

- Có 3 màu cơ bản là : đỏ (R),lam (B) và lục (G).Từ các màu này trộn lạivới nhau theo một tỉ lệ nhất định để tạo ra các màu khác

Trang 9

- Phương trình màu: Y= 0.2989*R +0.58662*G + 0.11448*B.

Hình 2-1: Màu cơ sở trong RGB [4]

- Các đặc trưng dùng để phân biệt các màu là : độ sáng (brightness) , sắc độcủa màu (hue) và độ bảo hòa trong màu (Saturation)

Hình 2-2: Không gian màu của RGB [5]

Trang 10

khác nhau Định dạng JPEG có những phương pháp nén ảnh hiệu quả, tỷ

Hình 2-3: Những bước cơ bản trong xử lý ảnh [6]

2.2.2 Biến đổi ảnh:

- Trong kỹ thuật biến đổi ảnh thì ảnh được coi như một chuỗi các tín hiệumột chiều được biểu diễn bởi các hàm cơ sở Có nhiều biến đổi đượcdùng như: biến đổi fourier, cosin, sin, kahumen loeve Cụ thể như biếnđổi ảnh trong xử lý ảnh ở phần mềm matlab là các biến đổi fourier về xử

lý số tín hiệu tiêu biểu như DFT, FFT, IDFT

2.2.3 Phân tích ảnh:

- Với các bước trước khi xử lý ảnh như tăng cường ảnh và khôi phục ảnhđ6ẻ làm nổi bật các chi tiết và đặc trưng chủ yếu trong ảnh Lúc này ảnhđược đưa vào quá trình phân tích

- Quá trình phân tích gồm các công đoạn: Feature extraction (trích chọn cácđặc tính), segmentation (phân đoạn ảnh thành các phần tử) Sau quá trình

Trang 11

phân tích tùy vào mục đích công việc mà các giai đoạn đó có thể là nhậndạng ảnh hoặc giải thích, miêu tả ảnh.

Hình 2-4: Các bước phân tích ảnh [6]

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

- Nhận dạng ảnh: sau khi phân đoạn ảnh, thì quá trình kế tiếp là phân loại,các vật thể hình thể trong ảnh và các giá trị trong ảnh đó là đặc tính củacác thành phần ảnh Quá trình phân loại các đối tượng được biểu diễntheo một mô hình và gán chúng trong một lớp dựa theo các quy luật, quytắc và chuẩn mẫu Sự nhận dạng dựa trên nhiều tính chất và mỗi tính chấtthì đều có một kỹ thuật khác nhau để nhận dạng Màu của vật thể trongảnh cũng được xem là một đặc trưng trong ảnh dùng để nhận dạng

- Phân loại các thành phần đặc trưng của ảnh: đây là một quá trình quantrọng trong nhận dạng hình ảnh Một số kỹ thuật phân loại được sử dụngtrong nhận dạng là kỹ thuật lý thuyết chính xác, chúng sử dụng trong phânloại thành phần ảnh để phân loại chính xác tùy theo nhu cầu Phân loạicác thành phần dựa trên nguyên tắc đã xác định rõ hoặc thống kê

2.2.5 Các thành phần cơ bản trong xử lý ảnh:

- Hệ thống xử lý ảnh bao gồm: máy tính cá nhân kèm vi mạch chuyển đổi

về mặt đồ họa VGA hoặc VSGA, dữ liệu chứa các hình ảnh để kiểm tracác thuật toán về xử lý ảnh và một màn hình hỗ trợ về đồ họa

2.3 Các kiểu ảnh sử dụng trong Matlab:

2.3.1 Ảnh grayscale:

Trang 12

Ảnh grayscale hay còn gọi là ảnh trắng đen với 256 cấp độ xám biến thiên từ màuđen đến màu trắng Mỗi ảnh được biểu diễn bởi một ma trậ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 đó.

Hình 2-5: Đoạn code matlab chuyển từ RGB sang grayscale [7]

- Trong đoạn code trên, ta truy xuất đến các pixel được biểu diễn như sau:

 image.Data[r, c, 0] : pixel tại vị trí hàng r, cột c, kênh màu red (0)

 image.Data[r, c, 1] : pixel tại vị trí hàng r, cột c, kênh màu green (1)

 image.Data[r, c, 2] : pixel tại vị trí hàng r, cột c, kênh màu blue (2)

 GrayImage.Data[r, c, 0] : pixel của ảnh xám tại vị trí hàng r, cột c, chỉ có 1kênh màu gray (0)

2.3.2 Ảnh nhị phân:

Ảnh được biểu diễn bởi một ma trận hai chiều Mỗi điểm ảnh chỉ có thể nhận mộttrong hai giá trị duy nhất là 0 hoặc 1 Tương ứng với 0 là màu đen, tương ứng với 1

là màu trắng

Trang 13

Hình 2-5: Ảnh xám và ảnh binary [8]

2.3.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ận màumap Ma trận dữ liệu có thể thuộc kiểu uint 8, uint 16 hoặc double Ma trận màu cókích thước n x 3 gồm các thành phần thuộc kiểu double thuộc giá trị [0 1] Mỗi hàngcủa ma trận được xác định các thành phần đỏ, lục, lam của một màu trong tổng số nmàu được sử dụng trong ảnh

2.4 Các phép biến đổi ảnh trong Matlab:

Bảng 2-1: Các phép đọc ghi trên ảnh

imwrite(A,filename,fmt) lưu một ảnh biểu diễn bằng một ma trận thành

một tệp ảnh dưới dạng đã biết

imread(filename,fmt) Đọc các file ảnh rồi lưu lại dưới dạng một ma

trận biểu diễn ảnh trong Matlab

imfinfo(filename,fmt) dùng để xem các thông tin của một file ảnh

Bảng 2-2: Các phép chuyển đổi giữa các ảnh

Trang 14

Cú pháp Mô tảdither(RGB,map)

chuyển đổi ảnh nhị phân từ ảnh trắng đen hoặc tạo ảnh index từ ảnh RGB và ma trận màu map theo phương pháp dithering

[X,Map] = gray2ind(I,N)

chuyển ảnh nhị phân BW hoặc ảnh intensity I thành ảnh index thông qua ma trận tuyến tính gray(n)

x=grayslice(I,N)

chuyển ảnh trắng đen I thành ảnh index X bằng các lấy các giá trị ngưỡng được xác định bởi vecto v hoặc bởi n

i=ind2gray(x,map) chuyển ảnh index X với ma trận màu map qua

ảnh trắng đen i

rgb=ind2rgb(x,map) chuyển ảnh index x với ma trận màu map qua ảnh

RGB

i=mat2gray(a,[amin amax]) tạo ảnh trắng đen từ ma trận a

i=rgb2gray(rgb) chuyển ảnh GRB thành ảnh trắng đen i

2.4.1 Các hàm hiển thị ảnh trong matlab:

- Matlab cung cấp 2 hàm cơ bản là image và imagesc dùng hiển thị file ảnh Ngoài ra, trong Image Processing Toolboxcũng có hai hàm hiển thị khác là imview

Bảng 2-3: Các hàm xử lý hiển thị hình ảnh trong Matlab

Các hàm chuyển đổi loại ảnh và kiểu dữ liệu ảnh

Trang 15

im2double Chuyển ảnh thành ảnh kiểu dữ liệu double

im2uint16 Chuyển ảnh thành ảnh kiểu dữ liệu uint16

im2uint8 Chuyển ảnh thành ảnh kiểu dữ liệu uint8

imapprox Xấp xỉ ảnh indexed bằng cách giảm số màu

Các hàm biến đổi hình học

cp2tform Định nghĩa phép biến đổi hình học từng cặp tương ứngimcrop Trích xuất một phần ảnh

imresize Thay đổi kích thước ảnh

imrotate Thực hiện phép quay ảnh

imtranform Thực hiện phép biến đổi hình học tổng quát

maketform Định nghĩa phép biến đổi hình học tổng quát

CHƯƠNG 3 MÔ PHỎNG NHẬN DẠNG TRÊN MATLAB3.1 Lưu đồ giải thuật

BEGIN

NHẬP ẢNH

ẢNH TEST

XỬ LÝ

Trang 16

Hình 3-2 : Lưu đồ giải thuật

SAINHẬN DẠNG HÌNH ẢNH

ĐÚNGXUẤT KẾT QUẢ

KẾT THÚC

Trang 17

Hình 3-3 : Chương trình mô phỏng bằng Matlab

- Sau khi chọn ảnh, Matlab sẽ thực thi phân tích hình dạng ảnh và xuất thông tin về hình ảnh đó

- Ta sử dụng các cú pháp nhận dạng sau: Roundness dùng nhận dạng hìnhtròn, length(lines) dùng nhận dạng hình thể có góc cạnh, ứng với giá trịlength(lines) là 3 sẽ là hình ba cạnh như tam giác, bốn cạnh là tứ giác, 3.3 Kết quả mô phỏng:

Hình 3-4 : chọn ảnh nhập vào phân tích

Trang 18

Hình 3-5 : Ảnh test

Hình 3-6 : Xuất kết quả

Trang 19

CHƯƠNG 4 NHẬN XÉT

4.1 Vấn đề trong mô phỏng:

- Trong quá trình mô phỏng vẫn có một số tính toán sai sót, nhưng sai sót đókhông đáng kể cụ thể là những phần khoảng các thông tin hiển thị trên ảnh vẫn cóchỗ bị che khuất

- Sự lưu ảnh vào thư mục làm ảnh test có thể nhòe nhưng độ nhòe không đáng

kể, vì khi ảnh được chuyển bởi các quá trình truyền ảnh, quét ảnh… thì ảnh sau khitruyền có chất lượng kém so với ảnh gốc nhưng sự nhòe đó là nhỏ và độ nhòe nhỏ

là không đáng kể và chỉ xuất hiện khi lưu ảnh tới hàng chục lần Dù vậy thì mắtthường cũng khó nhận ra

4.2 Nhận xét hệ thống:

Trang 20

- Kết quả đạt được phù hợp với những lý thuyết tính toán tuy vẫn còn có sự sai

số nhỏ trong quá trình mô phỏng nhưng chấp nhận được Với thuật toán nhận dạngvật thể ta ứng dụng rất nhiều trong đời sống nhất là sự phân loại các sản phẩm

- Vì thời gian còn hạn hẹp, nên đồ án này chỉ có thể đáp ứng một số yêu cầu nhấtđịnh chỉ ở mức độ sơ cấp với mục đích thông qua đồ án để hiểu về các thuật toáncủa xử lý ảnh áp dụng trong cuộc sống

CHƯƠNG 5 KẾT LUẬN

5.1 Kết luận:

- Đồ án “xử lý ảnh nhận dạng hình dạng vật thể” có tính ứng dụng thực tiễn, tuynhiên xử lý ảnh vẫn còn là một lĩnh vực mới mẻ và đang phát triển Cần phải cầnthời gian và nghiên cứu thêm

5.2 Hướng phát triển:

- Đề tài nhận dạng vật thể vẫn còn dừng lại ở mức độ nhận dạng các khối hìnhhọc có thể được phát triển thành nhận dạng những khối sản phẩm phức tạp, bằngcách kết hợp với các thuật toán nhận dạng tiên tiến và xử lý ảnh hiện đại hơn

Trang 21

TÀI LIỆU THAM KHẢO

Trang 22

PL

Ngày đăng: 09/03/2018, 19:29

TỪ KHÓA LIÊN QUAN

w