Hi im new with roboflow, i already trained a succesfull model that work for my robotics proyect. The problem comes when im taking this model and I deploy it to my oak 1 device, when I do this the fov of my camera is getting quite smaller.
I understand why this is happening but I need the full fov, so I searched and I found a post that talks how to take the full fov by losing accuracy.
https://docs.luxonis.com/projects/api/en/latest/tutorials/maximize_fov/
Is there any way I can take that " Letterboxing" feature and make it work on my oak 1 with my roboflow model.
Im using this basic code to upload my model:
from roboflowoak import RoboflowOak
import cv2
import time
import numpy as np
from depthai_sdk import OakCamera
from depthai_sdk import OakCamera
if name == ‘main’:
# instantiating an object (rf) with the RoboflowOak module
rf = RoboflowOak(model=“”, confidence=0.5, overlap=0.5,
version=“”, api_key=“”, rgb=True,
depth=False, device=None, blocking=True)
# Running our model and displaying the video output with detections
while True:
t0 = time.time()
# The rf.detect() function runs the model inference
result, frame, raw_frame, depth = rf.detect()
predictions = result[“predictions”]
# {
# predictions:
# [ {
# x: (middle),
# y:(middle),
# width:
# height:
# depth: ###->
# confidence:
# class:
# mask: {
# ]
# }
# frame - frame after preprocs, with predictions
# raw_frame - original frame from your OAK
# depth - depth map for raw_frame, center-rectified to the center camera
# timing: for benchmarking purposes
t = time.time() - t0
print("FPS ", 1 / t)
print("PREDICTIONS ", [p.json() for p in predictions])
# setting parameters for depth calculation
# comment out the following 2 lines out if you're using an OAK without Depth
#max_depth = np.amax(depth)
#cv2.imshow("depth", depth / max_depth)
# displaying the video feed as successive frames
cv2.imshow("frame", frame)
# how to close the OAK inference window / stop inference: CTRL+q or CTRL+c
if cv2.waitKey(1) == ord('q'):
break