6

OpenCV と Python を使用して、自動化された電気/ガス メーター リーダーを構築しています。私はウェブカメラでショットを撮ることまで持っています:

ここに画像の説明を入力

次に、アファイン変換を使用して画像の歪みを直すことができます (この例の適応):

def unwarp_image(img):
    rows,cols = img.shape[:2]
    # Source points
    left_top = 12
    left_bottom = left_top+2
    top_left = 24
    top_right = 13
    bottom = 47
    right = 180
    srcTri = np.array([(left_top,top_left),(right,top_right),(left_bottom,bottom)], np.float32)

    # Corresponding Destination Points. Remember, both sets are of float32 type
    dst_height=30
    dstTri = np.array([(0,0),(cols-1,0),(0,dst_height)],np.float32)

    # Affine Transformation
    warp_mat = cv2.getAffineTransform(srcTri,dstTri)   # Generating affine transform matrix of size 2x3
    dst = cv2.warpAffine(img,warp_mat,(cols,dst_height))     # Now transform the image, notice dst_size=(cols,rows), not (rows,cols)

    #cv2.imshow("crop_img", dst)
    #cv2.waitKey(0)

    return dst

..これにより、次のようなイメージが得られます。

ここに画像の説明を入力

なんらかの OCR ルーチンを使用してテキストを抽出する必要がありますが、まず、アフィン変換を適用するピクセル位置を特定する部分を自動化したいと考えています。したがって、誰かがウェブカメラをノックしても、ソフトウェアの動作は停止しません。

4

1 に答える 1