Como criar um aplicativo MAC

Em lazarus após compilar um binário no MAC é necessário criar um pacote (PKG), para tanto realize as seguintes operações:

  1. Entre no MAC OS X
  2. Selecione o PackageMaker para dar inicio a criação do pacote

Esta ferramenta(PackageMaker), permite através de uma interface gráfica, criar pacotes de instalação do seu aplicativo.

3. Crie uma pasta para seu novo instalador, conforme a figura abaixo:

 

Selecione a distribuição e modifique as informações sobre o pacote:

  • Título
  • User Sees
  • Install Destination
  • Certificate
  • Description

Conforme sua necessidade, na figura abaixo, estamos gerando um exemplo de projeto criado:

Agora inclua os fontes que precisa utilizar, na pasta Contents, conforme ilustração abaixo:

São informações pertinentes o Destination, que informa o local da instalação.

Agora na pasta Contents, click no botão Apply Recommendations, pronto!

Faça isso para todos os arquivos, e ao fim click em Build.

Você pode customizar também a Interface, clicando em Edit Interface, conforme figura abaixo:

 

 

Referencia: http://ptcomputador.com/Sistemas/mac-os/206825.html

Lazarus no MAC

O desenvolvimento de aplicações multiplataforma nunca foi tarefa fácil.


Os obstáculos para criação de ferramentas homogêneas multiplataforma, sempre foram questão de grande comoção e tem sido pungente sua necessidade.

Até a bem pouco tempo atras,  o JAVA era uma das poucas linguagens que cumpria com certo grau de satisfação essa tarefa.

Porem, há alguns anos o Lazarus, uma IDE, baseada em Pascal Objects, tem evoluído  e hoje torna-se uma referencia para desenvolvimento multiplataforma.

Com uma interface muito próxima ao antigo Delphi, e com código nativo, os projetos em Lazarus agregam performance e estabilidade.

Porem, há ainda um longo caminho a ser vencido, no tocante a uma ferramenta  multiplataforma realmente eficiente.

Mas gostaria de deixar meu comentário, e quem sabe ser mais um que um deslumbre de um  futuro promissor para o Lazarus, onde este ecoará entre as ferramentas de ponta do mercado.

Vamos acompanhar sua evolução na esperança que esta promessa se cumpra.

 

Dica para substituir o Visio

Uma boa dica para montagem de diagramas como o visio é o site https://www.draw.io/

Este site se conecta a sua conta do google drive, permitindo que voce crie pelo browser diagramas de uma variedade incrível e totalmente gratuito.

Com uma interface muito semelhante ao visio da microsoft, o draw é uma boa pedida para este fim.

 

 

OpenCV Ubuntu – Tradução

Este link é uma tradução do Seguinte post:

https://www.learnopencv.com/install-opencv3-on-ubuntu/

Neste post, forneceremos instruções passo a passo para instalar o OpenCV 3 (C ++ e Python) no Ubuntu.

Passo1 : Atualização de Pacotes

sudo apto-get update
sudo apto-get upgrade

Passo2: Instalação bibliotecas do SO

Remova qualquer instalação anterior da biblioteca x264 
sudo apt-get remove x264 libx264-dev   
Nos iremos instalar as dependências agora!   
sudo apt-get install build-essential checkinstall cmake pkg-config yasm sudo apt-get install git gfortran 
sudo apt-get install libjpeg8-dev libjasper-dev libpng12-dev   

# Se você esta usando o Ubuntu 14.04 
sudo apt-get install libtiff4-dev 

# If you are using Ubuntu 16.04 
sudo apt-get install libtiff5-dev   

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev 

sudo apt-get install libxine2-dev libv4l-dev 
sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev 
sudo apt-get install qt5-default libgtk2.0-dev libtbb-dev 
sudo apt-get install libatlas-base-dev 
sudo apt-get install libfaac-dev libmp3lame-dev libtheora-dev 
sudo apt-get install libvorbis-dev libxvidcore-dev 
sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev 
sudo apt-get install x264 v4l-utils   

