簡體   English   中英

使用 Python 進行圖像變形 - Linux

[英]Image Warping Using Python - Linux

我需要使用我的 Raspberry Pi 4 在 Python 中扭曲圖像的圖像。好吧,我應該說 unwarp。 我正在編寫一個腳本來解決 CAPTCHA 代碼以自動執行任務。 所有的 CAPTCHA 代碼都由 4 個字母和數字相同的字體組成,並且都以相同的方式扭曲,在一個巨大的側面“S”的形狀中。 我需要做的是解開圖像,使其更平整,以便驗證碼閱讀。 關於如何解決這個問題的任何建議? 我很抱歉,我完全被難住了,甚至不知道如何開始這項任務。 我已經嘗試安裝 OpenCV,但無論我嘗試什么,我都無法讓它在我的 Raspberry Pi 4(運行 Raspbian)上運行。

*旁注,為了測試並確保扭曲理論有效,我將一些驗證碼代碼帶到 photoshop 並以相同的模式扭曲它們,並將它們壓平,我的 Pytesseract 腳本能夠很好地閱讀它。 此外,將上傳幾個驗證碼的圖片。

在此先感謝您的幫助!

你可以使用 cv2.remap 來做這種事情,例如

import numpy as np
import cv2

def remap_test(img_arr):
    H,W = img_arr.shape[0:2]
    map = np.mgrid[0:H,0:W]
    # start off with a 'do-nothing' or identity xform, add to that as desired
    map_x = map[1].astype(np.float32)
    map_y = map[0].astype(np.float32)
    # add a sine-wave offset to the x-values
    for i in range(H):
        map_x[i,:]=map_x[i,:]+30*np.sin(2*3.14*float(i)/H)
    img_warped = cv2.remap(img_arr,map_x,map_y,cv2.INTER_LINEAR)

這里有一些示例結果,我使用上述正弦來制作近似 S。您可以用您正在尋找的確切曲線替換該正弦,例如,如果您跟蹤從直線到 S 上相應點的偏移量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM