파이썬 이미지를 나누고 옆으로 정렬

3946 단어 파이썬OpenCV

배경



스도쿠 앱을 만드는 중입니다.
그 도중의 프로세스로 왠지 모르게, 이미지를 분할해, 옆에 늘어놓고 보고 싶다고 생각해, 구구리면서 작성했습니다.
누군가의 도움이 되길 바랍니다.

샘플 코드



split_img_and_layout_Horizontally.py
import numpy as np
import cv2

# 入力画像を読み込み
img = cv2.imread("sudoku_wiki.png")
#wiki https://en.wikipedia.org/wiki/Sudoku

#分割サイズを定義
vertical_split = 9
horizonal_split = 9

#リサイズを指定
size = (vertical_split * 200, horizonal_split * 200)
img = cv2.resize(img, size)

#リストの初期化
split_img = []

#縦と横に分割
[split_img.extend(np.hsplit(img, horizonal_split)) for img in np.vsplit(img, vertical_split)]

#分割した画像群を横に配列
img_list = [split_img[i] for i in range(len(split_img))]
merge_img = cv2.hconcat(img_list)

#画像を保存
cv2.imwrite('merge_img.jpg', merge_img)

실행 결과



대상 이미지: sudoku_wiki.png



실행 결과: merge_img.jpg
보기 힘들기 때문에 확대해 보세요. . .


추가 개선점



・숫자와의 경계선을 지우면 보기 쉬워진다
→직선 검출을 하고, 백색 칠

· 숫자 이미지에서 문자열화
→MNIST(기계 학습)를 도입한다

각각 작업했지만 그다지 좋지 않은 정밀도 이었기 때문에,
개선할 수 있는 대로, 올려지면 좋을까.

좋은 웹페이지 즐겨찾기