所以我需要每秒得到一堆截图,比如 5。我用它来为游戏编写一个机器人程序。但是 imagegrab 方法需要 0.3 秒,这对我来说太慢了。即使在指定 bbox 值之后,它仍然需要 0.3 秒。我想应该提到我在 mac 上。有没有更好的方法适合我
我什至尝试了os.system("screencapture filename.png")0.15-0.2 秒的运行时间,这很好,但我想更快。
好的,伙计们,我已经在这个项目上工作了很长一段时间了。
我正在构建这个玩 chrome 恐龙游戏的机器人。所以我尝试了其他方法来检测像 matchTemplate 这样的字符,甚至使用我自己的算法来定位对象,但我最喜欢这个(findcontours)。
这是我所拥有的:
谁能帮我找出我应该如何合并仙人掌的两个矩形?
img = screen_cap()
roi = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(roi,127, 255, 0)
im2, contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
first = True
for cnt in contours:
area = cv2.contourArea(cnt)
if area > 200: #filtering contours
x,y,w,h = cv2.boundingRect(cnt)
if w/h < 4: # filtering even more
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
Run Code Online (Sandbox Code Playgroud) 编辑:这是演示该问题的 YouTube 视频:
我正在使用 --headless 标志运行带有 chrome 的 selenium,但显然使用 --headless 似乎忽略了系统代理。我之前在 mac 上测试过它没有绕过代理,但在我的 mac 上的 Windows 10 VM 上它似乎绕过了代理。
代码 :
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')
options.add_argument('--hide-scrollbars')
options.add_argument('--disable-gpu')
driver = webdriver.Chrome(chrome_options = options)
driver.get('https://wtfismyip.com')
print(driver.find_element_by_tag_name('body').text)
Run Code Online (Sandbox Code Playgroud)
如果我不使用 head less 标志。它显示系统代理的 IP,但如果使用它,它会显示我的真实 IP。
好吧,伙计们,我有这个 1 和 0 的 3d 数组,它应该代表一个 3d 对象。0 表示那里什么也没有。1 表示对象存在于该坐标中。我需要在屏幕上显示 3D 对象。对我来说,拥有一个具有取决于颜色的值的离散 3 维图将是理想的。我尝试查看 glumpy 和 vispy 但文档页面现在似乎已关闭。
我正在开发一个项目,要求我找到最大的n,使得x ^ n <= y,其中提供x和y.我正在使用gmp库并在c中使用大量数字.
约束:
x> = 1&y> = 1
使用我想到的第一种方法,当x = 12和y = 411 ^ 20000时,我花了大约5秒来找到n,即,
int n=0;
int x=12;
int y=100;
int temp;
int answer;
while(1)
{
temp = pow(x,n);
if(temp>y)
{
answer = n-1;
return(0);
}
n++;
}
Run Code Online (Sandbox Code Playgroud)
注意:不是实际代码.不想用gmp语法复杂化
有更快的算法吗?整个代码:https: //pastebin.com/J1vbmEbK