|
|
@ -45,16 +45,19 @@ int main()
|
|
|
|
cv::blur(image, image, { 3,3 });
|
|
|
|
cv::blur(image, image, { 3,3 });
|
|
|
|
|
|
|
|
|
|
|
|
//WarmUP GPU
|
|
|
|
//WarmUP GPU
|
|
|
|
for (int i = 0; i < 10; i++)
|
|
|
|
if (uns::G_OCRConfig.GetGPUUsage() != uns::OCRConfig::GPUUsage::CPUOnly)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
std::cout << "Warming UP GPU (" << i << ") ......" << std::endl;
|
|
|
|
for (int i = 0; i < 10; i++)
|
|
|
|
clock_t start = clock();
|
|
|
|
{
|
|
|
|
auto rects = detector(image);
|
|
|
|
std::cout << "Warming UP GPU (" << i << ") ......" << std::endl;
|
|
|
|
auto results = recognizer(image, rects);
|
|
|
|
clock_t start = clock();
|
|
|
|
clock_t end = clock();
|
|
|
|
auto rects = detector(image);
|
|
|
|
std::cout << "Warm UP [" << i << "] Cost " << static_cast<double>(end - start) / static_cast<double>(CLOCKS_PER_SEC) << " Second(s)" << std::endl;
|
|
|
|
auto results = recognizer(image, rects);
|
|
|
|
|
|
|
|
clock_t end = clock();
|
|
|
|
|
|
|
|
std::cout << "Warm UP [" << i << "] Cost " << static_cast<double>(end - start) / static_cast<double>(CLOCKS_PER_SEC) << " Second(s)" << std::endl;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
std::cout << "GPU Warm UP Finished" << std::endl;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
std::cout << "GPU Warm UP Finished" << std::endl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Begin OCR
|
|
|
|
//Begin OCR
|
|
|
|
clock_t start = clock();
|
|
|
|
clock_t start = clock();
|
|
|
@ -64,8 +67,8 @@ int main()
|
|
|
|
clock_t recognize_finished = clock();
|
|
|
|
clock_t recognize_finished = clock();
|
|
|
|
for (const auto& [index, info] : results)
|
|
|
|
for (const auto& [index, info] : results)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
const auto& [text, conf] = info;
|
|
|
|
const auto& [text, conf, rect] = info;
|
|
|
|
std::cout << "Box " << index << ": \"" << WtoA(text) << "\" Confidence=" << conf << "\n";
|
|
|
|
printf("Result %d: Text = {%s}, Box = [%d, %d, %d, %d], Confidence = %.3f\n", (int)index, WtoA(text).c_str(), rect.tl().x, rect.tl().y, rect.br().x, rect.br().y, conf);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//Output Time Cost
|
|
|
|
//Output Time Cost
|
|
|
|