1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án thiết kế camera giám sát an ninh

16 2,1K 10
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Đồ án thiết kế camera giám sát an ninh
Tác giả Nhóm 3 – TĐH4
Thể loại Báo cáo chuyên đề
Định dạng
Số trang 16
Dung lượng 379,5 KB

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

Nội dung

% varargout cell array for returning output args see VARARGOUT; % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with han

Trang 1

Mục lục

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

1 Mục tiêu đề tài 2

2 Hoạt động 2

3 Thực hiện 2

4 Sản phẩm hoàn thiện 3

CHƯƠNG II PHẦN CỨNG 3

1 Động cơ bước 4

2 Webcam 4

3 Mạch điều khiển động cơ 5

CHƯƠNG III PHẦN MỀM 7

1 Thuật toán xử lý ảnh 7

2 Điều khiển động cơ bước 7

3 Code chương trình chính 9

CHƯƠNG IV TỔNG KẾT 16

1 Đánh giá 16

2 Hướng phát triển 16

Tài liệu tham khảo: 16

Trang 2

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

1 Mục tiêu đề tài

Thiết kế camera an ninh bám theo chuyển động trong vùng không gian xác định-có giao tiếp, điều khiển bằng máy tính.

Xây dựng giao diện phần mềm có hiệu quả giám sát cao, dễ sử dụng, nhiều tính năng.

2 Hoạt động

Camera có tác dụng giám sát chuyển động trong một phạm vi giới hạn, ví dụ một căn phòng kín

 Khi có đối tượng xâm nhập vào phạm vi giám sát của Camera thì lập tức

sẽ có tín hiệu báo động cho con người (còi báo động và đèn báo động).

 Khi đối tượng chuyển động, Camera được điều khiển bởi động cơ bước tiếp tục bám theo đối tượng, đưa tín hiệu báo động đồng thời liên tiếp chụp lại ảnh của đối tượng.

3 Thực hiện

Phần cứng

 Camera (webcam) thu tín hiệu hình ảnh và gửi về cho máy tính xử lý Webcam này kết nối với máy tính bằng cổng USB thông dụng Trước khi hoạt động, webcam cần được cài sẵn driver của nhà sản xuất.

 Để truyền động cho động cơ, ta sử dụng động cơ bước Theo đó, đế của Camera được gắn trực tiếp lên trục động cơ đặt thẳng đứng Khi trục động cơ quay, camera quay trong mặt phẳng ngang vuông góc với trục động cơ.

 Mạch điều khiển động cơ bước lấy xung từ cống LPT của máy tính qua cách ly quang và IC đệm công suất để cấp xung cho các cuộn dây của động cơ.

Phần mềm

 Lập trình điều khiển camera bằng ngôn ngữ matlab với ưu điểm là khả năng tính toán mạnh đồng thời hỗ trợ nhiều hàm thu thập và xử lý hình ảnh từ các thiết bị số như camera.

 Chương trình viết trên nền GUIs (Guide User Interfaces) của Matlab, tạo

ra giao diện người dùng-gần gũi với các ứng dụng windows, dễ vận hành, điều khiển, thao tác.

 Giao diện sử dụng tiếng Việt.

Trang 3

4 Sản phẩm hoàn thiện

Trang 4

CHƯƠNG II PHẦN CỨNG

1 Động cơ bước

Để điều khiển chuyển động của

camera, ta sử dụng động cơ bước

loại nhỏ do Trung Quốc sản xuất.

Một số đặc điểm kỹ thuật:

 Loại động cơ: động cơ đơn

cực 5 dây

 Điện áp trên mỗi cuộn dây:

24V DC

 Dòng điện trên mỗi cuộn:

0.5A

 Góc bước: 1.8o/bước Với góc

bước rất nhỏ này ta có thể

điều khiển camera bám đối

tượng khá chính xác.

2 Webcam

Để thu hình ảnh trong vùng giám sát, ta sử dụng webcam kí hiệu Tako01 của hãng Tako Một số đặc điểm kỹ thuật

 Độ phân giải ảnh : 300000 pixels

 Có 6 đèn hồng ngoại có thể chụp ảnh vào ban đêm

 Kết nối máy tính qua cổng USB.

 Tốc độ chụp ảnh còn hạn chế, tuy nhiên đáp ứng khá tốt mục tiêu đã đặt ra của

