Você está aqui: Python ::: PyAutoGUI ::: Imagens e Processamento de Imagens

Como tirar um print da tela e salvar como PNG usando Python, PyAutoGUI, OpenCV e NumPy

Quantidade de visualizações: 2203 vezes
Nesta dica mostrarei como podemos combinar três bibliotecas muito úteis do Python para desenvolver uma aplicação que tira um print da tela e o salva como imagem. Em nosso caso a imagem será salva como PNG.

Se você ainda não tem esses módulos instalados no seu Python, aqui no site você encontrará o passo-a-passo sobre como instalar e testá-las devidamente.

Neste exemplo eu usei o método screenshot() do PyAutoGUI para tirar o print da tela. Em seguida usamos numpy.array() para converter o resultado em uma matriz do NumPy. Os passos seguintes foram o uso da função cvtColor() do OpenCV para converter a matriz em imagem e, finalmente, salvamos a imagem usando a função imwrite() do OpenCV.

Veja a seguir o código Python completo para o exemplo:

----------------------------------------------------------------------
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 cv2
import pyautogui
import numpy

# método principal
def main():
  # primeiro adquirimos o arquivo PIL
  arquivo_pil = pyautogui.screenshot()

  # convertemos o arquivo PIL para uma matriz da NumPy
  matriz_imagem = numpy.array(arquivo_pil)

  # agora construímos a imagem usando o método cvtColor() da OpenCV
  imagem = cv2.cvtColor(matriz_imagem, cv2.COLOR_RGB2BGR)

  # e finalmente salvamos a imagem
  cv2.imwrite('print_tela.png', imagem)

if __name__== "__main__":
  main()


Link para compartilhar na Internet ou com seus amigos:

Python ::: Python para Engenharia ::: Cálculo Diferencial e Integral

Como calcular o limite de uma função usando Python e a biblioteca Sympy - Python para Engenharia

Quantidade de visualizações: 4290 vezes
Como calcular o limite de uma função usando Python e a biblioteca Sympy

Citando a Wikipédia: Na matemática, o limite de uma função é um conceito fundamental em cálculo e análise sobre o comportamento desta função quando próxima a um valor particular de sua variável independente. Informalmente, diz-se que __$\text{L}__$ é o limite da função __$\text{f(x)}__$ quando __$\text{x}__$ tende a __$\text{p}__$, escreve-se

\[ \lim_{x \to p} f(x) = L \]

quando __$\text{f(x)}__$ está arbitrariamente próximo de __$\text{L}__$ para todo __$\text{x}__$ suficientemente próximo de __$\text{p}__$. O conceito de limite pode ser estendido para funções de varias variáveis.

A biblioteca SymPy da linguagem Python facilita muito o trabalho de se calcular limites. É claro que é sempre uma boa idéia saber calcular o limite de uma função "na mão" mesmo, até para sabermos se nosso código Python está correto. No entanto, em algumas situações, lançar mão da função limit() da SymPy nos poupará um tempo incrível.

Dessa forma, a sintáxe para o cálculo do limite na SymPy segue o padrão limit(função, variável, ponto). Então, se quisermos calcular o limite de f(x) com x tendendo a 0, só precisamos fazer limit(f, x, 0).

Vamos colocar esse conhecimento em prática então? Veja o seguinte limite:

\[ \lim_{x \to 1} 5x^2 + 2x \]

Agora observe o código Python completo que calcula e retorna o limite desta função:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos importar a biblioteca SymPy
from sympy import * 

def main():
  # vamos definir o símbolo x
  x = symbols("x")
  # definimos a função
  f = (5 * x ** 2) + (2 * x) 
  # finalmente calculamos o limite
  limite = limit(f, x, 1)
  # e mostramos o resultado
  print("O limite da função é: %f." % limite)

if __name__== "__main__":
  main()

Ao executar este código nós teremos o seguinte resultado:

O limite da função é: 7.000000.

Logo, o limite da função no ponto __$\text{x}__$ = 1 vale 7, em outras palavras, 7 é o valor que __$f(5x^2 + 2x)__$ deveria ter em 1 para ser contínua nesse ponto.

Vamos ver mais um exemplo? Observe o seguinte limite:

\[ \lim_{x \to 1} \left(\frac{x^2 - 1}{x - 1}\right) \]

Aqui temos um situação interessante. Note que temos que fazer uma manipulação algébrica na expressão, fatorando os termos. Porém, mesmo em situações assim o método limit() da Sympy consegue interpretar a expressão simbólica corretamente e nos devolver o limite esperado. Veja o código Python completo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos importar a biblioteca SymPy
from sympy import * 

def main():
  # vamos definir o símbolo x
  x = symbols("x")
  # definimos a função
  f = (x ** 2 - 1) / (x - 1) 
  # finalmente calculamos o limite
  limite = limit(f, x, 1)
  # e mostramos o resultado
  print("O limite da função é: %f." % limite)

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

O limite da função é: 2.000000.


Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico

Exercícios Resolvidos de Python - Como testar se um número é potência de dois usando Python

Quantidade de visualizações: 657 vezes
Pergunta/Tarefa:

Escreva um programa Python contendo um método que recebe um número inteiro e retorna um valor boolean indicando se o valor informado é potência de dois.

Sua saída deverá ser parecida com:

Informe um valor inteiro: 8
O valor 8 é potência de dois
Informe um valor inteiro: 34
O valor 34 não é potência de dois
Informe um valor inteiro: 64
O valor 64 é potência de dois
Resposta/Solução:

Veja a resolução comentada deste exercício usando Python:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# método que recebe um número inteiro e informe se ele é
# potência de dois
def is_potencia_dois(n):
  # usamos o operador AND de bits para verificar se n AND n-1
  # é igual a 0
  return (n > 0) and (n & (n - 1)) == 0

# método principal
def main():
  # vamos pedir para o usuário informar um valor inteiro
  valor = int(input("Informe um valor inteiro: "))
    
  # vamos testar se o número informado é potência de dois
  if is_potencia_dois(valor):
    print("O valor {0} é potência de dois".format(valor))
  else:
    print("O valor {0} não é potência de dois".format(valor))
 
if __name__== "__main__":
  main()



Python ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como testar condições em Python usando a estrutura condicional if...elif...else (se, senão se, senão)

Quantidade de visualizações: 9834 vezes
A instrução condicional if (se) é usada para verificar uma condição na linguagem Python. Se esta condição for verdadeira, um bloco de códigos é executado. Opcionalmente um bloco de códigos pode também ser executado caso a condição seja falsa.

Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

def main():
  numero = 10
  valor = int(input("Informe um inteiro: "))
 
  if valor == numero:
    print("Parabéns, você acertou de primeira")
    print("Já tentou a Megasena?")
  elif valor < numero:
    print("Tente um número maior")
  else:
    print("Tente um número menor")
 
if __name__== "__main__":
  main()

Ao executar este código nós teremos o seguinte resultado:

Informe um inteiro: 3
Tente um número maior

Observe que as instruções a serem executadas em um bloco são agrupadas por indentação.


Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
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
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 82 usuários muito felizes estudando em nosso site.