Cấu hình cho thiết bị thu nhận ảnh

Một phần của tài liệu Xây dựng hệ giám sát, điều khiển vi kẹp (Trang 73)

Một thiết bị thu nhận ảnh bất kỳ có các thuộc tính cho phép người dùng có thể thay đổi phù hợp với mục đích sử dụng. Các thuộc tính có thể thay đổi này đã được trình bày trong chương 3 mục thiết bị thu nhận ảnh.

Hình dưới đây là giao diện cho phép lựa chọn các giá trị của các thuộc tính của thiết bị thu nhận ảnh

Nguyễn Văn Thắng – Luận văn thạc sĩ hệ thống thực nghiệm

Hình 4.15 Cấu hình cho thiết bị thu nhận ảnh

Sau khi nghiên cứu lý thuyết về xử lý ảnh dùng các công cụ sẵn có của Matlab cùng với cấu tạo và nguyên lý hoạt động vi kẹp tôi đã xây dựng lên một hệ điều khiển vi kẹp. Trong phần này tôi xin trình bày về hệ thống thực nghiệm của mình.

Hộp chọn Frames Per Trigger: Hộp chọn cho ta chọn số khung ảnh có thể thu nhận trong một trigger. Giá trị này phụ thuộc vào số khung ta muốn xử lý và phụ thuộc vào tốc độ bắt ảnh của thiết bị thu ảnh. Nếu giá trị này lớn mà tốc độ bắt ảnh của thiết bị không đủ nhanh thì một số khung sẽ bị mờ.

Ví dụ ta có đoạn chương trình sau:

vid=videoinput(„winvideo‟,1,‟YUY2_160x120‟); vid.FramesPerTrigger = 9; triggerconfig(vid,‟manual‟); start(vid); trigger(vid); data=getdata(vid); for i=1:1:9 figure(i); imshow(data(:,:,i)); end

Thực hiện đoạn chương trình trên ta thu được 9 ảnh và hiển thị 9 ảnh thu được lên 9 cửa sổ khác nhau. Quan sát kết quả ta thấy cứ 1 khung rõ sẽ đến hai khung mờ. Và nếu ta lấy ảnh tại vị trí khung mờ (khung thứ 2, 3, 5, 6, 8, 9) ta sẽ không xử lý

được hoặc xử lý sẽ phạm phải những lỗi không mong muốn. (Kết quả khảo sát trên máy ảnh Canon G2 4.0 Mega pixels)

Hình 4.16 Thu 9 ảnh liên tiếp – thực hiện 1 lần trigger

Từ kết quả thực nghiệm và từ yêu cầu thực tế tôi chọn giá trị của tham số này là 1. Nghĩa là bắt một ảnh sau đó xử lý tính toán đưa ra quyết định và tiếp tục bắt ảnh tiếp theo.

Ta thay ví dụ trên bằng ví dụ sau:

vid=videoinput(„winvideo‟,1,‟YUY2_160x120‟); vid.FramesPerTrigger = 1; vid.TriggerrRepeat=9; triggerconfig(vid,‟manual‟); start(vid); for i=1:1:9 trigger(vid); data=getdata(vid); figure(i); imshow(data(:,:,1)); end

Nguyễn Văn Thắng – Luận văn thạc sĩ hệ thống thực nghiệm

Hình 4.17 Thu 9 ảnh liên tiếp – thực hiện 9 lần trigger

Bằng cách lấy một ảnh trong một trigger ta thấy cả 10 khung đều rất rõ nét.

- Hộp chọn Logging Mode: Hộp thoại này lựa chọn mode thu nhận ảnh, hộp này có 3 giá trị là: memory, disk, disk&memory, ba giá trị này tương ứng với các cách thức thu nhận ảnh vào bộ nhớ, vào đĩa cứng hay cả bộ nhớ và đĩa cứng. Nếu ta chỉ thu nhận ảnh để xử lý thì chọn giá trị của hộp này là memory.

- Hộp chọn Trigger Type: Hộp chọn này có hai giá trị là immediate và manual

Chọn immediate thì dòng dữ liệu ảnh có thể thu được ngay khi thiết bị thu nhận ảnh được start

Chọn manual thì dòng dữ liệu ảnh chưa thể được thu được khi thiết bị thu nhận ảnh được start mà sau đó người dùng phải ra lệnh trigger.

- Hộp chọn Trigger Repeat: Hộp chọn này chọn số lần thực hiện trigger sau khi thiết bị thu nhận ảnh được start. Hết số lần trigger thiết bị thu ảnh tự động stop. Muốn thu ảnh tiếp ta phải thực hiện start lại cho thiết bị. Ngược lại số lần trigger chưa hết thì thiết bị không thể start lại trừ khi ta ra lệnh stop cho thiết bị.

- Hộp chọn Supported video formats: Hộp chọn này ban đầu chứa giá trị default. Nếu ta click vào nút lệnh Get formats thì hộp thoại này sẽ chứa các định dạng video mà

thiết bị thu ảnh có thể hỗ trợ. Khi người dùng không thao tác với hộp chọn này thì thiết bị sẽ lấy giá trị định dạng mặc định.

Sau khi lựa chọn hết các thuộc tính cho thiết bị thu ảnh ta click vào nút lệnh Setup để thực hiện thiết lập các giá trị vừa chọn cho thiết bị thu ảnh.

Một phần của tài liệu Xây dựng hệ giám sát, điều khiển vi kẹp (Trang 73)