đề tài.

Trang 5

3 Mạch điều khiển động cơ

2

5 4

2

5 4

2

5 4

2

5 4

2

5 4

2

5 4

P 1

C O N N E C T O R D B 9

5

4

3

2

1

1 2 V L

D 1

L E D

L S 1

S P E A K E R

U 8

L M 7 8 0 5 / T O

V I N 1

V O U T 3 5 V

+

-~

~

D 2

D I O D E B R I D G E _ 1 2 3 4

J 2

C O N 2

1

1 A

1 B

2 A

2 B

L E D

S P E A K E R

1 A

L E D

1 B

2 A

2 B

G _ P C

1 2 V

S P E A K E R

C 1

U 7

U L N 2 0 0 3 A

1 B 1

2 B 2

3 B 3

4 B 4

5 B 5

6 B 6

7 B 7

1 C 1 6

2 C 1 5

3 C 1 4

4 C 1 3

5 C 1 2

6 C 1 1

7 C 1 0

C O M 9

G _ P C

5 V

5 V

5 V

5 V

5 V

5 V

1 A _ M

1 B _ M

2 A _ M

2 B _ M

L E D _ M

S P E A K E R _ M

1 2 V

1 A _ M

2 A _ M

L E D _ M

S P E A K E R _ M

6 8

1 2 V

J 1

C O N 5

1 3 5

 Khối kết nối với cổng LPT máy tính

P 1

C O N N E C T O R D B 9

5 9 4 8 3 7 2 6

L E D

1 B

2 A

2 B

G _ P C

S P E A K E R

 Khối cách ly quang: cách ly mạch lực động cơ và mạch điều khiển từ cổng LPT, đảm bảo an toàn cho cổng máy in.

Trang 6

1 6 2

5 4

2

5 4

2

5 4

2

5 4

2

5 4

2

5 4

1 A

1 B

2 A

2 B

L E D

S P E A K E R

G _ P C

5 V

5 V

5 V

5 V

5 V

5 V

1 A _ M

1 B _ M

2 A _ M

2 B _ M

L E D _ M

S P E A K E R _ M

 Khối tạo nguồn 5V cấp cho Cách ly quang

U 8

L M 7 8 0 5 / T O

V I N

1

V O U T 3 5 V

+

-~

~

D 2

D I O D E B R I D G E _ 1 2 3 4

J 2

C O N 2 1 2

1 2 V

C 1

 Khối IC đệm: sử dụng IC ULN2003A

1 2 V L

S

U 7

U L N 2 0 0 3 A

1 B

1

2 B

2

3 B

3

4 B

4

5 B

5

6 B

6

7 B

7

C O M

9

1 A _ M

1 B _ M

2 A _ M

2 B _ M

L E D _ M

S P E A K E R _ M

6 8

1 2 V

J 1

C O N 5

1 2 3 4 5

 Khối báo động: còi báo động và đèn báo động

D 1

L E D

L S 1

S P E A K E R

1 2 V

Trang 7

CHƯƠNG III PHẦN MỀM

1 Thuật toán xử lý ảnh

Để phát hiện và bám được đối tượng chuyển động, hình ảnh thu được từ camera được đưa vào máy tính để xử lý Thuật toán xử lý ảnh ở đây rất đơn giản, bao gồm các bước:

 Chụp 2 ảnh liên tiếp: ảnh1 và ảnh2

Mỗi ảnh thu được từ webcam là ảnh số hóa RGB, có thể coi như một ma trận

2 chiều 3 lớp Bức ảnh được chia thành các ô nhỏ gọi là pixel: với kích thước 352x288 Mỗi pixel là sự pha trộn của ba màu đỏ(Red), xanh lá cây (Green), xanh da trời (Blue) Mỗi màu tại mỗi pixel được đặc trưng bởi một giá trị từ

