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 NumPyQuantidade 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() |
![]() |
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 EngenhariaQuantidade 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 PythonQuantidade 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 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 |
wxWidgets - Como baixar, compilar a biblioteca e criar um projeto C++ wxWidgets usando o Visual Studio 2017 |
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 |