Você está aqui: Python ::: OpenCV ::: Passos Iniciais |
O que é a biblioteca OpenCV e como usá-la em suas aplicações PythonQuantidade de visualizações: 1213 vezes |
A OpenCV (Open Source Computer Vision) é uma biblioteca de programação, de código aberto e inicialmente desenvolvida pela Intel com o objetivo de tornar a visão computacional mais acessível a desenvolvedores e hobistas. Atualmente esta biblioteca possui mais de 500 funções, e pode ser utilizada em diversas linguagens de programação (C++, Python, Ruby, Java, etc). Ela é usada para diversos tipos de análise em imagens e vídeos, como detecção, tracking e reconhecimento facial, edição de fotos e vídeos, detecção e análise de textos, etc. Como baixar e instalar a OpenCV na minha instalação do Python A melhor forma de descobrir se a OpenCV já está disponível para os seus códigos Python é rodando o seguinte trecho de código: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar a bibliteca OpenCV import cv2 as cv # método principal def main(): # vamos mostrar a versão da OpenCV versao = cv.__version__ print("A versão da OpenCV é: {0}".format(versao)) if __name__== "__main__": main() Se você vir o resultado abaixo: A versão da OpenCV é: 4.6.0 então sua instalação do Python já contém a biblioteca OpenCV e você está pronto(a) para experimentar as demais dicas e truques dessa seção. Porém, se você ainda não tiver a OpenCV, a seguinte mensagem de erro será exibida: c:\estudos_python>python estudos.py Traceback (most recent call last): File "c:\estudos_python\estudos.py", line 2, in <module> import cv2 as cv ModuleNotFoundError: No module named 'cv2' Não se desespere. Basta abrir uma janela de prompt e disparar o comando abaixo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- pip install opencv-python Aguarde alguns minutos para que o Pip baixe e instale a biblioteca. Em seguida tente executar o código acima novamente. Agora é só aproveitar tudo que a biblioteca OpenCV tem a nos oferecer. |
![]() |
Python ::: Pygame ::: Animação, Animações, Técnicas de Animação |
Como criar um relógio analógico no Pygame - Código completo com variáveis e comentários em portuguêsQuantidade de visualizações: 1182 vezes |
Nesta dica mostrarei um código para a criação de um relógio analógico completo em Python, com comentários detalhados e fácil de entender. Veja a imagem:![]() Por simplicidade, eu mantive a mesma cor para todos os elementos da animação e deixei somente o básico mesmo, para que você possa se concentrar nas partes mais importantes. Neste código você aprenderá como definir o tamanho, título e cor de fundo para uma janela do Pygame do Python. Aprenderá também como definir a quantidade de frames por segundo para a animação, assim como controlar os disparos do timer pygame.time.Clock(). Por fim, o código mostra como calcular o ângulo dos ponteiros das horas, minutos e segundos e efetuar o desenho das retas saindo do centro do círculo. Você sabia, por exemplo, que o ângulo de 45 graus corresponde exatamente à hora 1:30hs? Em vários exemplos de relógios analógicos na internet, o ponteiro das horas fica preso à uma determinada hora, aguardando o ponteiro dos segundos completar um giro completo. No código que apresento aqui, eu obtive a hora atual como um decimal, o que faz com que o ponteiro das horas mostre a posição real da hora, como um relógio analógico do mundo real. Para estudantes de matemática, engenharia e física, este código é uma boa aplicação da técnica de se converter coordenadas polares para coordenadas cartesianas. Eis o código completo para o relógio analógico. Boa diversão. ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar as bibliotecas necessárias import pygame, sys from pygame.locals import * import math from datetime import datetime # função que faz a correção dos ângulos def corrigir_angulo(angulo): return abs(angulo % 360) # inicializa a biblioteca pygame.init() # quantidade de frames por segundo FPS = 30 # construímos o timer timer = pygame.time.Clock() # obtém a superfície do jogo e define o tamanho da tela janela = pygame.display.set_mode((600, 400)) # vamos definir o título da janela do jogo pygame.display.set_caption('Relógio Analógico no Pygame') # vamos definir alguns parâmetros fonte = pygame.font.Font(None, 36) VERMELHO = (200, 0, 0) BRANCO = (255, 255, 255) raio = 150 x_inicial = 300 y_inicial = 200 distancia_aro = 20 # e aqui nós entramos no loop do game while True: # vamos pintar a tela toda de branco janela.fill(BRANCO) # monitoramos os eventos for evento in pygame.event.get(): # se o evento foi um pedido para sair if evento.type == QUIT: # fechamos a tela do jogo pygame.quit() # e saimos do programa sys.exit() # vamos desenhar um circulo não preenchido (maior) pygame.draw.circle(janela, VERMELHO, (x_inicial, y_inicial), raio, 2) # vamos desenhar um circulo não preenchido (menor) pygame.draw.circle(janela, VERMELHO, (x_inicial + 1, y_inicial + 1), 5, 0) # vamos desenhar os números do relório (1-12) for n in range(1, 13): # calcula o ângulo dessa hora angulo = math.radians((n * (360 / 12)) - 90) # agora convertemos o ângulo e o raio para coordenadas cartesianas if len(str(n)) > 1: x = math.cos(angulo) * (raio - distancia_aro) - 18 else: x = math.cos(angulo) * (raio - distancia_aro) - 10 y = math.sin(angulo) * (raio - distancia_aro) - 10 texto_numero = fonte.render(str(n), True, VERMELHO) janela.blit(texto_numero, (x_inicial + x, y_inicial + y)) # vamos obter as horas, minutos e segundos atuais hoje = datetime.today() horas = hoje.hour % 12 minutos = hoje.minute segundos = hoje.second # ajustamos as horas para tratar a hora decimal (com frações de horas) horas = horas + (minutos * (1 / 60)) + (segundos * (1 / 3600)) # desenha o ponteiro das horas angulo_horas = corrigir_angulo(horas * (360 / 12) - 90) angulo_horas = math.radians(angulo_horas) hora_x = math.cos(angulo_horas) * (raio - 60) hora_y = math.sin(angulo_horas) * (raio - 60) coord_finais = (x_inicial + hora_x, y_inicial + hora_y) pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 4) # desenha o ponteiro dos minutos angulo_minutos = corrigir_angulo(minutos * (360 / 60) - 90) angulo_minutos = math.radians(angulo_minutos) minutos_x = math.cos(angulo_minutos) * (raio - 40) minutos_y = math.sin(angulo_minutos) * (raio - 40) coord_finais = (x_inicial + minutos_x, y_inicial + minutos_y) pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 3) # desenha o ponteiro dos segundos angulo_segundos = corrigir_angulo(segundos * (360 / 60) - 90) angulo_segundos = math.radians(angulo_segundos) segundos_x = math.cos(angulo_segundos) * (raio - 30) segundos_y = math.sin(angulo_segundos) * (raio - 30) coord_finais = (x_inicial + segundos_x, y_inicial + segundos_y) pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 1) # redesenha a tela continuamente pygame.display.update() # aciona o disparo do timer timer.tick(FPS) |
Python ::: PyQt GUI Toolkit ::: QPushButton |
Como criar um botão em Python PyQt usando a classe QPushButtonQuantidade de visualizações: 1133 vezes |
Os botões QPushButton são os controles mais básicos e comuns em aplicações GUI PyQt. Eles são criados a partir da classe QPushButton. Veja a sua posição na hierarquia de classes dos PyQt:QObject, QPaintDevice QWidget QAbstractButton QPushButton QCommandLinkButton Veja um trecho de código no qual criamos um botão QPushButton e o colocamos em uma janela QWidget: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar os módulos necessários import sys from PyQt6.QtCore import * from PyQt6.QtGui import * from PyQt6.QtWidgets import * # método que mostrará a janela principal def mostrar_janela_principal(): # cria uma instância da classe QApplication app = QApplication(sys.argv) # criamos a janela principal janela = QWidget() # definimos o título da janela janela.setWindowTitle("Cadastro de Clientes") # definimos as coordenadas e as dimensões da janela janela.setGeometry(100, 100, 500, 300) # vamos criar um botão QPushButton botao = QPushButton("Cadastrar", janela) # definimos a localização do botão botao.move(10, 10) # tornamos a janela visível janela.show() # e executamos a aplicação sys.exit(app.exec()) if __name__== "__main__": mostrar_janela_principal() Ao executar este código Python PyQt nós teremos o seguinte resultado: ![]() |
Python ::: Dicas & Truques ::: Recursão (Recursividade) |
Como calcular fatorial em Python usando uma função recursivaQuantidade de visualizações: 14886 vezes |
Sempre que estamos no assunto de recursão (ou recursividade), um dos primeiros exemplos que vêm à nossa mente é o cálculo de fatorial, pois seu entendimento é fácil e, dessa forma, podemos nos concentrar nos aspectos da função recursiva. Na matemática, o fatorial de um número natural n, representado por n!, é o produto de todos os inteiros positivos menores ou iguais a n. O fatorial de um número n pode ser definido recursivamente da seguinte forma: 0! = 1; n! = n x (n - 1)!; sendo n > 0 Entendida esta definição, veja agora o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função recursiva para calcular o fatorial de um número def fatorial(num): if num <= 1: return 1 else: return num * fatorial(num - 1) # função principal do programa def main(): for i in range(11): print("%2d! = %d" % (i, fatorial(i))) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: 0! = 1 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880 10! = 3628800 Note que aqui nós calculamos e exibimos o fatorial dos números de 0 até 10. |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
Revit C# - Como criar eixos no Revit via programação usando a função Create() da classe Grid da Revit C# API |
Códigos Fonte |
![]() Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
![]() Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |