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

MÔ PHỎNG NHẬN DIỆN màu sắc dùng matlab (có code)

18 2,9K 46

Đ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 18
Dung lượng 892,74 KB

Nội dung

MÔ PHỎNG NHẬN DIỆN màu sắc dùng matlab (có code) .................. MÔ PHỎNG NHẬN DIỆN màu sắc dùng matlab (có code) .................. MÔ PHỎNG NHẬN DIỆN màu sắc dùng matlab (có code) .................. MÔ PHỎNG NHẬN DIỆN màu sắc dùng matlab (có code) ..................

Trang 2

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

Trang 3

CHƯƠNG 1 TỔNG QUAN VỀ CHƯƠNG TRÌNH MÔ PHỎNG NHẬN

DIỆN MÀU SẮC

1.1 Giới thiệu chung

Nhận dạng màu sắc dùng matlab là chương trình giúp người dùng phân biệt được các màu như: đỏ, xanh lá và xanh dương với các màu khác, trong phần mềm matlab trên hệ màu RGB Khi khởi động chương trình matlab phần mềm sẽ hiện ra một cửa sổ, cửa số đó nhận video trực tuyế từ camera, người dùng đưa các vật thể có màu sắc có màu đỏ, xanh lá, xanh dương phần mềm sẽ thông báo cho người dung biết các màu sắc nhận dạng được

1.2 Yêu cầu về chương trình mô phỏng nhận diện màu sắc

• Tìm hiểu về ảnh số

• Tìm hiểu thư viện xử lý ảnh Digital Image Processing trên Matlab

• Tìm hiểu dãy thuật nhận dạng màu sắc trên nền Matlab, thư viện Digital Image Processing trên Matlab

• Viết phần mềm mô phỏng nhận diện màu sắc của vật thể từ cacmera trên nền Matlab

1.3 Tổng quan về xử lý ảnh

1.1.1 Khái niện xử lý ảnh

Xử lý ảnh là phần của khoa học và công nghệ Xử lý ảnh là một ngành khoa học mới mẻ so với các ngành khoa học khác nhưng tốc

độ phát triển của xử lý ảnh rất vượt bậc, nhiều trung tâm nghiên cứu, ứng dụng, thuộc về lĩnh vực máy tính chuyên dụng riêng cho

xử lý ảnh

Xử lý ảnh là một chương trình liên quan đến nhiều lĩnh vực, và cần nhiều kiến thức cơ sở khác nhau nên người nghiên cứu xử lý ảnh cần phải trang bị các khiến thức như: xử lý tín hiệu chung, biến đổi Fourier, biến đổi Laplace, khái niệm về tích chập ngoài những phép biến đổi trên

Trang 4

chúng ta còn có mạng nơ rong nhân tạo để hỗ trợ cho quá trình phân tích và nhận dạng

Hình 1-1: Sơ đồ các bước trong xử lý ành

1.4 Những vấn đề cơ bản trong hệ thống xừ lý ảnh

1.1.2 Khái niệm cơ bản về ảnh số Ảnh số là tập hợp hữu hạn nhiều phần tử điểm ảnh với mức xám phù hợp để tạo nên ảnh gần giống với ảnh thật Số điểm ảnh là thành phần xác định độ phân giải của ảnh Ảnh có độ phân giải càng cao sẽ thể hiện rõ nét nó trở nên thực tế và sắc nét hơn

1.1.1.1 Điểm ảnh (Picture Element)

Một Pixel hay còn gọi là điểm ảnh là phần tử của ảnh số có toạ độ (x, y) với mức độ

xám hoặc màu nhất định Mỗi phần tử trong ma trận được gọi là một phần tử ảnh

1.1.1.2 Độ phân giải

Độ phân giải ảnh là lượng thông tin được chứa trong một tập tin ảnh kỹ thuật số và

nó sẽ hiển thị trên các thiết bị hoặc được in ra, thông thường được đo bằng pixel Sao cho mắt người có thể nhìn thấy ảnh một cách liên tục, độ phân giải của ảnh sẽ được phân bố theo hay chiều x và y trong không gian

1.1.3 Phân loại ảnh

- Ảnh màu: gồm 2 loại

+ Hệ màu RGB: gồm 3 màu Red, Green, Blue được biễu diễn bằng 1 byte Ảnh RGB thường có giá trị 24bit P(x,y) = (R,G,B)

+ Hệ màu CMY: là hệ màu bù cho hệ màu RGB

Hệ thống quyết định Nhận ảnh từ

bên ngoài

Xuất kết quả

và kết luận

Hậu xử lý ảnh

Chọn điểm ảnh

Tiền xử lý ảnh

Lưu trữ

Trang 5

CMY = (1, 1, 1) – (R, G, B)

- Ảnh nhị phân: giá trị xám của ảnh được biểu diễn giá trị bằng 1 hoặc 0 Mỗi điểm ảnh được biểu diễn bằng 1 bit

