无法让darkflow实时处理截图
Can’t get darkflow to process screenshots in realtime
我试图创建一个简单的程序来捕获屏幕截图(使用 mss)并将张量流获取到图像中的 predict/detect 元素,但它不起作用。这是代码的一部分:
import cv2
import mss
import numpy as np
from PIL import Image
#Import TFNet
from darkflow.net.build import TFNet
import matplotlib.pyplot as plt
#Specify the dictonary.
options = {
'model':'cfg/yolo.cfg',
'load':'bin/yolov2.weights',
'threshold': 0.3
}
tfnet = TFNet(options)
#Creates an endless loop for high-speed image acquisition...
while (True):
with mss.mss() as sct:
#Get raw pixels from the screen
sct_img = sct.grab(sct.monitors[1])
#Convert image to a numpy array
img = np.array(sct_img)
result = tfnet.return_predict(img)
print(result)
有人能告诉我哪里错了吗?它 returns 每次都出现以下错误:
ValueError: Cannot feed value of shape (1, 608, 608, 4) for Tensor 'input:0', which has shape '(?, 608, 608, 3)'
请给出代码示例。提前致谢。
您的输入数据的形状似乎与预期的不同:
(1, 608, 608, 4)
而不是
(?, 608, 608, 3)
看来你在谈论图像。通常彩色图像以 RGB 编码,因此有 3 个通道。您可能需要从数据
中删除 alpha/transparency 频道
我试图创建一个简单的程序来捕获屏幕截图(使用 mss)并将张量流获取到图像中的 predict/detect 元素,但它不起作用。这是代码的一部分:
import cv2
import mss
import numpy as np
from PIL import Image
#Import TFNet
from darkflow.net.build import TFNet
import matplotlib.pyplot as plt
#Specify the dictonary.
options = {
'model':'cfg/yolo.cfg',
'load':'bin/yolov2.weights',
'threshold': 0.3
}
tfnet = TFNet(options)
#Creates an endless loop for high-speed image acquisition...
while (True):
with mss.mss() as sct:
#Get raw pixels from the screen
sct_img = sct.grab(sct.monitors[1])
#Convert image to a numpy array
img = np.array(sct_img)
result = tfnet.return_predict(img)
print(result)
有人能告诉我哪里错了吗?它 returns 每次都出现以下错误:
ValueError: Cannot feed value of shape (1, 608, 608, 4) for Tensor 'input:0', which has shape '(?, 608, 608, 3)'
请给出代码示例。提前致谢。
您的输入数据的形状似乎与预期的不同:
(1, 608, 608, 4)
而不是
(?, 608, 608, 3)
看来你在谈论图像。通常彩色图像以 RGB 编码,因此有 3 个通道。您可能需要从数据
中删除 alpha/transparency 频道