Skip to content

Instantly share code, notes, and snippets.

View samuellangajr's full-sized avatar
:octocat:

Samuel Langa samuellangajr

:octocat:
  • Maputo, Moçambique
View GitHub Profile
@samuellangajr
samuellangajr / exercicio1.py
Created March 12, 2025 18:39
Escreva um pseudocódigo ou código Python para carregar um conjunto de dados de imagens, pré-processá-las (redimensionar e normalizar) e dividi-las em conjuntos de treino e teste.
import os
import numpy as np
from tensorflow.keras.preprocessing.image import load_img, img_to_array
from sklearn.model_selection import train_test_split
from tensorflow.keras.utils import to_categorical
import matplotlib.pyplot as plt
# Definir o caminho do diretório onde as imagens estão armazenadas
image_dir = 'caminho/para/imagens'
@samuellangajr
samuellangajr / exercicio2.py
Created March 12, 2025 18:41
Implemente uma função em Python que receba uma imagem de tráfego e retorne o número de veículos detectados. Pode assumir que tem acesso a uma função pré-treinada detectar_veiculos(imagem) que retorna as coordenadas dos veículos detectados.
def contar_veiculos(imagem):
# Chama a função pré-treinada para detectar os veículos
veiculos_detectados = detectar_veiculos(imagem)
# Retorna o número de veículos detectados
return len(veiculos_detectados)
@samuellangajr
samuellangajr / exercicio3.py
Created March 12, 2025 18:45
Escreva um trecho de código usando TensorFlow ou PyTorch para definir uma arquitectura básica de CNN para classificação de veículos.
import tensorflow as tf
from tensorflow.keras import layers, models
# Definir a arquitetura da CNN
def criar_modelo_cnn():
modelo = models.Sequential()
# Primeira camada convolucional
modelo.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(224, 224, 3))) # Exemplo de imagem de 224x224x3
modelo.add(layers.MaxPooling2D((2, 2)))
@samuellangajr
samuellangajr / exercicio4.py
Last active March 12, 2025 18:46
Implemente uma função que calcule a velocidade média do tráfego com base em dados de sensores. A função deve receber uma lista de dicionários, onde cada dicionário contém 'distancia' (em metros) e 'tempo' (em segundos) para um veículo.
def calcular_velocidade_media(dados):
# Inicializar variáveis para somar a distância total e o tempo total
distancia_total = 0
tempo_total = 0
# Iterar sobre a lista de dados
for dado in dados:
distancia_total += dado['distancia']
tempo_total += dado['tempo']
@samuellangajr
samuellangajr / exercicio5.py
Created March 12, 2025 18:48
Escreva uma função que realize data augmentation em uma imagem de tráfego. Inclua pelo menos três técnicas diferentes de augmentation.
import torch
from torchvision import transforms
from PIL import Image
import matplotlib.pyplot as plt
# Função para realizar data augmentation
def augmentacao_imagem(imagem):
# Definindo uma sequência de transformações
transformacao = transforms.Compose([
transforms.RandomRotation(degrees=30), # Rotaciona a imagem até 30 graus
@samuellangajr
samuellangajr / exercicio6.py
Created March 12, 2025 18:49
Implemente uma classe Python para um dataset personalizado que possa ser usado com PyTorch DataLoader. O dataset deve carregar imagens de veículos e seus rótulos correspondentes.
import torch
from torch.utils.data import Dataset, DataLoader
from torchvision import transforms
from PIL import Image
import os
# Definir a classe do Dataset personalizado
class VehicleDataset(Dataset):
def __init__(self, imagens_dir, rotulos_file, transform=None):
"""
@samuellangajr
samuellangajr / exercicio7.py
Created March 12, 2025 18:50
Escreva um script que use a biblioteca OpenCV para aplicar detecção de bordas em uma imagem de tráfego e exiba o resultado.
import cv2
import numpy as np
from matplotlib import pyplot as plt
# Carregar a imagem de tráfego
imagem = cv2.imread('caminho/para/imagem_de_trafego.jpg')
# Converter a imagem para escala de cinza
imagem_cinza = cv2.cvtColor(imagem, cv2.COLOR_BGR2GRAY)
@samuellangajr
samuellangajr / exercicio8.py
Created March 12, 2025 18:52
Implemente uma função que realize uma previsão de congestionamento com base em dados históricos. A função deve receber um dataframe com colunas 'hora', 'dia_semana', e 'volume_trafego', e retornar a probabilidade de congestionamento.
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import accuracy_score
def prever_congestionamento(df):
"""
Previsão de congestionamento com base em dados históricos de tráfego.
@samuellangajr
samuellangajr / exercicio9.py
Created March 12, 2025 18:53
Escreva uma função que aplique um filtro de suavização (por exemplo, filtro de média ou gaussiano) a uma série temporal de dados de tráfego para reduzir ruídos.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
def suavizar_serie_temporal(dados, janela=3):
"""
Aplica um filtro de suavização (média móvel) a uma série temporal de dados.
Args:
dados (pd.Series ou list): A série temporal de dados de tráfego.
@samuellangajr
samuellangajr / exercicio10.py
Created March 12, 2025 18:54
Implemente uma função que gere um mapa de calor (heatmap) representando a densidade de tráfego em diferentes regiões de uma imagem. Assuma que você tem acesso a uma lista de coordenadas de veículos detectados
import numpy as np
import cv2
import seaborn as sns
import matplotlib.pyplot as plt
def gerar_mapa_calor(imagem, coordenadas_veiculos, tamanho_mapa=(500, 500), raio=15):
"""
Gera um mapa de calor baseado nas coordenadas dos veículos detectados.
Args: