如何读取相机并以相机帧速率显示图像?
我想从我的网络摄像头连续读取图像(进行一些快速预处理),然后在窗口中显示图像。这应该以我的网络摄像头提供的帧速率(29 fps)运行。OpenCV GUI 和 Tkinter GUI 似乎太慢了,无法以这样的帧速率显示图像。这些显然是我实验中的瓶颈。即使没有预处理,图像的显示速度也不够快。我在 MacBook Pro 2018 上。
这是我尝试过的。网络摄像头始终使用 OpenCV 读取:
这是代码:
单循环,OpenCV GUI:
import cv2
import time
def main():
cap = cv2.VideoCapture(0)
window_name = "FPS Single Loop"
cv2.namedWindow(window_name, cv2.WINDOW_NORMAL)
start_time = time.time()
frames = 0
seconds_to_measure = 10
while start_time + seconds_to_measure > time.time():
success, img = cap.read()
img = img[:, ::-1] # mirror
time.sleep(0.01) # simulate some processing …Run Code Online (Sandbox Code Playgroud) 我想使用推土机将数据对象映射到基本相同的传输对象。对象包含一个通用字段。我希望通用字段映射到相同的类型,在这个例子中是整数。但是映射对象的泛型类型是 String。我正在使用推土机版本 6.0.0。如何映射泛型并保留类型?
数据对象:
public class DataObject<T> {
T generic;
public DataObject() {
}
public T getGeneric() {
return generic;
}
public void setGeneric(final T generic) {
this.generic = generic;
}
}
Run Code Online (Sandbox Code Playgroud)
运输对象:
public class TransportObject<T> {
T generic;
public TransportObject() {
}
public T getGeneric() {
return generic;
}
public void setGeneric(final T generic) {
this.generic = generic;
}
}
Run Code Online (Sandbox Code Playgroud)
映射测试:
import org.dozer.DozerBeanMapper;
import org.dozer.Mapper;
import org.junit.Assert;
import org.junit.Test;
import java.util.Arrays;
import java.util.List;
import static org.hamcrest.core.IsInstanceOf.instanceOf;
public class DozerGenericsTest …Run Code Online (Sandbox Code Playgroud)