Je crée une application pour la Cour suprême. Au milieu du processus, je voulais en quelque sorte diviser l'image et la disposer côte à côte, alors je l'ai créée tout en la recherchant sur Google. J'espère que cela sera utile à quelqu'un.
split_img_and_layout_Horizontally.py
import numpy as np
import cv2
#Charger l'image d'entrée
img = cv2.imread("sudoku_wiki.png ")
#wiki https://en.wikipedia.org/wiki/Sudoku
#Définir la taille de division
vertical_split = 9
horizonal_split = 9
#Spécifier le redimensionnement
size = (vertical_split * 200, horizonal_split * 200)
img = cv2.resize(img, size)
#Initialisation de la liste
split_img = []
#Divisé verticalement et horizontalement
[split_img.extend(np.hsplit(img, horizonal_split)) for img in np.vsplit(img, vertical_split)]
#Organisez les images divisées horizontalement
img_list = [split_img[i] for i in range(len(split_img))]
merge_img = cv2.hconcat(img_list)
#Enregistrer l'image
cv2.imwrite('merge_img.jpg', merge_img)
Image cible: sudoku_wiki.png
Résultat de l'exécution: merge_img.jpg C'est difficile à voir, alors veuillez l'agrandir. .. ..
・ Il sera plus facile de voir si vous effacez la bordure avec les chiffres. → Détecte les lignes droites et peint en blanc
・ Chaîne de caractères de l'image des nombres → Incorporer MNIST (apprentissage automatique)
J'ai travaillé sur chacun d'eux, mais la précision n'était pas si bonne, donc J'espère qu'il sera publié dès qu'il pourra être amélioré.
Recommended Posts