link data analysis in python:
https://github.com/victorengineer/data_science_nasa_hackathon
link food delivery app (android)
| importcv2 | |
| importnumpyasnp | |
| importtime | |
| importos | |
| fromflaskimportFlask | |
| fromflaskimportrender_template | |
| fromflask_cachingimportCache | |
| cache=Cache(config={'CACHE_TYPE': 'null'}) | |
| app=Flask(__name__) | |
| cache.init_app(app) | |
| app.static_folder='static' | |
| defdibujarContorno(contornos, color): | |
| for (i, c) inenumerate(contornos): | |
| M=cv2.moments(c) | |
| if (M["m00"]==0): M["m00"]==1 | |
| cv2.drawContours(imagen, [c], 0, color, 2) | |
| cv2.putText(imagen, str(i+1), (10,10), 1, 2,(0,0,0),2) | |
| amarilloBajo=np.array([20, 100, 20], np.uint8) | |
| amarilloAlto=np.array([32, 255, 255], np.uint8) | |
| violetaBajo=np.array([125,100,20], np.uint8) | |
| violetaAlto=np.array([150,255,255], np.uint8) | |
| verdeBajo=np.array([80, 100, 20], np.uint8) | |
| verdeAlto=np.array([100, 255, 255], np.uint8) | |
| rojoBajo1=np.array([0, 100, 20], np.uint8) | |
| rojoAlto1=np.array([10, 255, 255], np.uint8) | |
| rojoBajo2=np.array([175, 100, 20], np.uint8) | |
| rojoAlto2=np.array([180, 255, 255], np.uint8) | |
| video=cv2.VideoCapture(0) | |
| check, frame=video.read() | |
| cv2.waitKey(0) | |
| imagen=frame | |
| video.release() | |
| imagenHSV=cv2.cvtColor(imagen, cv2.COLOR_BGR2HSV) | |
| cv2.imwrite('static/conteo.png', imagenHSV) | |
| #Detectando colores | |
| maskAmarillo=cv2.inRange(imagenHSV, amarilloBajo, amarilloAlto) | |
| maskVioleta=cv2.inRange(imagenHSV, violetaBajo, violetaAlto) | |
| maskVerde=cv2.inRange(imagenHSV, verdeBajo, verdeAlto) | |
| maskRojo1=cv2.inRange(imagenHSV, rojoBajo1, rojoAlto1) | |
| maskRojo2=cv2.inRange(imagenHSV, rojoBajo2, rojoAlto2) | |
| maskRojo=cv2.add(maskRojo1, maskRojo2) | |
| #Encontrando contornos | |
| contornosAmarillo=cv2.findContours(maskAmarillo, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[0] | |
| contornosVioleta=cv2.findContours(maskVioleta, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[0] | |
| contornosVerde=cv2.findContours(maskVerde, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[0] | |
| contornosRojo=cv2.findContours(maskRojo, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[0] | |
| dibujarContorno(contornosAmarillo, (0, 255,255)) | |
| dibujarContorno(contornosVioleta, (140, 40, 120)) | |
| dibujarContorno(contornosVerde, (0, 255, 0)) | |
| dibujarContorno(contornosRojo, (0, 0, 255)) | |
| #Imagen Resumen | |
| imgResumen=255*np.ones((500,600,3), dtype=np.uint8) | |
| cv2.circle(imgResumen, (30,70), 15, (140,40,120), -1) | |
| cv2.circle(imgResumen, (30,110), 15, (0,255,0), -1) | |
| iflen(contornosVioleta)>235orlen(contornosVerde)>1: | |
| variable6="bacteria detected" | |
| variable67="It is recommended to disinfect again" | |
| else: | |
| variable6="No Danger" | |
| variable67="The product is in good condition" | |
| totalCnts=len(contornosVioleta) +len(contornosVerde) | |
| pr=totalCnts*100/totalCnts | |
| promedioVirus= (len(contornosVerde) *100)/totalCnts | |
| promedioVirusHTML=promedioVirus | |
| promedioDescontaminado= (len(contornosVioleta)*100)/totalCnts | |
| promedioDescontaminadoHTML=promedioDescontaminado | |
| cantidadVioleta=len(contornosVioleta) | |
| cantidadVerde=len(contornosVerde) | |
| cantidadTotal=cantidadVioleta+cantidadVerde | |
| @app.route('/') | |
| defindex(): | |
| returnrender_template('index.htm', variable=promedioVirusHTML, variable2=promedioDescontaminadoHTML, variable3=cantidadVioleta, variable4=cantidadVerde, variable5=cantidadVioleta, variable6=variable6, recc=variable67) | |
| if__name__=='__main__': | |
| app.run(debug=True, port=8000) | |
| cv2.waitKey(0) | |
| cv2.destroyAllWindows() |
Repositorio de GitHub
https://github.com/Aless1313/Alianza-Quetzal---SpaceApps-NASA
>> Título del proyecto (100 caracteres)
>> Proporcione un resumen de alto nivel de su proyecto (100 palabras)
>> Describa cómo su proyecto aborda este desafío
>> Describa cómo desarrolló su proyecto
¿Qué inspiró a tu equipo a elegir este desafío? ¿Cuál fue su enfoque para desarrollar este proyecto? ¿Cómo utilizó los datos de la agencia espacial en su proyecto? ¿Qué herramientas, lenguajes de codificación, hardware y software utilizó para desarrollar su proyecto? ¿Qué problemas y logros tuvo su equipo?
>> Demuestre su solución
Proporcione una demostración de usted mostrando su proyecto compartiendo un enlace público a diapositivas (hasta 5), capturas de pantalla (hasta 5) o video (límite de 30 segundos).
>> Comparta su código (si corresponde)
>> Referencias: enumere los datos y recursos utilizados en su proyecto
Recordatorio: puede usar cualquier dato abierto que desee. Sin embargo, para ser elegible para un juicio global, también debe usar datos de la NASA y / o una de las agencias asociadas de la NASA para el Desafío COVID-19 de Space Apps (ESA, JAXA, CSA, CNES ...)
>> Agregue algunas etiquetas para que podamos clasificar su proyecto
Este desafío lo invita a analizar el impacto de COVID-19 en los Objetivos de Desarrollo Sostenible (ODS) de las Naciones Unidas (ONU) al observar el cambio actual y continuo en los indicadores de monitoreo de los ODS de la ONU utilizando las observaciones de la Tierra, la teledetección y los sistemas globales de análisis de productos derivados del modelo.
Hola equipo, les escribo por aquí para que igual estemos interactuando con la plataforma