- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在大小为800x600的实时屏幕截图上运行神经网络。由于我的速度仅为3fps,因此我进行了一些故障排除,发现每个步骤大约花费了多少时间:
import numpy as np
import cv2
from PIL import Image
import mss
monitor = {"top": 40, "left": 0, "width": 800, "height": 600}
with mss.mss() as sct:
while True:
# # Screenshot:
image = sct.grab(monitor)
# # Image processing:
image = Image.frombytes("RGB", image.size, image.bgra, "raw", "RGBX")
(im_width, im_height) = image.size
image_np = np.array(image.getdata()).reshape((im_height, im_width, 3)).astype(np.uint8)
# # Object detection and box visualisation:
# ...
# # Displaying image:
cv2.imshow("Object Detection", image_np)
最佳答案
问题是您的方法从BGRA图像格式开始。那是很多数据,可能没有必要。可能会有更有效的方法来截取屏幕截图并将其转换为OpenCV图像。在我的慢速计算机上,大约需要 56ms 的Here's an approach:
import ctypes
import datetime
import cv2
import numpy as np
from PIL import ImageGrab
# workaround to allow ImageGrab to capture the whole screen
user32 = ctypes.windll.user32
user32.SetProcessDPIAware()
# measure running time
start_time = datetime.datetime.now()
# take a full screenshot of the desktop
image = np.array(ImageGrab.grab( bbox= (40, 0, 800, 600) ))
# convert from RGB to BGR order so that colors are displayed correctly
mat = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)
# compute elapsed time
delta = datetime.datetime.now() - start_time
elapsed_time_ms = int(delta.total_seconds() * 1000)
print('* Elapsed time:', elapsed_time_ms, 'ms')
cv2.imshow('mat', mat)
cv2.waitKey()
关于python-3.x - 修复了从PIL图像到OpenCV Mat的低效图像转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60127473/
我写了一个函数,应该用值替换两个定界符之间的代码,它返回(我将其应用到的字符串是 HTML 对象的 .outerHTML)。 这将类似于它在例如中的使用方式。 Vue.js 或 Angular。 看起
好的,我有一个 Django View ,如下所示: @render_to('home/main.html') def login(request): # also tried Client.
由于我创建的几乎所有项目都包含 ListView,因此我想到创建一个类,其中包含修改 ListView 的所有重要功能。它看起来像这样: 主窗体: ListViewFunctions LVF = ne
The default implementation on Stream creates a new single-byte array and then calls Read. While this
我当然不是 Drupal 专家,但我之前设计并构建了一些数据库,所以我对第 3 方团队正在处理的数据库结构感到困惑,我已经将 Sequel Pro 添加到其中虚拟内容。我认为如果使用 Drupal 的
我想生成一个随机的短十六进制字符串(比如 8 位或 16 位)。 有很多选择可以做到这一点,例如,从我的头顶开始: uuid.uuid4().hex[:8] md5().hexdigest()[:8]
我是一名优秀的程序员,十分优秀!