pull/25/head^2
Aoi 3 years ago
parent 76145e0881
commit f12c3e3d17

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

@ -1,3 +1,4 @@
import logging
import time
import cv2
@ -51,7 +52,7 @@ def getKeyboardInput(drone, speed, image):
drone.send_rc_control(lr, fb, ud, yv)
# 主程序
# 摄像头设置
# 摄像头设置
Camera_Width = 720
Camera_Height = 480
DetectRange = [6000, 11000]
@ -78,4 +79,18 @@ while True:
Image = cv2.resize(OriginalImage, (Camera_Width, Camera_Height))
getKeyboardInput(drone=Drone, speed=70, image=Image) # 按键控制
cv2.imshow("Drone Control Centre", Image)
cv2.waitKey(1)
cv2.waitKey(1)
# from PyQt5.QtWidgets import QMainWindow, QApplication
# import guidingUI
# import sys
#
#
# if __name__ == '__main__':
# app = QApplication(sys.argv)
# window = QMainWindow()
# ui = guidingUI.Ui_MainWindow()
# ui.setupUi(window)
# window.show()
#
# sys.exit(app.exec_())

@ -0,0 +1,182 @@
import os
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
import sys
import cv2
from av import logging
from djitellopy import tello
class Ui_MainWindow(QtWidgets.QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.timer_camera = QtCore.QTimer()
self.cap = cv2.VideoCapture(0)
self.CAM_NUM = 0
self.set_ui()
self.slot_init()
#self.paintEvent()
def set_ui(self):
self.setWindowTitle('虚拟沙盘') # 标题
self.resize(1200, 800) # 窗口尺寸
self.setWindowIcon(QIcon("./img/mou.ico")) # 图标
# MainWindow.setObjectName("MainWindow")
# MainWindow.resize(788, 634)
# self.centralwidget = QtWidgets.QWidget(MainWindow)
# self.centralwidget.setObjectName("centralwidget")
#self.status = self.status() # 消息
#self.status.showMessage('虚拟沙盘3D建模系统')
#插入图片
# self.centralwidget = QtWidgets.QWidget(Ui_MainWindow)
# self.centralwidget.setObjectName("centralwidget")
# self.groupBox_3 = QtWidgets.QGroupBox(self.QtWidgets.centralwidget)
# self.groupBox_3.setGeometry(QtCore.QRect(500, 10, 231, 271))
# self.groupBox_3.setObjectName("groupBox_3")
# self.label_6 = QtWidgets.QLabel(self.groupBox_3)
# self.label_6.setGeometry(QtCore.QRect(6, 30, 221, 241))
# self.label_6.setMinimumSize(QtCore.QSize(221, 0))
# self.label_6.setMaximumSize(QtCore.QSize(221, 16777215))
# self.label_6.setText("")
# self.label_6.setPixmap(QtGui.QPixmap("./control.png"))
# self.label_6.setObjectName("label_6")
# self.label_6.setScaledContents(True) # 图片自适应
self.__layout_main = QtWidgets.QVBoxLayout()
self.__layout_fun_button = QtWidgets.QHBoxLayout()
self.__layout_data_show = QtWidgets.QHBoxLayout()
self.button_open_camera = QtWidgets.QPushButton('打开摄像头')
self.button_operate = QtWidgets.QPushButton('键盘控制')
self.button_takephoto = QtWidgets.QPushButton('拍照')
self.button_make = QtWidgets.QPushButton('建模')
self.button_close = QtWidgets.QPushButton('退出')
self.button_open_camera.setMinimumHeight(50)
self.button_close.setMinimumHeight(50)
self.button_operate.setMinimumHeight(50)
self.button_takephoto.setMinimumHeight(50)
self.button_make.setMinimumHeight(50)
self.button_open_camera.move(10, 100)
self.label_show_camera = QtWidgets.QLabel()
#self.label_show_camera.move(400,400)
self.label_show_camera.setFixedSize(841, 681)
self.__layout_fun_button.addWidget(self.button_open_camera)
self.__layout_fun_button.addWidget(self.button_operate)
self.__layout_fun_button.addWidget(self.button_takephoto)
self.__layout_fun_button.addWidget(self.button_make)
self.__layout_fun_button.addWidget(self.button_close)
#self.__layout_fun_button.addWidget(self.label)
self.__layout_main.addLayout(self.__layout_fun_button)
self.__layout_main.addWidget(self.label_show_camera)
self.setLayout(self.__layout_main)
self.show()
##########################################
#绘制图形操作无人机界面
# def paintEvent(self,event):
# ap = QPainter()
# ap.begin(self)
#
# ap.setPen(Qt.blue)
#
# #圆圈
# rect_arc= QRect(800,300,300,300)
# ap.drawArc(rect_arc,0,16*360)
#
# #键盘
#
#
# #image = QImage('./control.png')
# #rect = QRect(400, 400, 300, 300)
# #ap.drawImage(rect, image)
#
# ap.end()
# 将信号与槽关联
#self.btn1.clicked.connect(self.onClick_Button)
#self.btn2.clicked.connect(self.showDialog)
def slot_init(self):
self.button_open_camera.clicked.connect(
self.button_open_camera_clicked)
self.timer_camera.timeout.connect(self.show_camera)
self.button_close.clicked.connect(self.onClick_Button)
self.button_make.clicked.connect(self.showDialog)
def button_open_camera_clicked(self):
if self.timer_camera.isActive() == False:
flag = self.cap.open(self.CAM_NUM)
if flag == False:
msg = QtWidgets.QMessageBox.warning(self, 'warning', "请检查无人机是否连接正确", buttons=QtWidgets.QMessageBox.Ok)
else:
self.timer_camera.start(30)
self.button_open_camera.setText('关闭摄像头')
else:
self.timer_camera.stop()
self.cap.release()
self.label_show_camera.clear()
self.button_open_camera.setText('打开摄像头')
def show_camera(self):
self.Drone = tello.Tello() # 创建飞行器对象
#self.Drone.connect() # 连接到飞行器
#self.Drone.streamon() # 开启视频传输
self.Drone.LOGGER.setLevel(logging.ERROR) # 只显示错误信息
#sleep(5) # 等待视频初始化
#kp.init() # 初始化按键处理模块
#flag,OriginalImage = self.Drone.get_frame_read()
F = self.Drone.get_frame_read().frame
Image = cv2.resize(F, (500, 500))
cv2.imshow("Drone Control Centre", Image)
cv2.waitKey(1)
#flag, self.image = self.cap.read()
#show = cv2.resize(OriginalImage, (640, 480))
#show = cv2.cvtColor(show, cv2.COLOR_BGR2RGB)
#showImage = QtGui.QImage(show.data, show.shape[1], show.shape[0],
# QtGui.QImage.Format_RGB888)
#self.label_show_camera.setPixmap(QtGui.QPixmap.fromImage(showImage))
#getKeyboardInput(drone=Drone, speed=70, image=Image) # 按键控制
#cv2.imshow("Drone Control Centre", OriginalImage)
def showDialog(self):
dialog = QtWidgets.QDialog()
dialog.resize(800, 600)
button = QtWidgets.QPushButton('储存', dialog)
button.clicked.connect(dialog.close)
button.move(350, 550)
dialog.setWindowTitle('建模视图')
dialog.setWindowModality(QtCore.Qt.ApplicationModal)
dialog.exec()
def onClick_Button(self):
sender = self.sender() #获得button
#print(sender.text() + '按钮被按下')
app = QtWidgets.QApplication.instance()
#退出程序
app.quit()
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
ui = Ui_MainWindow()
ui.show()
sys.exit(app.exec_())
Loading…
Cancel
Save