# Path: src/cte.py
# GOBAN_SIZE = 19
# 
# Path: src/cte.py
# BLACK = 1
# 
# Path: src/cte.py
# WHITE = 2


from cv import CV_8UC1
from cv import CV_BGR2GRAY
from cv import CloneMat
from cv import CvtColor
from cv import Canny
from cv import Smooth
from cv import CV_GAUSSIAN
from cv import CV_32FC3
from cv import CV_HOUGH_GRADIENT
from cv import HoughCircles
from cv import Get2D 
from cv import CreateMat
from src.cte import GOBAN_SIZE
from src.cte import BLACK
from src.cte import WHITE
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.



def search_stones(img, corners, dp=1.7):
    """Devuelve las circunferencias encontradas en una imagen.

    :Param img: imagen donde buscaremos las circunferencias
    :Type img: IplImage
    :Param corners: lista de esquinas
    :Type corners: list
    :Param dp: profundidad de búsqueda de círculos
    :Type dp: int
    :Keyword dp: 1.7 era el valor que mejor funcionaba. Prueba y error """
    gray = CreateMat(img.width, img.height,CV_8UC1)
    CvtColor(img, gray, CV_BGR2GRAY)
    
    gray_aux = CloneMat(gray)
    gray_aux_2 = CloneMat(gray)
    Canny(gray, gray_aux_2, 50,55,3)
    Smooth(gray_aux_2, gray_aux, CV_GAUSSIAN, 3, 5)
    
    # creo una matriz de para guardar los circulos encontrados
    circles = CreateMat(1, gray_aux.height*gray_aux.width, CV_32FC3)
    # r es el la mitad del tamaño de un cuadrado, el radio deseado 

# Path: src/cte.py
# GOBAN_SIZE = 19
# 
# Path: src/cte.py
# BLACK = 1
# 
# Path: src/cte.py
# WHITE = 2


# Path: src/search_stones.py
from cv import CV_8UC1
from cv import CV_BGR2GRAY
from cv import CloneMat
from cv import CvtColor
from cv import Canny
from cv import Smooth
from cv import CV_GAUSSIAN
from cv import CV_32FC3
from cv import CV_HOUGH_GRADIENT
from cv import HoughCircles
from cv import Get2D 
from cv import CreateMat
from src.cte import GOBAN_SIZE
from src.cte import BLACK
from src.cte import WHITE

# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.



def search_stones(img, corners, dp=1.7):
    """Devuelve las circunferencias encontradas en una imagen.

    :Param img: imagen donde buscaremos las circunferencias
    :Type img: IplImage
    :Param corners: lista de esquinas
    :Type corners: list
    :Param dp: profundidad de búsqueda de círculos
    :Type dp: int
    :Keyword dp: 1.7 era el valor que mejor funcionaba. Prueba y error """
    gray = CreateMat(img.width, img.height,CV_8UC1)
    CvtColor(img, gray, CV_BGR2GRAY)
    
    gray_aux = CloneMat(gray)
    gray_aux_2 = CloneMat(gray)
    Canny(gray, gray_aux_2, 50,55,3)
    Smooth(gray_aux_2, gray_aux, CV_GAUSSIAN, 3, 5)
    
    # creo una matriz de para guardar los circulos encontrados
    circles = CreateMat(1, gray_aux.height*gray_aux.width, CV_32FC3)
    # r es el la mitad del tamaño de un cuadrado, el radio deseado 

    r = img.width/(GOBAN_SIZE*2)