Lua API: tracker#
Mô Tả#
Cấu trúc dữ liệu tracker được sử dụng để hỗ trợ việc theo dõi màu trong CMUcam3. Nó giữ thông tin về việc theo dõi đang được thực hiện, và các tham số có thể được đặt để điều khiển màu nào được theo dõi và các khía cạnh khác của việc theo dõi màu. TODO: Thêm một mô tả tốt về khung bao là gì, và trọng tâm là gì
Ví Dụ#
Đây là một ví dụ ngắn cho thấy cách đối tượng tracker được sử dụng để tìm một vùng màu đỏ trong khung hình ảnh của CMUcam3, và sau đó khung đó được in ra khu vực gỡ lỗi CamScripter trong Eclipse.
trkr = tracker_new(195, 0, 0, 255, 45, 45); -- track red
trkr:set_noise_filter(3); -- 2 is the default
take_picture();
tracker_track_color(trkr);
print_color_tracker(trkr); -- print color tracker info to the screen
print("num pixels tracked: " .. trkr:get_num_pixels()); -- print number of red pixels found in the picture
-- print_picture(); -- uncomment this line to print the picture itself to the screen as well (slower)
Tạo#
Xem tracker_new
Các Phương Thức#
get_centroid_xget_centroid_yget_densityget_num_pixelsget_x0get_x1get_y0get_y1set_lower_boundset_noise_filterset_upper_bound
get_centroid_x#
trkr:get_centroid_x()
- Các Tham Số:
không có
- Các Giá Trị Trả Về:
Tọa độ x số nguyên của trọng tâm
Lấy tọa độ x của trọng tâm của màu đang được theo dõi, với (0, 0) là góc trên bên trái của bức ảnh.
get_centroid_y#
trkr:get_centroid_y()
- Các Tham Số:
không có
- Các Giá Trị Trả Về:
Tọa độ y số nguyên của trọng tâm
Lấy tọa độ y của trọng tâm của màu đang được theo dõi, với (0, 0) là góc trên bên trái của bức ảnh.
get_density#
trkr:get_density()
- Các Tham Số:
không có
- Các Giá Trị Trả Về:
Mật độ của màu đang được theo dõi
Lấy mật độ của màu được theo dõi trong bộ đệm ảnh. Mật độ là một thước đo mức độ dày đặc của màu đang được theo dõi bên trong khung bao của bộ theo dõi màu -- càng nhiều pixel của màu đang được theo dõi trong khung, mật độ càng cao.
get_num_pixels#
trkr:get_num_pixels()
- Các Tham Số:
không có
- Các Giá Trị Trả Về:
Số lượng pixel trong bộ đệm ảnh khớp với màu của bộ theo dõi màu
Lấy tổng số pixel của màu đang được theo dõi (theo các giá trị RGB được truyền cho tracker_new) được tìm thấy trong bộ đệm ảnh của CMUcam3.
get_x0#
trkr:get_x0()
- Các Tham Số:
không có
- Các Giá Trị Trả Về:
Giá trị số nguyên của tọa độ x của góc trên bên trái của khung bao theo dõi màu.
Khi tracker_track_color được gọi, nó thiết lập một khung bao mô tả các ranh giới của màu đang được theo dõi trong bức ảnh. (x0, y0) là vị trí của góc trên bên trái của khung đó, và (x1, y1) là vị trí của góc dưới bên phải của khung đó trong bộ đệm ảnh, với (0, 0) là góc trên bên trái của bộ đệm ảnh. get_x0 trả về tọa độ x của góc trên bên trái của khung ranh giới màu.
get_y0#
trkr:get_y0()
- Các Tham Số:
không có
- Các Giá Trị Trả Về:
Giá trị số nguyên của tọa độ y của góc trên bên trái của khung bao theo dõi màu.
Khi tracker_track_color được gọi, nó thiết lập một khung bao mô tả các ranh giới của màu đang được theo dõi trong bức ảnh. (x0, y0) là vị trí của góc trên bên trái của khung đó, và (x1, y1) là vị trí của góc dưới bên phải của khung đó trong bộ đệm ảnh, với (0, 0) là góc trên bên trái của bộ đệm ảnh. get_y0 trả về tọa độ x của góc trên bên trái của khung ranh giới màu.
get_x1#
trkr:get_y1()
- Các Tham Số:
không có
- Các Giá Trị Trả Về:
Giá trị số nguyên của tọa độ x của góc dưới bên phải của khung bao theo dõi màu.
Khi tracker_track_color được gọi, nó thiết lập một khung bao mô tả các ranh giới của màu đang được theo dõi trong bức ảnh. (x0, y0) là vị trí của góc trên bên trái của khung đó, và (x1, y1) là vị trí của góc dưới bên phải của khung đó trong bộ đệm ảnh, với (0, 0) là góc trên bên trái của bộ đệm ảnh. get_x1 trả về tọa độ x của góc trên bên trái của khung ranh giới màu.
get_y1#
trkr:get_y1()
- Các Tham Số:
không có
- Các Giá Trị Trả Về:
Giá trị số nguyên của tọa độ y của góc dưới bên phải của khung bao theo dõi màu.
Khi tracker_track_color được gọi, nó thiết lập một khung bao mô tả các ranh giới của màu đang được theo dõi trong bức ảnh. (x0, y0) là vị trí của góc trên bên trái của khung đó, và (x1, y1) là vị trí của góc dưới bên phải của khung đó trong bộ đệm ảnh, với (0, 0) là góc trên bên trái của bộ đệm ảnh. get_y1 trả về tọa độ x của góc trên bên trái của khung ranh giới màu.
set_lower_bound#
trkr:set_lower_bound(integer channel, integer bound)
- Các Tham Số:
channelKênh bạn đang đặt một giới hạn cho. Xem các hằng số kênh quan tâm trong Lua API: Hằng Số.boundGiá trị tối thiểu khả dĩ cho kênh đã cho. Phải nằm giữa 0 và 255.- Các Giá Trị Trả Về:
không có
Đặt giới hạn dưới cho một kênh trong bộ theo dõi màu. Giới hạn dưới là giá trị tối thiểu mà một pixel có thể có trong kênh đó để được theo dõi. Đối với mục đích theo dõi màu, để bất kỳ pixel nào được coi là có thể theo dõi, pixel đó phải nằm giữa giới hạn dưới và giới hạn trên trong mỗi kênh của nó.
set_noise_filter#
trkr:set_noise_filter(integer filter)
- Các Tham Số:
filterGiá trị bộ lọc nhiễu mới. Mặc định là 2.- Các Giá Trị Trả Về:
không có
Giá trị bộ lọc nhiễu xác định bao nhiêu pixel hoạt động liên tiếp trước một pixel được yêu cầu trước khi pixel nên được tính là được phát hiện bởi việc theo dõi màu. Giá trị phải nằm giữa 0 và 255.
set_upper_bound#
trkr:set_upper_bound(integer channel, integer bound)
- Các Tham Số:
channelKênh bạn đang đặt một giới hạn cho. Xem các hằng số kênh quan tâm trong Lua API: Hằng Số.boundGiá trị tối đa khả dĩ cho kênh đã cho. Phải nằm giữa 0 và 255.- Các Giá Trị Trả Về:
không có
Đặt giới hạn trên cho một kênh trong bộ theo dõi màu. Giới hạn trên là giá trị tối đa mà một pixel có thể có trong kênh đó để được theo dõi. Đối với mục đích theo dõi màu, để bất kỳ pixel nào được coi là có thể theo dõi, pixel đó phải nằm giữa giới hạn dưới và giới hạn trên trong mỗi kênh của nó.