Merge pull request #706 from taka-no-me:str_gpumat
This commit is contained in:
commit
0e58853be3
@ -42,7 +42,7 @@
|
||||
|
||||
#include "precomp.hpp"
|
||||
#include "opencv2/core/gpumat.hpp"
|
||||
#include <iostream>
|
||||
#include <cctype>
|
||||
|
||||
#ifdef HAVE_CUDA
|
||||
#include <cuda_runtime.h>
|
||||
@ -81,9 +81,8 @@ namespace
|
||||
{
|
||||
if (err < 0)
|
||||
{
|
||||
std::ostringstream msg;
|
||||
msg << "NPP API Call Error: " << err;
|
||||
cv::gpu::error(msg.str().c_str(), file, line, func);
|
||||
String msg = cv::format("NPP API Call Error: %d", err);
|
||||
cv::gpu::error(msg.c_str(), file, line, func);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -220,16 +219,25 @@ namespace
|
||||
|
||||
void CudaArch::fromStr(const String& set_as_str, std::vector<int>& arr)
|
||||
{
|
||||
if (set_as_str.find_first_not_of(" ") == String::npos)
|
||||
return;
|
||||
arr.clear();
|
||||
|
||||
std::istringstream stream(set_as_str);
|
||||
int cur_value;
|
||||
|
||||
while (!stream.eof())
|
||||
size_t pos = 0;
|
||||
while (pos < set_as_str.size())
|
||||
{
|
||||
stream >> cur_value;
|
||||
arr.push_back(cur_value);
|
||||
if (isspace(set_as_str[pos]))
|
||||
{
|
||||
++pos;
|
||||
}
|
||||
else
|
||||
{
|
||||
int cur_value;
|
||||
int chars_read;
|
||||
int args_read = sscanf(set_as_str.c_str() + pos, "%d%n", &cur_value, &chars_read);
|
||||
CV_Assert(args_read == 2);
|
||||
|
||||
arr.push_back(cur_value);
|
||||
pos += chars_read;
|
||||
}
|
||||
}
|
||||
|
||||
std::sort(arr.begin(), arr.end());
|
||||
@ -1570,8 +1578,8 @@ void cv::gpu::error(const char *error_string, const char *file, const int line,
|
||||
const char* errorStr = cvErrorStr(code);
|
||||
const char* function = func ? func : "unknown function";
|
||||
|
||||
std::cerr << "OpenCV Error: " << errorStr << "(" << error_string << ") in " << function << ", file " << file << ", line " << line;
|
||||
std::cerr.flush();
|
||||
fprintf(stderr, "OpenCV Error: %s(%s) in %s, file %s, line %d", errorStr, error_string, function, file, line);
|
||||
fflush(stderr);
|
||||
}
|
||||
else
|
||||
cv::error( cv::Exception(code, error_string, func, file, line) );
|
||||
|
Loading…
Reference in New Issue
Block a user