私は手書き数字のスキャンされたイメージを長方形(小さなもの)の中にたくさん持っています。 イメージとクロップの矩形を検出
数字を含む各画像をトリミングし、各行に同じ名前を付けて保存してください。
編集
import cv2
img = cv2.imread('Data\Scan_20170612_4.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray = cv2.bilateralFilter(gray, 11, 17, 17)
edged = cv2.Canny(gray, 30, 200)
_, contours, hierarchy = cv2.findContours(edged, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
i = 0
for c in contours:
peri = cv2.arcLength(c, True)
approx = cv2.approxPolyDP(c, 0.09 * peri, True)
if len(approx) == 4:
screenCnt = approx
cv2.drawContours(img, [screenCnt], -1, (0, 255, 0), 3)
cv2.imwrite('cropped\\' + str(i) + '_img.jpg', img)
i += 1
最初のショーですがあなたのコード、何を試してみましたか? – Kallz
@Kallz私は編集で試したコードを提供しました – utkarsh
ハフ変換を使ってメインラインの向きを見つけることで回転を元に戻すこともできます。 – RobAu