# Dependências opcionais 
sudo apt-get install libprotobuf-dev protobuf-compiler 
sudo apt-get install libgoogle-glog-dev libgflags-dev 
sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen

Passo3: Instalação das bibliotecas do Python

sudoapt-get installpython-dev python-pip python3-dev python3-pip sudo-H pip2 install-U pip numpy sudo-H pip3 install-U pip numpy

Nós usaremos o Ambiente virtual para instalar as bibliotecas do Python. Geralmente é uma boa prática separar o ambiente do seu projeto e o ambiente global.

# Instale o ambiente virtual
sudo pip2 installvirtualenv virtualenvwrapper 
sudo pip3 installvirtualenv virtualenvwrapper 

echo"# Virtual Environment Wrapper">> ~/.bashrc 

echo"source /usr/local/bin/virtualenvwrapper.sh">> ~/.bashrc source~/.bashrc   

############ No Python 2 ############ 
# Crie o ambiente virtual 
mkvirtualenv facecourse-py2 -p python2 
workon facecourse-py2   

# Agora instale as bibliotecas do python com o ambiente virtual
pip installnumpy scipy matplotlib scikit-image scikit-learn ipython   

# desative o ambiente virtual 
deactivate
######################################   
############ No Python 3 ############ 

# Crie o ambiente virtual 
mkvirtualenv facecourse-py3 -p python3 
workon facecourse-py3   

# Agora instale as bibliotecas do python com o ambiente virtual
pip install numpy scipy matplotlib scikit-image scikit-learn ipython   # desative o ambiente virtual
######################################

Nós iremos baixar os pacotes opencv e opencv_contrib de seus repositórios do GitHub.

Passo 4.1: Baixe o Opencv do Github

git clone https://github.com/opencv/opencv.git
cdopencv  git checkout 3.3.1  cd..

Passo 4.2: Baixe opencv_contrib do Github

git clone https://github.com/opencv/opencv_contrib.git cdopencv_contrib git checkout 3.3.1 cd..

Passo 5: Compile e instale o OpenCV com os modelos de contribuição

Passo 5.1: Gere um diretório build

cd opencv 
mkdir build 
cd build

Passo 5.2: Execute o CMake

cmake -D CMAKE_BUILD_TYPE=RELEASE \
       -D CMAKE_INSTALL_PREFIX=/usr/local\
       -D INSTALL_C_EXAMPLES=ON \
       -D INSTALL_PYTHON_EXAMPLES=ON \
       -D WITH_TBB=ON \
       -D WITH_V4L=ON \
       -D WITH_QT=ON \
       -D WITH_OPENGL=ON \
       -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules\
       -D BUILD_EXAMPLES=ON ..

 Passo 5.3: Compile e Instale

# Encontre o numero de núcleos do seu computador
nproc

# Substitua o 4 pelo resultado obtido em nproc
make -j4

sudo make install

sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf'

sudo ldconfig

Passo 5.4: Crie um link simbólico no ambiente virtual

Dependendo da versão do Python, os caminhos seriam diferentes.

O binário Python do OpenCV (cv2.so) pode ser instalado no diretório site-packages ou dist-packages.

Use o seguinte comando para descobrir o local correto em sua máquina.

find /usr/local/lib/ -type f -name "cv2*.so"

Ele deve gerar caminhos semelhantes a um desses (ou dois no caso de o OpenCV ter sido compilado para Python2 e Python3):

###### No Python 2 ############
## binary installed in dist-packages
/usr/local/lib/python2.6/dist-packages/cv2.so
/usr/local/lib/python2.7/dist-packages/cv2.so

## Binarios instalados no site de pacotes
/usr/local/lib/python2.6/site-packages/cv2.so
/usr/local/lib/python2.7/site-packages/cv2.so

