Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
/bin/**
/build/**
/robocup-*
/settings.xml
/backup
/test-data
/.idea
Expand All @@ -10,3 +8,4 @@ cmake-build*
.ccls-cache
*~
/compile_commands.json
camera*.base64
10 changes: 10 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ project(ssl-vision)
set(OpenGL_GL_PREFERENCE LEGACY)
set(USE_DC1394 TRUE CACHE BOOL "Compile with DC1394 driver (firewire cameras)")
set(USE_SPINNAKER FALSE CACHE BOOL "Compile with Spinnaker driver (FLIR cameras)")
set(USE_VAPIX TRUE CACHE BOOL "Compile with VAPIX")
set(USE_mvIMPACT FALSE CACHE BOOL "Compile with mvImpact driver (bluefox USB2 + USB3 cameras)")
set(USE_PYLON FALSE CACHE BOOL "Compile with pylon driver (Basler cameras)")
set(USE_FLYCAP FALSE CACHE BOOL "Compile with flycap driver (FLIR cameras, predecessor of Spinnaker)")
Expand Down Expand Up @@ -105,6 +106,15 @@ else()
message(STATUS "SPINNAKER disabled")
endif()

if( USE_VAPIX )
add_definitions( -DVAPIX )
set (SHARED_SRCS ${SHARED_SRCS} ${shared_dir}/capture/capture_vapix.cpp)
set (SHARED_HEADERS ${SHARED_HEADERS} ${shared_dir}/capture/capture_vapix.h)
message(STATUS "VAPIX enabled")
else()
message(STATUS "VAPIX disabled")
endif()

if( USE_V4L )
add_definitions( -DV4L )
set (SHARED_SRCS ${SHARED_SRCS} ${shared_dir}/capture/capturev4l.cpp)
Expand Down
43 changes: 43 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
FROM ubuntu:22.04

# Set environment variables to avoid prompts during package installation
ENV DEBIAN_FRONTEND=noninteractive

# Set Qt to use the offscreen platform
#ENV QT_QPA_PLATFORM=offscreen

# Pre-set timezone to Europe/Stockholm to avoid tzdata interactive prompt
RUN ln -fs /usr/share/zoneinfo/Europe/Stockholm /etc/localtime && \
echo "Europe/Stockholm" > /etc/timezone && \
apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata && \
dpkg-reconfigure --frontend noninteractive tzdata

# Install required system packages
RUN apt-get update && apt-get install -y \
python3 \
python3-pip \
git \
screen \
sudo

RUN pip install opencv-python requests

# Clone the GitHub repository
ADD https://api.github.com/repos/LiU-SeeGoals/ssl-vision/git/refs/heads/image-file-reading version.json
RUN git clone https://github.com/LiU-SeeGoals/ssl-vision.git

# Change working directory to the cloned repository
WORKDIR /ssl-vision

# Switch to the correct branch
RUN git switch image-file-reading

RUN ./InstallPackagesUbuntu.sh

RUN make configure_vapix

RUN make

#&& tail -f /dev/null
CMD ["screen", "-c", "screen.camera"]
11 changes: 8 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,20 @@
buildDir=build

#change to Debug for debug mode
# buildType=Debug
buildType=Release


all: build_cmake

$(buildDir):
mkdir -p $(buildDir)

$(buildDir)/CMakeLists.txt.copy: CMakeLists.txt
cmake -B $(buildDir) -DCMAKE_BUILD_TYPE=$(buildType)
cmake -B $(buildDir) -DCMAKE_BUILD_TYPE=$(buildType) -DCMAKE_EXPORT_COMPILE_COMMANDS=True

build_cmake: $(buildDir)/CMakeLists.txt.copy
$(MAKE) -C $(buildDir)
$(MAKE) -C $(buildDir) -j8

clean:
$(MAKE) -C $(buildDir) clean
Expand All @@ -22,7 +24,10 @@ cleanup_cache:
rm -rf $(buildDir)

configure_spinnaker: $(buildDir)/CMakeLists.txt.copy
cmake -S . -B $(buildDir) -DUSE_SPINNAKER=true
cmake -S . -B $(buildDir) -DUSE_SPINNAKER=true

configure_vapix: $(buildDir)/CMakeLists.txt.copy
cmake -S . -B $(buildDir) -DUSE_VAPIX=true

backup_configs: $(wildcard robocup-*) settings.xml
$(eval dir="backup/$(shell date +%Y-%m-%d_%H-%M-%S)")
Expand Down
2,433 changes: 2,433 additions & 0 deletions configs/robocup-ssl-cam-0-lut-yuv.xml

Large diffs are not rendered by default.

229 changes: 229 additions & 0 deletions configs/robocup-ssl-cam-0-mask.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,229 @@
<?xml version="1.0" encoding="utf-8"?>
<VarXML>
<Var name="Convex Hull Points" type="list">
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
455
</Var>
<Var name="y" type="int" minval="" maxval="">
38
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
436
</Var>
<Var name="y" type="int" minval="" maxval="">
120
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
406
</Var>
<Var name="y" type="int" minval="" maxval="">
203
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
391
</Var>
<Var name="y" type="int" minval="" maxval="">
294
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
369
</Var>
<Var name="y" type="int" minval="" maxval="">
413
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
340
</Var>
<Var name="y" type="int" minval="" maxval="">
623
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
349
</Var>
<Var name="y" type="int" minval="" maxval="">
760
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
353
</Var>
<Var name="y" type="int" minval="" maxval="">
929
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
364
</Var>
<Var name="y" type="int" minval="" maxval="">
958
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
420
</Var>
<Var name="y" type="int" minval="" maxval="">
974
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
501
</Var>
<Var name="y" type="int" minval="" maxval="">
991
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
668
</Var>
<Var name="y" type="int" minval="" maxval="">
1009
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
838
</Var>
<Var name="y" type="int" minval="" maxval="">
1029
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
980
</Var>
<Var name="y" type="int" minval="" maxval="">
1035
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
1140
</Var>
<Var name="y" type="int" minval="" maxval="">
1030
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
1283
</Var>
<Var name="y" type="int" minval="" maxval="">
1028
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
1416
</Var>
<Var name="y" type="int" minval="" maxval="">
1011
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
1595
</Var>
<Var name="y" type="int" minval="" maxval="">
986
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
1646
</Var>
<Var name="y" type="int" minval="" maxval="">
953
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
1670
</Var>
<Var name="y" type="int" minval="" maxval="">
940
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
1663
</Var>
<Var name="y" type="int" minval="" maxval="">
849
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
1675
</Var>
<Var name="y" type="int" minval="" maxval="">
740
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
1681
</Var>
<Var name="y" type="int" minval="" maxval="">
600
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
1675
</Var>
<Var name="y" type="int" minval="" maxval="">
449
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
1645
</Var>
<Var name="y" type="int" minval="" maxval="">
338
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
1620
</Var>
<Var name="y" type="int" minval="" maxval="">
198
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
1594
</Var>
<Var name="y" type="int" minval="" maxval="">
111
</Var>
</Var>
<Var name="" type="list">
<Var name="x" type="int" minval="" maxval="">
1554
</Var>
<Var name="y" type="int" minval="" maxval="">
28
</Var>
</Var>
</Var>
</VarXML>
Loading