[PYTHON] Conversion d'affine

Environnement d'exécution

Google Colaboratory

Préparation du chargement d'images avec Google Colaboratory

python


from google.colab import files
from google.colab import drive
drive.mount('/content/drive')
img = cv2.imread("/content/drive/My Drive/Colab Notebooks/img/Lenna.bmp")
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) #Convertir pour matplotlib

Chargement des bibliothèques requises

python


import cv2 #opencv
import matplotlib.pyplot as plt 
%matplotlib inline

Retourner la conversion

python


#Créer une nouvelle fenêtre
fig = plt.figure()

#Image originale
ax1 = fig.add_subplot(2, 1, 1)
ax1.set_title("Original",fontsize=20)
plt.imshow(img)

#retourner à l'envers= 0
ax2 = fig.add_subplot(2, 3, 4)
ax2.set_title("flipCode = 0",fontsize=20)
plt.imshow(cv2.flip(img,flipCode = 0))

#À l'envers, à gauche et à droite= -1
ax3 = fig.add_subplot(2, 3, 5)
ax3.set_title("flipCode = -1",fontsize=20)
plt.imshow(cv2.flip(img,flipCode = -1))

#Retourner horizontalement= 1
ax4 = fig.add_subplot(2, 3, 6)
ax4.set_title("flipCode = 1",fontsize=20)
plt.imshow(cv2.flip(img,flipCode = 1))
plt.subplots_adjust(hspace=0.6,wspace=1.2) #Ajustez l'espacement des graphiques.

plt.show()

Retourner le résultat de la conversion

q3_flip.PNG

Flip description

cv2.flip(src,flipCode) src = image flipCode = sens inverse

flipcode direction
0 À l'envers
<0 Inversion haut / bas / gauche / droite
> 0 Retourner à gauche et à droite

redimensionner

python


#Créer une nouvelle fenêtre
fig = plt.figure()

height = img.shape[0]
width = img.shape[1]

#Image originale
ax1 = fig.add_subplot(2, 1, 1)
ax1.set_title("Original",fontsize=20)
plt.imshow(img)

#16×16
ax2 = fig.add_subplot(2, 3, 4)
ax2.set_title("16*16",fontsize=20)
plt.imshow(cv2.resize(img,(16,16)))

#50%
ax3 = fig.add_subplot(2, 3, 5)
ax3.set_title("50%",fontsize=20)
plt.imshow(cv2.resize(img,(int(width*0.5),int(height*0.5))))

#200%*50%
ax3 = fig.add_subplot(2, 3, 6)
ax3.set_title("200%*50%",fontsize=20)
plt.imshow(cv2.resize(img,(int(width*2),int(height*0.5))))
plt.subplots_adjust(hspace=0.6,wspace=1.2) #Ajustez l'espacement des graphiques.

plt.show()

Redimensionner le résultat de la conversion

q3_resize.PNG

rotation

Décrit à une date ultérieure

Projection en perspective

Décrit à une date ultérieure

garniture

Décrit à une date ultérieure

Recommended Posts

Conversion d'affine
Transformation affine par OpenCV (CUDA)
[FSL] Conversion affine (mouvement parallèle + conversion linéaire)