Grabar video con OpenCv

Grabar desde la cámara de la portátil

import cv2

if __name__ == '__main__':
    cap = cv2.VideoCapture(0)

    #Definir el codec y crea un objeto de grabacion del video
    fourcc = cv2.VideoWriter_fourcc(*'XVID')
    out = cv2.VideoWriter('salida.avi', fourcc, 20.0, (640,480))

    while(cap.isOpened()):
        ret, frame = cap.read()

        if ret == True:
            #frame = cv2.flip(frame,0)
            out.write(frame)
            cv2.imshow('Video', frame)
            if cv2.waitKey(1) & 0xFF == ord('q'):
                break

    cap.release()
    cv2.destroyAllWindows()


Capturar video con OpenCv

Ejemplo básico de captura de video desde cámara y mostrarlo en una ventana

import cv2

if __name__ == '__main__':
    video = cv2.VideoCapture(0)
    while(True):
        ret, frame = video.read()
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

        cv2.imshow('Video', frame)
        cv2.imshow('Gris', gray)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    video.release()
    cv2.destroyAllWindows()

Instalar ubuntu en Asus FX503VD (NVIDIA GTX 1050) Opción 1

Versión de ubuntu: 18.10 desktop amd64

Características del equipo

  • Marca: Asus
  • Modelo: FX503VD
  • Tarjetas de video: Nvidia GTX 1050 ,  intel

Problemas:

No arranca el live cd  y de instalar agregando en el grub  después del splash acpi_osi=! ,  no funciona el touch y  en la rama de debian no es posible apagar.

Pasos a seguir

  1. Al iniciar el live, presionar e para entrar a editar
  2. Incluir despues de la palabra splash:
    nouveau.modeset=0 tpm_tis.interrupts=0 acpi_osi=Linux i915.preliminary_hw_support=1 idle=nomwait
  3. Presionar f10 para inciar el instalador
  4. Instalar normalmente,  pero «No instalar software de terceros»
  5. Apagar la maquina
  6. Al iniciar desde la maquina, repetir el paso 1, 2 y 3
  7. Al iniciar, es necesario modificar permanentemente el grub, mediante : $ sudo vim /etc/default/grub
  8. Encontrar la linea de:
    GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”‘

    y remplazarlo por:

    GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash nouveau.modeset=0 tpm_tis.interrupts=0 acpi_osi=Linuxi915.preliminary_hw_support=1 idle=nomwait”

     

  9.  Actualizar grub con $sudo update-grub
  10. Actualizar el sistema
    sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade

     

  11. Instalar drivers de la tarjeta
    sudo apt purge nvidia*
    sudo apt update
    sudo ubuntu-drivers autoinstall
    sudo apt full-upgrade

Docker – publicar .war en tomcat

Dockerfile

FROM tomcat:latest
COPY tomcat-users.xml /usr/local/tomcat/conf/
COPY context.xml /usr/local/tomcat/webapps/manager/META-INF/
COPY playground2.war /usr/local/tomcat/webapps/
COPY travelocity.com.war /usr/local/tomcat/webapps/

tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users >
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager"/>
  <role rolename="manager-script"/>
  <role rolename="manager-gui"/>
  <role rolename="admin-gui"/>
  <user username="admin" password="tomcat" roles="tomcat,role1,manager-gui,manager-script,admin-gui,manager"/>
</tomcat-users>

context.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context antiResourceLocking="false" privileged="true" >
  <!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
  -->
</Context>

Ejecutar

docker build -t travelocity .

docker run -it --rm -p 8080:8080 travelocity

 

Docker – apache php7 y postgresql

Mediante dos contenedores levantar un servidor apache configurado con Php7 y un contenedor para postgresql con persistencia mediante un volumen de datos:

Preparar la imagen con apache y php7

Estructura del directorio

Crear el archivo Dockerfile

FROM webdevops/php-apache:alpine
RUN apk update && apk add build-base

RUN apk add php7-pdo_pgsql

A partir de una imagen de  «webdevops/php-apache:alpine», procedemos  a actualizar los paquetes (2) y añadir compatibilidad con php7 (3)

Crear la imagen

docker build -t apache7php .

Crear docker-compose.yml

version: '3'
services:
  db:
      image: postgres:latest
      ports:
          - "5432:5432"
      networks:
          - overlay
      environment:
          POSTGRES_USER: postgres
          POSTGRES_PASSWORD: 123456
      volumes:
          - ./sql:/sql
          - postgres-data:/var/lib/postgresql/data

  web:
      image: apache7php:latest
      ports:
          - "80:80"
      volumes:
          - ../intranet:/app
          - ./php/02_pdo_pgsql.ini:/etc/php7/conf.d/02_pdo_pgsql.ini
          - ./http/vhost.conf:/opt/docker/etc/httpd/vhost.conf
      links:
        - db
      networks:
          - overlay

volumes:
  postgres-data:

networks:
  overlay:

(1) versión de composer

(2) Area de servicios

(3) Etiqueta para contenedor de bdd

(4) Imagen de referencia

(5) puertos

(7) Es necesario establecer una red (característica de la versión 3)

(8) Variable de ambiente

(12) Volumenes que comparte

(13) Carpeta «sql» para compartir respaldos de las bdd

(14) volumen para persistencia de las bdd

(16) Etiqueta para contenedor de servidor web

(17) Referencia a imagen recién creada

(18) Puertos

(20) Volumenes

(21) Carpeta que sera publicada en el sevidor

(22) Archivo de configuración que habilita pdo_pgsql

(23) Archivo de configuración para servidores virtuales

(24) Referencia a contenedor de bdd

(26) Referencia a red

(29) Area de volumenes

(30) Volumen para persistencia de bases de datos

(32) Area para redes

Archivos de configuración

02_pdo_pgsql.ini

extension=pdo_pgsql.so

vhost.conf

#######################################
# Vhost
#######################################

<VirtualHost *:80>
  ServerName docker.vm
  ServerAlias *.vm
  DocumentRoot "/app/public"

  UseCanonicalName Off

  <IfVersion < 2.4>
    Include /opt/docker/etc/httpd/vhost.common.d/*.conf
  </IfVersion>
  <IfVersion >= 2.4>
    IncludeOptional /opt/docker/etc/httpd/vhost.common.d/*.conf
  </IfVersion>

</VirtualHost>

<VirtualHost *:443>
  ServerName docker.vm
  ServerAlias *.vm
  DocumentRoot "/app"

  UseCanonicalName Off

  <IfVersion < 2.4>
    Include /opt/docker/etc/httpd/vhost.common.d/*.conf
  </IfVersion>
  <IfVersion >= 2.4>
    IncludeOptional /opt/docker/etc/httpd/vhost.common.d/*.conf
  </IfVersion>

  Include /opt/docker/etc/httpd/vhost.ssl.conf
</VirtualHost>

 Ejecutar

$ docker-compose up