Hello Dear Luxonis-Team,
i have bought an OAK-1 w camera from one of your listed distributors. As listed on your website the camera specifications should be:
DFOV / HFOV / VFOV = 120° / 95° / 70° when the RGB Camera is an: IMX378.
But when I run the example script:
#include <iostream>
// Includes common necessary includes for development using depthai library
#include "depthai-shared/common/CameraBoardSocket.hpp"
#include "depthai-shared/common/EepromData.hpp"
#include "depthai/depthai.hpp"
// Include OpenCV
#include <opencv2/opencv.hpp>
int main() {
// Create pipeline
dai::Pipeline pipeline;
// Define source and outputs
auto camRgb = pipeline.create<dai::node::ColorCamera>();
auto xoutVideo = pipeline.create<dai::node::XLinkOut>();
auto xoutPreview = pipeline.create<dai::node::XLinkOut>();
xoutVideo->setStreamName("video");
xoutPreview->setStreamName("preview");
// Properties
camRgb->setPreviewSize(300, 300);
camRgb->setBoardSocket(dai::CameraBoardSocket::CAM_B);
camRgb->setResolution(dai::ColorCameraProperties::SensorResolution::THE_12_MP);
camRgb->setInterleaved(true);
camRgb->setColorOrder(dai::ColorCameraProperties::ColorOrder::BGR);
// Linking
camRgb->video.link(xoutVideo->input);
camRgb->preview.link(xoutPreview->input);
// Connect to device and start pipeline
dai::Device device(pipeline);
dai::CalibrationHandler calibData = device.readCalibration();
auto FOV = calibData.getFov(dai::CameraBoardSocket::CAM_B);
std::cout << "FOV is " << FOV << std::endl;
auto video = device.getOutputQueue("video");
auto preview = device.getOutputQueue("preview");
while(true) {
auto videoFrame = video->get<dai::ImgFrame>();
auto previewFrame = preview->get<dai::ImgFrame>();
cv::Mat myDM;
auto fps = videoFrame->getCvFrame();
myDM=videoFrame->getCvFrame();
// Get BGR frame from NV12 encoded video frame to show with opencv
cv::namedWindow("CamPos", 0);
cv::resizeWindow("CamPos", myDM.cols/4, myDM.rows/4);
cv::imshow("CamPos", myDM);
// Show 'preview' frame as is (already in correct format, no copy is made)
cv::imshow("preview", previewFrame->getFrame());
int key = cv::waitKey(1);
if(key == 'q' || key == 'Q') return 0;
}
return 0;
}
I only receive as an output 68.7938 from the EEPROM.
I also tried the solution from this post https://discuss.luxonis.com/d/649-can-t-get-full-fov, but the result was the same.
Now that I am looking at the camera specs from the OAK-1, which are FOV (D/H/V) = 82° / 69° / 55°, I wonder if I got the wrong camera or if I am missing some point.
I also used the calculator https://fov.luxonis.com/ to compute some theoretical solutions and tried to verify them by testing it in reality, but i still got wrong results.
The camera I brought is also labeled as an "OAK-1 W" on the left side of the housing.
I hope you can help me with my problem.
Kind regards
Henrik