Documentos de Académico
Documentos de Profesional
Documentos de Cultura
import cv2
# from __future__ import print_function
import cv2 as cv
import numpy as np
import argparse
import random as rng
rng.seed(12345)
def thresh_callback(val):
threshold = val
# Detect edges using Canny
canny_output = cv.Canny(src_gray, threshold, threshold * 2)
# Find contours
contours, hierarchy = cv.findContours(canny_output, cv.RETR_TREE,
cv.CHAIN_APPROX_SIMPLE)
# Draw contours
drawing = np.zeros((canny_output.shape[0], canny_output.shape[1],
3), dtype=np.uint8)
captura=cv2.VideoCapture(0)
while(True):
Moneda5=0.00
Moneda10=0.00
Moneda25=0.00
Moneda50=0.00
Moneda100=0.00
Monedas = 0.00
Dinero =0.00
if len(contornos) != 0:
controlTamaño = []
for i, c in enumerate(contornos):
if c.shape[0] > 60: #Control de tamaños
controlTamaño.append(contornos[i])
for i in controlTamaño:
area = cv2.contourArea(i)
lista_areas.append(area)
if len(lista_areas) != 1:
#Te quedas con el area más grande
Moneda_mas_grande =
controlTamaño[lista_areas.index(max(lista_areas))]
area_max=max(lista_areas)
#print('Area Máxima: ', area_max)
area = cv2.contourArea(Moneda_mas_grande)
x, y, w, h = cv2.boundingRect(Moneda_mas_grande)
#cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0),
2)
#print(lista_areas)
for i in lista_areas:
#Moneda 50 Centavos
if (area_max/1.1)< i <(area_max/0.9):
Moneda50 = Moneda50 + 5
#monedas de 1 dolar
if (area_max/1.55)< i <(area_max/1.4):
Moneda100=Moneda100+10
# monedas de 25 centavos
if (area_max / 1.9) < i < (area_max / 1.65):
Moneda25 = Moneda25+2.5
# monedas de 5 centavos
if (area_max / 2.4) < i < (area_max / 1.9):
Moneda5 = Moneda5 + 0.5
# monedas de 10 centavos
if (area_max / 4) < i < (area_max / 2.7):
Moneda10 = Moneda10 + 1
#Contar Dinero
Dinero = Moneda10 + Moneda25 + Moneda50 + Moneda100
+Moneda5
#Contar Monedas
Monedas =len(lista_areas)
else:
cv2.imshow("Imagen Original", src)