Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python-Linux进行图像扭曲_Python_Opencv_Raspberry Pi_Captcha_Image Manipulation - Fatal编程技术网

使用Python-Linux进行图像扭曲

使用Python-Linux进行图像扭曲,python,opencv,raspberry-pi,captcha,image-manipulation,Python,Opencv,Raspberry Pi,Captcha,Image Manipulation,我需要使用我的Raspberry Pi 4在Python中扭曲图像的图像。嗯,我得说。我正在编写一个脚本来解决验证码问题,从而使任务自动化。所有的验证码都是由4个字母和数字组成的,字体相同,扭曲的方式也一样,就像一个巨大的“S”。我需要做的是取消图像的翻转,使其更加平坦,以便验证码读取。有什么关于如何进行的建议吗?很抱歉,我完全被难住了,甚至不知道如何开始这项任务。我尝试过安装OpenCV,但无论我怎么尝试,我都无法让它在我的Raspberry Pi 4(运行Raspbian)上工作 *旁注,为

我需要使用我的Raspberry Pi 4在Python中扭曲图像的图像。嗯,我得说。我正在编写一个脚本来解决验证码问题,从而使任务自动化。所有的验证码都是由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上相应点的偏移量。

非常感谢!我会继续在我的覆盆子Pi4上注射cv2。只要我这么做,我就试试这个!!看起来很有希望!!