- Ảnh xám: ảnh xám có giá trị nằm trong khoảng từ [0, 255] mỗi pixel trong ảnh xám được biểu diễn bằng 1 byte

CHƯƠNG 2 NỘI DUNG ĐỀ TÀI MÔ PHỎNG NHẬN DIỆN MÀU SẮC

1.5 Sơ đồ khối

Input video từ camera

Trang 6

0

1

Hình 2-1: Sơ đồ giải thuật

1.6 Phương pháp nhận diện

Phương pháp được chia thành bốn phần:

• Input từ camera

• Nhận dạng các vật có màu sắc từ camera

• Nhị phân hóa hình ảnh

• Xuất ra kết quả

1.1.4 Input video từ camera

Video được input vào từ những camera kỹ thuật số

Các vật có các màu sắc được đưa vào camera

Nhận các vật có màu

sắc

Nhị phân hóa

Đỏ, xanh, xanh dương

Xuất ra kết quả

Trang 7

Bước tiền xử lý được dùng để làm tăng tốc độ xử lý của của video làm tăng độ tương phản và giảm nhiễu trong video

1.1.5 Nhận các vật có các màu sắc

Camera sẽ nhận các vật được người dùng đưa vào Chương trình bắt đầu phân tích với dãy thuật lả dùng ảnh xám trừ ảnh gốc trừ những vùng có các màu đỏ, xanh lá, xanh dương

1.1.6 Nhị phân hóa

Các hình ảnh trong video được lọc bằng bộ lọc để tạo ra một hình ảnh bằng cách tính toán mức ngưỡng

Tìm các giá trị nhỏ nhất và lớn nhất của pixel từ video

Quá trình này chuyển tất cả pixel của video sang dạng 0-1 và làm cho các bước xử

lý sau dễ dàng hơn

Khi đó các màu đỏ, xanh lá, xanh dương được ráng giá trị ở mức 1 Còn lại tất cả các màu khác ở mức 0

Chương tình sẽ xuất ra các giá trị ở mức 1 được phân tích ra màn hình

1.1.7 Xuất kết quả

Nhận dạng và cho ra kết quả các vật có các màu sắc như: đỏ, xanh lá và xanh dương

từ các vật bất kì mang những màu sắc trên

Trang 8

CHƯƠNG 3 MÔ PHỎNG VÀ KẾT QUẢ MÔ PHỎNG

1.7 Giao diện chương trình

Hình 3-1: Giao diện chương trình Matlab

1.8 Input video từ camera

Trang 9

Hình 3-2: Camera input

1.9 Các vật đưa vào camera để nhận diện

Hình 3-3: Các vật có màu sắc đưa vào cho camera nhận diện

1.10 Kết quả mô phỏng

Trang 10

Hình 3-4: Các màu sắc được nhận diện

CHƯƠNG 4 KẾT LUẬN

1.11 Ưu điểm

• Chương trình Matlab có giao diện đơn giản giúp người dùng thao tác một cách dễ dàng trên giao diện của chương trình

• Chương trình mô phỏng nhận diện màu sắc trên Matlab xử lý nhanh chóng xuất ra kết quả

• Màu sắc nhận diện được đúng theo yêu cầu đã đề ra

1.12 Nhược điểm

• Do sử dụng camera nên khoảng cách nhận diện có giới hạn

• Phụ thuộc vào điều kiện môi trường và ánh sáng

• Chỉ nhận diện được các màu trên nền RGB

Trang 11

TÀI LIỆU THAM KHẢO

[1] Lương Mạnh Bá, Nguyễn Thanh Thuỷ Nhập môn xử lý ảnh số Nhà xuất bản Nhà xuất bản Khoa học và Kỹ thuật, 2003

[2] Nguyễn Kim Sách Xử lý ảnh và Video số Nhà xuất bản Khoa học và Kỹ thuật, 1997

[3] Võ Đức Khánh, Hoàng Văn Kiếm Giáo trình xử lý ảnh số Nhà xuất bản Đại học Quốc gia Thành phố Hồ Chi Minh

Trang 12

PHỤ LỤC A

redThresh = 0.24;

greenThresh = 0.05;

blueThresh = 0.15;

vidDevice = imaq.VideoDevice( 'winvideo' , 1, 'YUY2_640x480' ,

'ROI' , [1 1 640 480], .

'ReturnedColorSpace' , 'rgb' );

vidInfo = imaqhwinfo(vidDevice);

hblob = vision.BlobAnalysis( 'AreaOutputPort' , false, .

'CentroidOutputPort' , true, .

'BoundingBoxOutputPort' , true', .

'MinimumBlobArea' , 600, .

'MaximumBlobArea' , 3000, .

'MaximumCount' , 10);

