update fps fix
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 2.0 MiB After Width: | Height: | Size: 1.8 MiB |
+23
-17
@@ -50,23 +50,23 @@ def create_plot():
|
||||
grad_brush = make_gradient_brush(theme_color, max_alpha=120)
|
||||
show_values = False
|
||||
|
||||
title_font = QFont("Segoe UI", 14, QFont.Bold)
|
||||
axis_font = QFont("Segoe UI", 10, QFont.Bold)
|
||||
# title_font = QFont("Segoe UI", 14, QFont.Bold)
|
||||
# axis_font = QFont("Segoe UI", 10, QFont.Bold)
|
||||
p1 = win.addPlot(title="Normal")
|
||||
p1.titleLabel.item.setFont(title_font)
|
||||
# p1.titleLabel.item.setFont(title_font)
|
||||
p1.getAxis('left').setStyle(showValues=show_values)
|
||||
p1.showGrid(x=True, y=True, alpha=0.3)
|
||||
win.nextRow()
|
||||
p2 = win.addPlot(title="Shear X")
|
||||
p2.titleLabel.item.setFont(title_font)
|
||||
# p2.titleLabel.item.setFont(title_font)
|
||||
p2.getAxis('left').setStyle(showValues=show_values)
|
||||
p2.showGrid(x=True, y=True, alpha=0.3)
|
||||
win.nextRow()
|
||||
p3 = win.addPlot(title="Shear Y")
|
||||
p3.titleLabel.item.setFont(title_font)
|
||||
# p3.titleLabel.item.setFont(title_font)
|
||||
p3.getAxis('left').setStyle(showValues=show_values)
|
||||
p3.setLabel('bottom', 'Time', units='s')
|
||||
p3.getAxis('bottom').label.setFont(axis_font)
|
||||
# p3.getAxis('bottom').label.setFont(axis_font)
|
||||
p3.showGrid(x=True, y=True, alpha=0.3)
|
||||
plot_af = p1.plot(pen=line_pen, fillLevel=0, fillBrush=grad_brush)
|
||||
plot_tfx = p2.plot(pen=line_pen, fillLevel=0, fillBrush=grad_brush)
|
||||
@@ -147,11 +147,12 @@ def main():
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--video","-v", type=str, default="s1.mp4", help="视频文件路径")
|
||||
parser.add_argument("--fps", type=float, default=30)
|
||||
args = parser.parse_args()
|
||||
|
||||
arrow_writer = cv2.VideoWriter(args.video.replace(".mp4", "_arrows.mp4"), cv2.VideoWriter_fourcc(*'mp4v'), 30, (384, 384))
|
||||
pyqt_writer = cv2.VideoWriter(args.video.replace(".mp4", "_pyqt.mp4"), cv2.VideoWriter_fourcc(*'mp4v'), 30, (1600, 1200))
|
||||
depth_writer = cv2.VideoWriter(args.video.replace(".mp4", "_depth.mp4"), cv2.VideoWriter_fourcc(*'mp4v'), 30, (384, 384))
|
||||
fps_video = args.fps
|
||||
arrow_writer = cv2.VideoWriter(args.video.replace(".mp4", "_arrows.mp4"), cv2.VideoWriter_fourcc(*'mp4v'), fps_video, (384, 384))
|
||||
pyqt_writer = cv2.VideoWriter(args.video.replace(".mp4", "_pyqt.mp4"), cv2.VideoWriter_fourcc(*'mp4v'), fps_video, (1600, 1200))
|
||||
depth_writer = cv2.VideoWriter(args.video.replace(".mp4", "_depth.mp4"), cv2.VideoWriter_fourcc(*'mp4v'),fps_video, (384, 384))
|
||||
|
||||
sensor1 = orisys.Sensor(args.video, config_name="./config/prototype_of3.json", cal_path= "./config/dd01a_98.npy", isstitch=True, cuda=False, verbose=True)
|
||||
|
||||
@@ -162,7 +163,6 @@ def main():
|
||||
while True:
|
||||
sensor1.get_img() # 提取并拼接复眼图像
|
||||
|
||||
|
||||
sensor1.compute_deformation() # 计算形变和分解
|
||||
sensor1.compute_contact()
|
||||
# 提取信息:
|
||||
@@ -170,11 +170,14 @@ def main():
|
||||
# 帧率,时间戳: FPS, TIMESTAMP
|
||||
# 变形量总和: FNORMAL , FSHEARX, FSHEARY : 法向,切向(X),切向(Y)
|
||||
fps, fn, fx, fy, flow, depth_map = sensor1.read_info(sensor1.info.FPS, sensor1.info.FNORMAL, sensor1.info.FSHEARX, sensor1.info.FSHEARY, sensor1.info.VRAW, sensor1.info.DEPTH)
|
||||
print(fps,fn,fx,fy)
|
||||
frame_count += 1
|
||||
print(fps,fn,fx,fy,frame_count)
|
||||
if sensor1.img is None:
|
||||
break
|
||||
# 显示向量场
|
||||
# Background color #24292E (BGR)
|
||||
black_img = np.full_like(sensor1.img, bg_color)
|
||||
arrows = orisys.util.draw_arrows(black_img, flow, threshold=2, grid_spacing=20, arrow_scale=0.5, colormap=cv2.COLORMAP_PARULA, below_threshold_color=text_color)
|
||||
arrows = orisys.util.draw_arrows(black_img, flow, threshold=1, grid_spacing=20, arrow_scale=0.5, colormap=cv2.COLORMAP_PARULA, below_threshold_color=text_color)
|
||||
cv2.imshow("Deformation", arrows)
|
||||
|
||||
# 显示深度图
|
||||
@@ -192,11 +195,11 @@ def main():
|
||||
# cv2.imshow("Depth Map", cv2.applyColorMap(div_normalized, cv2.COLORMAP_JET))
|
||||
|
||||
# 显示图表 - 更新时间轴
|
||||
current_time = time.time() - start_time
|
||||
elapsed_time = time.time() - start_time
|
||||
for i in range(3):
|
||||
data[:-1, 0, i] = data[1:, 0, i] # shift time data left
|
||||
data[:-1, 1, i] = data[1:, 1, i] # shift force data left
|
||||
data[-1, 0, :] = frame_count/30.0 # set current time for all plots
|
||||
data[-1, 0, :] = frame_count/fps_video # set current time for all plots
|
||||
data[-1, 1, 0] = fn
|
||||
data[-1, 1, 1] = abs(fx)
|
||||
data[-1, 1, 2] = abs(fy)
|
||||
@@ -214,7 +217,7 @@ def main():
|
||||
below = data_plot[:, 1, :] < plot_threshold
|
||||
data_plot[:, 1, :] = np.where(below, 0, data_plot[:, 1, :])
|
||||
update(plot_af, plot_tfx, plot_tfy, data_plot, p1, p2, p3) # Update plot
|
||||
frame_count += 1
|
||||
# frame_count += 1
|
||||
|
||||
# Convert pyqtgraph plot to image
|
||||
# Grab the GraphicsLayoutWidget as QPixmap
|
||||
@@ -222,7 +225,10 @@ def main():
|
||||
# Convert QPixmap to QImage
|
||||
qimg = pixmap.toImage()
|
||||
# Convert QImage to numpy array (RGB format)
|
||||
qimg = qimg.convertToFormat(QImage.Format_RGB888)
|
||||
# Qt6/PySide6: QImage.Format.Format_RGB888; Qt5: QImage.Format_RGB888
|
||||
QImg = QtGui.QImage
|
||||
fmt = getattr(QImg.Format, 'Format_RGB888', None) or getattr(QImg, 'Format_RGB888')
|
||||
qimg = qimg.convertToFormat(fmt)
|
||||
width = qimg.width()
|
||||
height = qimg.height()
|
||||
# Convert QImage to numpy array
|
||||
|
||||
@@ -434,7 +434,7 @@ class Sensor:
|
||||
except:
|
||||
pass # Some backends don't support this property
|
||||
self.cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter.fourcc('M', 'J', 'P', 'G'))
|
||||
# self.cap.set(cv2.CAP_PROP_FPS, self._config_fps)
|
||||
self.cap.set(cv2.CAP_PROP_FPS, self._config_fps)
|
||||
self.cap.set(cv2.CAP_PROP_FRAME_WIDTH, self._config_resolution_raw[0])
|
||||
self.cap.set(cv2.CAP_PROP_FRAME_HEIGHT, self._config_resolution_raw[1])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user