- This topic has 3 replies, 2 voices, and was last updated 1 year, 9 months ago by .
Viewing 4 posts - 1 through 4 (of 4 total)
Viewing 4 posts - 1 through 4 (of 4 total)
- You must be logged in to reply to this topic.
Home › Forums › Fórum Detecção de Objetos com YOLO, Darknet, OpenCV e Python › Divisão de imagem
Como faço para dividir uma imagem jpg de 3.000 x 4.000 pixels para várias subimagens imagens de 640 x 640?
Olá João!
Para dividir uma imagem maior em várias subimagens você pode usar dois loops para cortar a imagem em blocos de 640 x 640 pixels.
A ideia é basicamente iterar sobre as coordenadas da imagem original e através dessas coodenadas xy você delimita o inicio/fim de cada pedaço da imagem, de forma que a cada iteração uma subimagem seja extraída e armazenada.
Aqui está um exemplo de código:
# Carrega a imagem
imagem = cv2.imread('sua_imagem.jpg')
# (Tamanho das subimagens)
altura_subimagem = 640
largura_subimagem = 640
# Obter as dimensões da imagem original
altura, largura, _ = imagem.shape
# Loop para cortar as subimagens
for i in range(0, altura, altura_subimagem):
for j in range(0, largura, largura_subimagem):
# Coordenadas para cortar
subimagem = imagem[i:i+altura_subimagem, j:j+largura_subimagem]
# Salvar ou processar a subimagem
nome_arquivo = f'subimagem_{i}_{j}.jpg'
cv2.imwrite(nome_arquivo, subimagem)
O loop corta a imagem em subimagens e cada subimagem é salva como um arquivo separado. Você pode ajustar o nome dos arquivos conforme necessário. Com isso, sua imagem original de 3.000 x 4.000 pixels será fragmentada em várias imagens menores, todas do tamanho que você especificou (640 x 640 pixels).
Valeu Gabriel! muito obrigado.
Disponha, João!