Mat dst_gpu = dst_cpu.clone();
vector<Vec4i> lines_cpu;
- HoughLinesP(mask, lines_cpu, 1, CV_PI / 180, 50, 60, 5);
- cout << lines_cpu.size() << endl;
+ {
+ const double start = getTickCount();
+
+ HoughLinesP(mask, lines_cpu, 1, CV_PI / 180, 50, 60, 5);
+
+ const double timeSec = (getTickCount() - start) / getTickFrequency();
+ cout << "CPU Time : " << timeSec * 1000 << " ms" << endl;
+ cout << "CPU Found : " << lines_cpu.size() << endl;
+ }
for (size_t i = 0; i < lines_cpu.size(); ++i)
{
GpuMat d_src(mask);
GpuMat d_lines;
HoughLinesBuf d_buf;
- gpu::HoughLinesP(d_src, d_lines, d_buf, 1, CV_PI / 180, 50, 5);
+ {
+ const double start = getTickCount();
+
+ gpu::HoughLinesP(d_src, d_lines, d_buf, 1, CV_PI / 180, 50, 5);
+
+ const double timeSec = (getTickCount() - start) / getTickFrequency();
+ cout << "GPU Time : " << timeSec * 1000 << " ms" << endl;
+ cout << "GPU Found : " << d_lines.cols << endl;
+ }
vector<Vec4i> lines_gpu;
if (!d_lines.empty())
{
Mat h_lines(1, d_lines.cols, CV_32SC4, &lines_gpu[0]);
d_lines.download(h_lines);
}
- cout << lines_gpu.size() << endl;
for (size_t i = 0; i < lines_gpu.size(); ++i)
{