blob: 45bf89427d216e1b5bfd41d70e1b30a9f14f40e9 [file] [log] [blame]
Filip Kujawa3004f202023-02-12 16:41:40 -08001#ifndef Y2023_VISION_GAME_PIECES_H_
2#define Y2023_VISION_GAME_PIECES_H_
3
4#include "aos/events/shm_event_loop.h"
5#include "frc971/vision/vision_generated.h"
6#include "y2023/vision/game_pieces_generated.h"
Filip Kujawa8c76e5d2023-04-08 16:20:27 -07007#include "y2023/vision/yolov5.h"
8
Stephan Pleinesd99b1ee2024-02-02 20:56:44 -08009namespace y2023::vision {
Filip Kujawa3004f202023-02-12 16:41:40 -080010
11using namespace frc971::vision;
12
13// Takes in camera images and detects game pieces in the image.
14// Note: Actual detection has not been implemented yet.
15class GamePiecesDetector {
16 public:
17 GamePiecesDetector(aos::EventLoop *event_loop);
18
19 void ProcessImage(const CameraImage &camera_image);
20
21 private:
22 aos::Sender<GamePieces> game_pieces_sender_;
Filip Kujawa8c76e5d2023-04-08 16:20:27 -070023 std::unique_ptr<YOLOV5> model;
Filip Kujawa3004f202023-02-12 16:41:40 -080024};
Stephan Pleinesd99b1ee2024-02-02 20:56:44 -080025} // namespace y2023::vision
Filip Kujawa3004f202023-02-12 16:41:40 -080026#endif