0-255 Để tiện xử lý, ta chuyển ảnh này sang ảnh xám, tức chỉ gồm 2 màu đen trắng.

 Trừ 2 ảnh1 và ảnh2 cho nhau và lấy giá trị tuyệt đối của hiệu thu được Việc trừ 2 ảnh được thực chất là trừ giá trị số hóa của mỗi màu đen, trắng của mỗi ảnh cho nhau ứng với từng điểm ảnh.

 Nếu không có đối tượng chuyển động trong phạm vi chụp ảnh, thì hiệu trừ được ở trên xấp xỉ giá trị 0 ứng với mỗi điểm ảnh Ngược lại, nếu có đối tượng chuyển động thì hiệu trên sẽ có giá trị khác 0 ở những điểm ảnh ứng với khu vực chuyển động của đối tượng

 Xử lý ảnh bằng cách quét theo chiều ngang bức ảnh hiệu thu được ở trên đến khi phát hiện được biên trái và biên phải Lấy trung bình cộng tọa độ biên trái và biên phải này ta sẽ xác định tọa độ trung bình của đối tượng Giả sử tọa

độ trung bình < 176 (ảnh 352x288) thì đối tượng đang ở bên trái của bức ảnh, ta điều khiển camera quay về bên trái Ngược lại, giả sử tọa độ trung bình > 176 (ảnh 352x288) thì đối tượng đang ở bên phải của bức ảnh, ta điều khiển camera quay về bên phải.

2 Điều khiển động cơ bước

Để điều khiển động cơ bước, ta cần phát xung qua cổng LPT của máy tính

Hỗ trợ việc này, matlab cần sử dụng 2 thư viện liên kết động là io32.dll và

inpout32.dll.

Đầu tiên, khai báo sử dụng thư viện này như sau:

obj_io=io32;

status=io32(obj_io);

Trang 8

address=hex2dec( '378' );%địa chỉ của cổng LPT

Để xuất giá trị 60 qua cổng LPT:

io32(obj_io,address,60)

Giả sử để xuất xung điều khiển động cơ quay theo chiều thuận, ta phát các chùm xung tương ứng (cách điều khiển 2 pha cả bước):

0011 1100

0011 0110

0011 0011

0011 1001

Trong đó: 0011 để điều khiển còi và loa báo động (bit 1).

Hàm quay trái của động cơ:

function quay_trai(obj_io,address,x)

%obj_io=io32;

%status=io32(obj_io);

%if status =0 thi cong da san sang

%address=hex2dec('378');

for i=1:x

io32(obj_io,address,60)

pause(0.01);

io32(obj_io,address,57);

pause(0.01);

io32(obj_io,address,51);

pause(0.01);

io32(obj_io,address,54);

pause(0.01);

end

io32(obj_io,address,0);

Hàm quay phải của động cơ:

function quay_phai(obj_io,address,x)

%obj_io=io32;

%status=io32(obj_io);

%if status =0 thi cong da san sang

%address=hex2dec('378');

for i=1:x

io32(obj_io,address,54)

pause(0.01);

io32(obj_io,address,51);

pause(0.01);

io32(obj_io,address,57);

pause(0.01);

io32(obj_io,address,60);

pause(0.01);

end

io32(obj_io,address,0);

Trang 9

3 Code chương trình chính

% MYCAMERAGUI M-file for myCameraGUI.fig

% MYCAMERAGUI, by itself, creates a new MYCAMERAGUI or raises the existing

% singleton*

%

% H = MYCAMERAGUI returns the handle to a new MYCAMERAGUI or the handle to

% the existing singleton*

%

% MYCAMERAGUI('CALLBACK',hObject,eventData,handles, ) calls the local

% function named CALLBACK in MYCAMERAGUI.M with the given input

arguments

%

% MYCAMERAGUI('Property','Value', ) creates a new MYCAMERAGUI or raises the

% existing singleton* Starting from the left, property value pairs are

% applied to the GUI before myCameraGUI_OpeningFunction gets called An

% unrecognized property name or invalid value makes property

application

% stop All inputs are passed to myCameraGUI_OpeningFcn via varargin

%

% *See GUI Options on GUIDE's Tools menu Choose "GUI allows only one

