備忘錄_20160105(定位) 修改 回首頁

程式 2026-02-25 15:36:52 1772005012 100
考勤表掃描,裁切,旋轉,合併 python + opencv + numpy

考勤表掃描,裁切,旋轉,合併 python + opencv + numpy

# 考勤表掃描,裁切,旋轉,合併 python + opencv + numpy

# 彩色掃描,200dpi,圖片,對準左上角,直向放置
# 先掃描上半個月,再掃描下半個月。

# pip install opencv-python

from pathlib import Path
import math
import cv2
import numpy as np

folder = Path("in")

files = sorted([f.name for f in folder.iterdir() if f.is_file()])

for i in range(int(math.floor(len(files)/2))):
  
  f1 = files[i*2+0]
  f2 = files[i*2+1]
  
  img1 = cv2.imread("in/"+f1)
  img2 = cv2.imread("in/"+f2)
  
  x1, y1 = 0, 0
  x2, y2 = 1471, 652
  
  crop1 = img1[y1:y2, x1:x2]
  crop2 = img2[y1:y2, x1:x2]
  
  rotated1=cv2.rotate(crop1, cv2.ROTATE_90_CLOCKWISE)
  rotated2=cv2.rotate(crop2, cv2.ROTATE_90_CLOCKWISE)
  
  merged=np.hstack((rotated1, rotated2))
  
  cv2.imwrite("out/"+str(i)+".jpg", merged)
  
  print(f1,f2)