我需要一个Python程序,我正在努力拍摄一个小图像,确定它是否存在于较大的图像中,如果存在,则报告其位置.如果没有,请报告.(在我的例子中,大图像将是一个屏幕截图,小图像是一个可能在屏幕上或不在屏幕上的图像,在HTML5画布中.)在线看,我发现了OpenCV中的模板匹配,拥有出色的Python绑定.基于我在线找到的非常相似的代码,我尝试了以下代码,使用numpy:
import cv2
import numpy as np
image = cv2.imread("screenshot.png")
template = cv2.imread("button.png")
result = cv2.matchTemplate(image,template,cv2.TM_CCOEFF_NORMED)
StartButtonLocation = np.unravel_index(result.argmax(),result.shape)
Run Code Online (Sandbox Code Playgroud)
这不是我需要它做的事情,因为它总是在较大的图像中返回一个点; 无论比赛多么糟糕,比赛最接近的地方.我想要找到一个精确的像素,用于较大图像中较小图像的像素匹配,如果不存在,则引发异常,或返回False,或类似的东西.而且,它需要相当快.有没有人对如何做到这一点有个好主意?
我正在编写一个python程序,需要能够在网站上解决验证码.我想用2captcha.我已经使用selenium编写了一个python脚本,它将完成我需要做的所有事情,除了解决验证码.当我点击2captcha.com"API"标签时,这(以及其他参数)显示的是:
您可以以两种可用格式上传您的CAPTCHA:
Multipart和Base64:
Multipad样本:
<form method="post" action="http://2captcha.com/in.php" enctype="multipart/form-data">
<input type="hidden" name="method" value="post">
Your key:
<input type="text" name="key" value="YOUR_APIKEY">
The CAPTCHA file:
<input type="file" name="file">
<input type="submit" value="download and get the ID">
</form>
Run Code Online (Sandbox Code Playgroud)
YOUR_APIKEY - 是32个符号长度的密钥.
Base64示例:
<form method="post" action="http://2captcha.com/in.php">
<input type="hidden" name="method" value="base64">
Your key:
<input type="text" name="key" value="YOUR_APIKEY">
The CAPTCHA file body in base64 format:
<textarea name="body">BASE64_FILE</textarea>
<input type="submit" value="download and get the ID">
</form>
Run Code Online (Sandbox Code Playgroud)
YOUR_APIKEY - 是32个符号长度的密钥.
BASE64_FILE - 是基于64位编码的图像体.
我知道python,它的大部分科学和数学模块都很好,但我对网络相关的编程有点新意.上面的代码看起来像html.我如何让python程序执行上面的html指令?