% instance to run (singleton)"

%

% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help myCameraGUI

% Last Modified by GUIDE v2.5 25-May-2009 03:24:48

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State.gui_Callback = str2func(varargin{1});

end

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

Trang 10

% - Executes just before myCameraGUI is made visible.

% This function has no output args, see OutputFcn

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to myCameraGUI (see VARARGIN)

%khai bao cong vao ra LPT

temp=0;

obj_io=io32;

status=io32(obj_io);

% Choose default command line output for myCameraGUI

handles.output = hObject;

%khai bao cac doi tuong anh

start(handles.video);

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes myCameraGUI wait for user response (see UIRESUME)

% uiwait(handles.figure1);

%===========================================================

uiwait(handles.MyCameraGUI);

%===========================================================

% - Outputs from this function are returned to the command line

% varargout cell array for returning output args (see VARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%==================

handles.output = hObject;

%==================

% Get default command line output from handles structure

varargout{1} = handles.output;

% - Executes on button press in startStopCamera

%function startStopCamera_Callback(hObject, eventdata, handles)

% hObject handle to startStopCamera (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%==========================================================================

Trang 11

function startStopCamera_Callback(hObject, eventdata, handles)

% hObject handle to startStopCamera (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Start/Stop Camera

so_anh=so_anh+1;

so_anh=1;

end

% Camera is off Change button string and start camera

n=0;

so_anh=0;

bien_trai=176;

bien_phai=176;

nguong=50;

time=clock;

Image1=getsnapshot(handles.video);

%pause(0.05);

imshow(Image1);

Image2=getsnapshot(handles.video);

imshow(Image2);

so_anh=so_anh+1;

so_anh=1;

end

Image=imsubtract(Image1,Image2);

%handles=guidata(gcf); de thi khong chay duoc

Image_grey= rgb2gray(Image);

bien_trai=i;

end

bien_phai=i;

end

Trang 12

n=int8(abs((176-trung_tam))/70);

quay_trai(obj_io,address,n);

quay_phai(obj_io,address,n);

end

end

%=====================================================

%start(handles.video)

% Camera is on Stop camera and change button string

%stop(handles.video);

%close all;

end

% - Executes on button press in automation

% hObject handle to automation (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of automation

% - Executes on button press in manual

% hObject handle to manual (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of manual

%set(handles.startStopCamera,'Enable','off');

%set(handles.startStopCamera,'Enable','off');

uicontrol(handles.direction);

stop(handles.video);

start(handles.video);

imshow(getsnapshot(handles.video));

end

% - Executes on slider movement

% hObject handle to direction (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'Value') returns position of slider

Trang 13

% get(hObject,'Min') and get(hObject,'Max') to determine range of slider

quay_trai(obj_io,address,int16(abs(quay)));

quay_phai(obj_io,address,int16(quay));

end

% - Executes on mouse motion over figure - except title and menu

% hObject handle to MyCameraGUI (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% - Executes during object creation, after setting all properties

% hObject handle to cameraAxes (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: place code in OpeningFcn to populate cameraAxes

% - Executes during object creation, after setting all properties

% hObject handle to direction (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: slider controls usually have a light gray background

end

% - Executes on mouse press over figure background, over a disabled or

% - inactive control, or over an axes background

% hObject handle to MyCameraGUI (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% - Executes on scroll wheel click while the figure is in focus

% hObject handle to MyCameraGUI (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% - Executes when user attempts to close MyCameraGUI

Trang 14

% hObject handle to MyCameraGUI (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hint: delete(hObject) closes the figure

% Get the current position of the GUI from the handles structure

% to pass to the modal dialog

% Call modaldlg with the argument 'Position'

delete(hObject);

end

% - Executes during object deletion, before destroying properties

% hObject handle to MyCameraGUI (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% - Executes on button press in Exit

% hObject handle to Exit (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% - Executes on button press in about

% hObject handle to about (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

about;

% - Executes on button press in Help

% hObject handle to Help (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

help;

% hObject handle to tong_so_anh (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

Ngày đăng: 30/12/2013, 15:42

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

TÀI LIỆU LIÊN QUAN

w