############ No Python 3 ############
## binary installed in dist-packages
/usr/local/lib/python3.5/dist-packages/cv2.cpython-35m-x86_64-linux-gnu.so
/usr/local/lib/python3.6/dist-packages/cv2.cpython-36m-x86_64-linux-gnu.so
## Binarios instalados no site de pacotes
/usr/local/lib/python3.5/site-packages/cv2.cpython-35m-x86_64-linux-gnu.so
/usr/local/lib/python3.6/site-packages/cv2.cpython-36m-x86_64-linux-gnu.so

Verifique novamente o caminho exato em sua máquina antes de executar os seguintes comandos

############ No Python 2 ############
cd ~/.virtualenvs/facecourse-py2/lib/python2.7/site-packages
ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so  

############ No Python 3 ############
cd ~/.virtualenvs/facecourse-py3/lib/python3.6/site-packages
ln -s /usr/local/lib/python3.6/dist-packages/cv2.cpython-36m-x86_64-linux-gnu.so cv2.so

 Passo 6: Teste o OpenCV3

Vamos testar um aplicativo de remoção de olhos vermelhos escrito em OpenCV para testar nossas instalações em C ++ e Python.

Faça o download do RedEyeRemover.zip e extraia-o em uma pasta.

Passo 6.1: Teste o código C++

Vá na pasta descompassada, compile e execute.

# Compile
# Existem backticks ( ` ) ao redor do comando pkg-config command não é aspas simples
g++ -std=c++11 removeRedEyes.cpp `pkg-config --libs --cflags opencv` -o removeRedEyes
# run
./removeRedEyes

Passo 6.2: Teste o código em Python

Ative o ambiente virtual do Python
############ No Python 2 ############
workon facecourse-py2

############ No Python 3 ############
workon facecourse-py3
Checarem rápida
# open ipython (execute esta linha no console)
ipython

# import cv2 and print version (run following commands in ipython)
importcv2
print cv2.__version__

# Se o OpenCV3 estiver instalado corretamente,
# na linha de comando aparecerá a saída 3.3.1

# Pressione CTRL+D para sair do ipython

Para executar  o removedor de olhos vermelhos

python removeRedEyes.py

Agora você pode sair do ambiente virtual do Python

deactivate

Sempre que você estiver executando scripts Python que usam o OpenCV, você deve ativar o ambiente virtual que criamos, usando o comando workon.

Registre-se e baixe o código

Se você gostou deste artigo e gostaria de baixar o código (C ++ e Python) e as imagens de exemplo usadas em todas as postagens deste blog, assine a nossa newsletter.

Você também receberá um Guia de Recursos do Computer Vision gratuito. Em nossa newsletter, compartilhamos os tutoriais e exemplos do OpenCV escritos em C ++ / Python e os algoritmos e notícias do Computer Vision e Machine Learning.

Registre-se agora

Tradução

Duvidas ou problemas de tradução, envie um email para mim

Processamento de Imagem de CFTV 2.0

 

Informações pertinentes ao processamento de imagem

import sys
import numpy as np
import cv2
import MySQLdb

def conexao():
 Banco="banco"
 User="usuario"
 Passwrd="senha"
 Host="ip"
 resultado = 0

try:
 resultado = MySQLdb.connect(db=Banco,user=User, passwd=Passwrd, host=Host)
 except:
 print("Erro ao conectar no Banco de dados")
 resultado = -1
 return resultado



def GravaReg(arquivo,x,y,a,h):
 con = conexao()
 cursor = con.cursor()
 sql= "insert into eventoCam (arquivo,x,y,a,h) values ('%s',%d,%d,%d,%d)" %(arquivo,x,y,a,h)
 print(sql)
 try:
 cursor.execute(sql)
 con.commit()
 print("Registro Gravado")
 except MySQLdb as erro:
 print("Erro ao Executar SQL", erro)
 
#Pega o nome do arquivo a ser analisado
Arquivo = sys.argv[1]

# load an color image in grayscale
img = cv2.imread(Arquivo)
print("Carregado:%s",Arquivo)

classificador = cv2.CascadeClassifier("/projetos/python/cv/face.xml")



imagemCinza = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

facesDetectadas = classificador.detectMultiScale(imagemCinza, scaleFactor=1.5, minSize=(100,100))

