CImg hough实现如何工作?

时间:2016-03-25 11:30:43

标签: c++ image-processing hough-transform cimg

Here is the example Hough Transform from the CImg library

我试图弄清楚这个实现是如何工作的,因为它与你在网上找到的其他实现有很大不同。

据我了解,对于Hough变换,您需要遍历每个边缘点并计算180度的rho / theta值以填充该字段。

但是在CImg实现中,当你按空格时,程序只循环遍历每个像素并计算一次rho / theta,最后它仍然会产生正确的结果。

我试图在没有任何图书馆的帮助下自己实现这个,但我无法弄清楚它是如何工作的。我认为"魔术"在循环之前拍摄的2个渐变图像之间发生,但我似乎无法弄明白。

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

$(function() {
    // Dropdown toggle
    $('.rs-dropdown-toggle').click(function(){
      $(this).next('.rs-dropdown').slideToggle('slow');
    });

    $(document).click(function(e) {
      var target = e.target;
      if (!$(target).is('.rs-dropdown-toggle') && !$(target).parents().is('.rs-dropdown-toggle')) {
        $('.rs-dropdown').slideUp();
      }
    });
    // moved inside the ready handler
    $(".rotate").click(function(){
        $(this).toggleClass("down"); 
    });

});

计算渐变的方向。通过这种方式,我们可以获得θ,而不会为每个点循环180°。

我认为这基本上是一个Sobel行动:

https://en.m.wikipedia.org/wiki/Sobel_operator