update yuntai control 2

pull/3/head
zyp 9 months ago
parent a5e24a3d1d
commit 42d00847ae

@ -7,7 +7,8 @@
# MJRoBot.org 19Jan18
from flask import Flask, render_template, Response, redirect, url_for, send_file, jsonify, request
from PIL import Image
import base64
# Raspberry Pi camera module (requires picamera package)
#from camera_pi import Camera
from picamera2 import Picamera2
@ -22,6 +23,10 @@ app = Flask(__name__, static_url_path='')
# 照片保存路径
PHOTO_PATH = "photo.jpg"
# picam2 = Picamera2()
# picam2.configure(picam2.create_video_configuration(main={"format": 'XRGB8888', "size": (640, 480)}))
# picam2.start()
def gen_frames(): # generate frame by frame from camera
picam2 = Picamera2()
picam2.configure(picam2.create_video_configuration(main={"format": 'XRGB8888', "size": (640, 480)}))
@ -36,6 +41,20 @@ def gen_frames(): # generate frame by frame from camera
b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n') # concat frame one by one and show result
def capture_frame():
picam2.close()
frame = picam2.capture_array() # 假设picam2是你的相机对象
ret, buffer = cv2.imencode('.jpg', frame, [int(cv2.IMWRITE_JPEG_QUALITY), 50])
img_str = base64.b64encode(buffer).decode()
picam2.start()
return img_str
@app.route('/capture_frame')
def capture_frame_route():
img_str = capture_frame()
return jsonify(img_str)
@app.route('/')
def index():
return render_template('index-t.html')

@ -94,4 +94,11 @@ class CAR:
def yunright(self):
self.input_x+=10
base.gimbal_ctrl(self.input_x, self.input_y, self.input_speed, self.input_acc)
base.gimbal_ctrl(self.input_x, self.input_y, self.input_speed, self.input_acc)
def guiwei(self):
self.input_x = 2
self.input_y = 2
self.input_speed = 0
base.gimbal_base_ctrl(self.input_x, self.input_y, self.input_speed)

@ -20,10 +20,14 @@
background: #e8080b;
}
</style>
<title>Capture Frame</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
<h5>实时视频流</h5>
<img src="{{ url_for('video_feed') }}">
<button id="captureButton">Capture Frame</button>
<img id="frameImage" src="" alt="Captured Frame" style="display:none; width: 640px; height: 480px;">
<p> 小车控制界面</p>
<bodylink = "red">
<a href="control" target="_blank">小车控制</a>
@ -94,6 +98,23 @@
<script>
$(document).ready(function() {
$('#captureButton').click(function() {
$.ajax({
url: '/capture_frame', // 后端路由地址
type: 'GET',
success: function(response) {
// 将响应中的图像数据设置到img标签的src属性
$('#frameImage').attr('src', 'data:image/jpeg;base64,' + response);
// 显示图像
$('#frameImage').show();
},
error: function(error) {
console.log('Error:', error);
}
});
});
});
function printClicked() {
// console.log("132465789891651354684");
}

Loading…
Cancel
Save