可视化霍夫变换的结果



我目前正在编程一个激光3D传感器,它为我提供了2D阵列中的边缘点(X、Y、Z(。坐标用于执行霍夫变换。Rho和Theta中的结果输出到我的控制台
我现在的问题是,我是否可以将这个结果可视化,以检查其正确性。我想到了库OpenCV,但我不熟悉它的编程,只见过转换和可视化文件路径指定的图像的函数和示例。也许有人可以告诉我OpenCV是否支持将Rho和Theta值可视化为原始输入的功能,或者是否还有其他可能性。


非常感谢
致以亲切的问候
Simon

您可以将OpenCv图像中的点绘制为轮廓,然后应用Hough变换,如下所示:

cv::Mat dst;
cv::drawContours(dst, contours, -1, cv::Scalar(0, 255, 0), 2);
// contours is your 2D vector)
vector<Vec2f> lines; // will hold theta and rho
HoughLines(dst, lines, 1, cv::CV_PI/180, 150, 0, 0 ); 
for( size_t i = 0; i < lines.size(); i++ )
{
float rho = lines[i][0], theta = lines[i][1];
std::cout << "rho = " << rho << " theta = " << theta << 'n';
}

最新更新