#include #include #include using namespace Argus; int main(int argc, char* argv[]){ UniqueObj provider(CameraProvider::create()); if (!provider){ std::cerr << "Failed to create CameraProvider" << std::endl; return EXIT_FAILURE; } auto iprovider = interface_cast(provider); if (!iprovider) { std::cerr << "Failed to acquire ICameraProvider interface" << std::endl; return EXIT_FAILURE; } std::vector devices{}; auto status = iprovider->getCameraDevices(&devices); if (devices.size() == 0){ std::cerr << "No cameras found" << std::endl; return EXIT_FAILURE; } std::vector cam_to_use{}; for (int i = 1; i < argc; i++){ std::size_t idx = std::stoul(argv[i]); if (idx < devices.size()){ cam_to_use.push_back(devices[idx]); } } if (cam_to_use.size() == 0){ cam_to_use = devices; } UniqueObj session(iprovider->createCaptureSession(cam_to_use, &status)); if (!session){ std::cerr << "Failed to create CaptureSession: " << status << std::endl; return EXIT_FAILURE; } std::cout << "createCaptureSession was succeeded" << std::endl; return 0; }