Ah now I understand better, I could reproduce all you gave me.
Thank you so much, I learned a lot from you.
By the way, no need to install netron, there’s an online version here: https://netron.app
Now I have to ask for support of the unknown function!
Here is the code in C++
// load ONNX model
cv::String model = "../models/arbitrary-image-stylization-fixed-1024x768.onnx";
cv::dnn::Net net;
net.setPreferableBackend(cv::dnn::DNN_BACKEND_CUDA);
net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA);
net = cv::dnn::readNetFromONNX(model);
// prepare images
cv::Mat content = cv::imread("../content.png", cv::IMREAD_COLOR);
cv::Mat style = cv::imread("../style.png", cv::IMREAD_COLOR);
// parameters for blobs
cv::dnn::Image2BlobParams paramSAMEncoder;
paramSAMEncoder.datalayout = cv::dnn::DNN_LAYOUT_NHWC;
paramSAMEncoder.ddepth = CV_32F;
paramSAMEncoder.mean = cv::Scalar(0,0,0);
paramSAMEncoder.scalefactor = cv::Scalar(1, 1, 1);
paramSAMEncoder.size = cv::Size(1024, 1024);
paramSAMEncoder.swapRB = true;
paramSAMEncoder.paddingmode = cv::dnn::DNN_PMODE_NULL;
// get blob for content - fixed param 1024x1024
cv::Mat blobContent = cv::dnn::blobFromImageWithParams(content, paramSAMEncoder);
// get blob for style - fixed param 768x768
paramSAMEncoder.size = cv::Size(768, 768);
cv::Mat blobStyle = cv::dnn::blobFromImageWithParams(style, paramSAMEncoder);
// feed blobs to inputs
net.setInput(blobContent, "placeholder"); // have to use netron to get this name
net.setInput(blobStyle, "placeholder_1");
// inference
cv::Mat output = net.forward();