Como cortar uma imagem verticalmente em duas imagens de igual tamanho
Então tenho uma imagem de 800 x 600 que quero cortar verticalmente em duas imagens de tamanho igual usando OpenCV 3.1.0. Isto significa que no final do corte, eu deveria ter duas imagens que são 400 x 600 cada e são armazenadas em suas próprias variáveis PIL.
Aqui está uma ilustração:
Obrigado.
editar: quero a solução mais eficiente, por isso, se essa solução estiver a usar numpy splicing ou algo do género, então vá em frente.
3
1 answers
Você pode tentar o seguinte código que irá criar dois numpy.ndarray
instâncias que você pode facilmente exibir ou gravar novos arquivos.
from scipy import misc
# Read the image
img = misc.imread("face.png")
height, width = img.shape
# Cut the image in half
width_cutoff = width // 2
s1 = img[:, :width_cutoff]
s2 = img[:, width_cutoff:]
# Save each half
misc.imsave("face1.png", s1)
misc.imsave("face2.png", s2)
O ficheiro face.png
é um exemplo e precisa de ser substituído pelo seu próprio ficheiro de imagem.
5
Author: fsimkovic, 2018-09-02 20:21:17