for (x,y,l, a ) in facesDetectadas:
 print("Face:",x,y)
 GravaReg(Arquivo,x,y,l,a)



cv2.destroyAllWindows()
print("Finalizou")

Arquivo de script do Motion, bash para processamento de imagem

#!/bin/bash#!/bin/bash

quebrar() {
 local filepath="$1" local filename=$(basename "$filepath") 
 local ext=$(echo "$filename"| awk -F '.' '{ if (NF==2) {print $NF} else if ( NF>2) {print $(NF-1)"."$NF} }') 
 local dir=$(echo "$filepath" | awk -F '/' '{ print substr($0, 0 , length($0)-length($NF)-1) }') 
 echo -e "$dir""\t""$filename""\t""$ext"
}

ret="$(quebrar "$1")"
echo "$diretorio: " "$(echo "$ret" | cut -f1)"
diretorio="$(echo "$ret"|cut -f1)"
filename="$(echo "$ret"| cut -f2)"
somentefilename="$(echo "$filename"| cut -d. -f1)"
extensao="$(echo "$filename"| cut -d. -f2)"
novoarquivo="$(echo "$1"| cut -d. -f1)"
novoarquivo="$(echo "$novoarquivo"".mp4")"
#echo "Desmembramento do arquivo"
#echo $diretorio
#echo $somentefilename
#echo $extensao
#echo $filenameecho $novoarquivo

#ffmpeg  -i $1 -c:v libx264 -preset ultrafast $novoarquivo
python /projetos/python/cv/load.py $novoarquivo

rm -f $1

 

Reconhecimento de Imagem em Python

Arquivo completo: cv

Este programa permite detectar faces em um sistema de CFTV, permitindo a o posterior reconhecimento.

Roda em linux e Windows

import sys
import numpy as np
import cv2

#Pega o nome do arquivo a ser analisado
Arquivo = sys.argv[1]

# load an color image in grayscale
img = cv2.imread(Arquivo)
print("Carregado:%s",Arquivo)

classificador = cv2.CascadeClassifier("/projetos/python/cv/face.xml")



imagemCinza = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

facesDetectadas = classificador.detectMultiScale(imagemCinza, scaleFactor=1.5, minSize=(100,100))

for (x,y,l, a ) in facesDetectadas:
 print("Face:",x,y)

cv2.destroyAllWindows()
print("Finalizou")

 

Este exemplo simples é utilizado no sistema de identificação de CFTV de minha casa.

 

Python Exemplo de Arquivo

Exemplo de criação de Arquivo em Python

 

#Criando Python estrutura de Arquivos

#Estrutura de Log
#criado por Marcelo Maurin Martins

import sys

 

#Abre log
def AbreLog():
return(open(“analisa.log”,”r”))

 

def FechaLog(Log):
Log.close()

def processalinha(linha):
output = linha #por enquanto nao faz nada
print(“Linha:”,linha)
return output

def LeLog(Log):
for linha in Log.readlines():
processalinha(linha)

def CriaLog():
Log = open(“analisa.log”,”w”)
for conta in [1,2,3,4,5,6,7,8,9,10]:
Log.write(“teste\n”)
FechaLog(Log)

def main():
print(“Programa de analise de Dados”)
CriaLog()
Log = AbreLog()
LeLog(Log)
FechaLog(Log)

#inicia
main()

Exemplo de dicionário em Python

Segue exemplo de Dicionário em Python

#criado por marcelo maurin
 #14/04/2018

dic_Apps={
 1:"Arduino",
 2:"Delphi",
 3:"C##",
 4:"c++",
 5:"PYTHON"
 }

print("Imprimindo:")
 print("Dicionario:",dic_Apps)
 print("Chaves:",dic_Apps.keys())
 print("Valores:",dic_Apps.values())
 print("Todos itens:",dic_Apps.items())

for chave in dic_Apps.keys():
 print("chave:",chave)
 for valor in dic_Apps.values():
 print("Valor:",valor)
 for item in dic_Apps.items():
 print("Item:",item)