Merge pull request #2599 from Saafke:dnn_superres_CUDA_support

* Create CUDA backend support for dnn_superres

Not sure if this is the best way. Perhaps better to to create getter for 'net' so user can set backend themselves.

* Create seperate functions

* Remove trailing whitespace
pull/2601/head
Xavier Weber 5 years ago committed by GitHub
parent 6d801fca93
commit 5588ead693
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      modules/dnn_superres/include/opencv2/dnn_superres.hpp
  2. 18
      modules/dnn_superres/src/dnn_superres.cpp

@ -94,6 +94,14 @@ public:
*/
CV_WRAP void setModel(const String& algo, int scale);
/** @brief Set computation backend
*/
CV_WRAP void setPreferableBackend(int backendId);
/** @brief Set computation target
*/
CV_WRAP void setPreferableTarget(int targetId);
/** @brief Upsample via neural network
@param img Image to upscale
@param result Destination upscaled image

@ -91,6 +91,24 @@ void DnnSuperResImpl::setModel(const String& algo, int scale)
this->alg = algo;
}
void DnnSuperResImpl::setPreferableBackend(int backendId)
{
if (net.empty())
CV_Error(Error::StsError, "Model is emtpy. Please read a model before setting the backend.");
net.setPreferableBackend(backendId);
CV_LOG_INFO(NULL, "Successfully set computation backend.");
}
void DnnSuperResImpl::setPreferableTarget(int targetId)
{
if (net.empty())
CV_Error(Error::StsError, "Model is empty. Please read a model before setting the target.");
net.setPreferableTarget(targetId);
CV_LOG_INFO(NULL, "Successfully set target device.");
}
void DnnSuperResImpl::upsample(InputArray img, OutputArray result)
{
if (net.empty())

Loading…
Cancel
Save