Houch Transformsは、1962年にPaul Houghによって提案され、特許を取得しました。当初、この手法は画像内の線の検出にのみ適用され、後にいくつかのパラメーターで説明できる数字を識別するために拡張されました。

これは、1つの画像でまっすぐに検出するためにアルゴリズムがどのように機能するかの擬似コードです。

1：画像を読み込みます
2：画像内のエッジを検出します
3：画像の各ポイントについて：
4：はい、ポイント
  
    
    {\ displaystyle（x、y）}
  
（x、y）はエッジにあります：
5：すべての可能な角度について
  
    
    {\ displaystyle \ theta}
  
\ theta：
6：計算します
  
    
    {\ displaystyle \ rho}
  
ポイントの\ rho
  
    
    {\ displaystyle（x、y）}
  
（x、y）角度で
  
    
    {\ displaystyle \ theta}
  
\ theta
7：位置を増やします
  
    
    {\ displaystyle（\ rho、\ theta）}
  
{\ dispaystyle（\ rho、\ theta）}アキュムレータの
8：アキュムレータの値が最も高い位置を探します
9：アキュムレータで値が最大の線を返します。
La transformada de Hough fue propuesta y patentada en 1962, por Paul Hough,​ inicialmente esta técnica solo se aplicaba a la detección de rectas en una imagen, más tarde se extendió para identificar cualquier figura que se pudiera describir con unos cuantos parámetros;​ más comúnmente circunferencias y elipses.

Aquí se muestra un pseudocódigo de como debería funcionar el algoritmo para detectar rectas en una imagen:

1:    cargar imagen
2:    detectar los bordes en la imagen
3:    por cada punto en la imagen:
4:       si el punto 
  
    
    {\displaystyle (x,y)}
  
(x,y) esta en un borde:
5:          por todos los posibles ángulos 
  
    
    {\displaystyle \theta }
  
\theta :
6:             calcular 
  
    
    {\displaystyle \rho }
  
\rho  para el punto 
  
    
    {\displaystyle (x,y)}
  
(x,y) con un ángulo 
  
    
    {\displaystyle \theta }
  
\theta 
7:             incrementar la posición 
  
    
    {\displaystyle (\rho ,\theta )}
  
{\displaystyle (\rho ,\theta )} en el acumulador
8:    buscar las posiciones con los mayores valores en el acumulador
9:    devolver las rectas cuyos valores son los mayores en el acumulador.