hshapeinsRedBox = vision.ShapeInserter( 'BorderColor' , 'Custom' , .

'CustomBorderColor' , [1 0 0], .

'Fill' , true, .

'FillColor' , 'Custom' , .

'CustomFillColor' , [1 0 0], .

'Opacity' , 0.4);

hshapeinsGreenBox = vision.ShapeInserter( 'BorderColor' , 'Custom' , % Set Green box handling

'CustomBorderColor' , [0 1 0], .

'Fill' , true, .

'FillColor' , 'Custom' , .

'CustomFillColor' , [0 1 0], .

'Opacity' , 0.4);

hshapeinsBlueBox = vision.ShapeInserter( 'BorderColor' , 'Custom' , % Set Blue box handling

'CustomBorderColor' , [0 0 1], .

'Fill' , true, .

'FillColor' , 'Custom' , .

'CustomFillColor' , [0 0 1], .

'Opacity' , 0.4);

htextinsRed = vision.TextInserter( 'Text' , 'Red : %2d' , % Set text for number of blobs

'Location' , [5 2], .

'Color' , [1 0 0], // red color

'Font' , 'Courier New' , .

'FontSize' , 14);

htextinsGreen = vision.TextInserter( 'Text' , 'Green : %2d' , % Set text for number of blobs

'Location' , [5 18], .

'Color' , [0 1 0], // green color

'Font' , 'Courier New' , .

'FontSize' , 14);

htextinsBlue = vision.TextInserter( 'Text' , 'Blue : %2d' , % Set text for number of blobs

'Location' , [5 34], .

'Color' , [0 0 1], .

'Font' , 'Courier New' , .

'FontSize' , 14);

htextinsCent = vision.TextInserter( 'Text' , '+ X:%4d, Y:%4d' ,

'LocationSource' , 'Input port' , .

Trang 13

'Color' , [1 1 0],

'Font' , 'Courier New' , .

'FontSize' , 14);

hVideoIn = vision.VideoPlayer( 'Name' , 'Final Video' ,

'Position' , [100 100 vidInfo.MaxWidth+20 vidInfo.MaxHeight+30]);

nFrame = 0;

%% Processing Loop

rgbFrame = step(vidDevice);

rgbFrame = flipdim(rgbFrame,2);

diffFrameRed = imsubtract(rgbFrame(:,:,1), rgb2gray(rgbFrame));

diffFrameRed = medfilt2(diffFrameRed, [3 3]);

binFrameRed = im2bw(diffFrameRed, redThresh); diffFrameGreen =

imsubtract(rgbFrame(:,:,2), rgb2gray(rgbFrame));

diffFrameGreen = medfilt2(diffFrameGreen, [3 3]); binFrameGreen =

im2bw(diffFrameGreen, greenThreshdiffFrameBlue =

imsubtract(rgbFrame(:,:,3), rgb2gray(rgbFramediffFrameBlue =

medfilt2(diffFrameBlue, [3 3]); binFrameBlue = im2bw(diffFrameBlue, blueThresh); [centroidRed, bboxRed] = step(hblob, binFrameRed);

centroidRed = uint16(centroidRed); [centroidGreen, bboxGreen] =

step(hblob, binFrameGreen); centroidGreen = uint16(centroidGreen);

[centroidBlue, bboxBlue] = step(hblob, binFrameBlue); centroidBlue = uint16(centroidBlue); rgbFrame(1:50,1:90,:) = 0; vidIn =

step(hshapeinsRedBox, rgbFrame, bboxRed); vidIn = step(hshapeinsGreenBox, vidIn, bboxGreen);

vidIn = step(hshapeinsBlueBox, vidIn, bboxBlue);

for object = 1:1:length(bboxRed(:,1)) centXRed = centroidRed(object,1); centYRed = centroidRed(object,2);

vidIn = step(htextinsCent, vidIn, [centXRed centYRed], [centXRed-6

centYRed-9]);

end

for object = 1:1:length(bboxGreen(:,1)) centXGreen =

centroidGreen(object,1); centYGreen = centroidGreen(object,2);

vidIn = step(htextinsCent, vidIn, [centXGreen centYGreen], [centXGreen-6 centYGreen-9]);

end

for object = 1:1:length(bboxBlue(:,1centXBlue = centroidBlue(object,1); centYBlue = centroidBlue(object,2);

vidIn = step(htextinsCent, vidIn, [centXBlue centYBlue], [centXBlue-6 centYBlue-9]);

end

vidIn = step(htextinsRed, vidIn, uint8(length(bboxRed(:,1))));

vidIn = step(htextinsGreen, vidIn, uint8(length(bboxGreen(:,1

vidIn = step(htextinsBlue, vidIn, uint8(length(bboxBlue(:,1))));

step(hVideoIn, vidIn);

nFrame = nFrame+1;

end

%% Clearing Memory

release(hVideoIn); release(vidDevice);

clear all ;

clc;

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w