zoukankan      html  css  js  c++  java
  • python中执行其他的python脚本(一):

    代码main.py:

     1 from PyQt5 import QtCore, QtGui, QtWidgets
     2 import faceSet 
     3 
     4 
     5 class Ui_MainWindow(object):
     6     def setupUi(self, MainWindow):
     7         MainWindow.setObjectName("MainWindow")
     8         MainWindow.resize(519, 354)
     9         self.centralwidget = QtWidgets.QWidget(MainWindow)
    10         self.centralwidget.setObjectName("centralwidget")
    11         self.pushButton = QtWidgets.QPushButton(self.centralwidget)
    12         self.pushButton.setGeometry(QtCore.QRect(210, 140, 75, 23))
    13         self.pushButton.setObjectName("pushButton")
    14         MainWindow.setCentralWidget(self.centralwidget)
    15         self.retranslateUi(MainWindow)
    16         QtCore.QMetaObject.connectSlotsByName(MainWindow)
    17     def retranslateUi(self, MainWindow):
    18         _translate = QtCore.QCoreApplication.translate
    19         MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
    20         self.pushButton.setText(_translate("MainWindow", "Open"))
    21 
    22         self.pushButton.clicked.connect(self.OpenClick)
    23 
    24     def OpenClick(self):
    25         #algorithm.FunctionAlgo()
    26         faceSet.mySet()
    27 
    28 
    29 
    30 if __name__ == "__main__":
    31     import sys
    32     app = QtWidgets.QApplication(sys.argv)
    33     MainWindow = QtWidgets.QMainWindow()
    34     ui = Ui_MainWindow()
    35     ui.setupUi(MainWindow)
    36     MainWindow.show()
    37     sys.exit(app.exec_())

    代码faceSet.py:

     1 ''''
     2 Capture multiple Faces from multiple users to be stored on a DataBase (dataset directory)
     3     ==> Faces will be stored on a directory: dataset/ (if does not exist, pls create one)
     4     ==> Each face will have a unique numeric integer ID as 1, 2, 3, etc                       
     5 Based on original code by Anirban Kar: https://github.com/thecodacus/Face-Recognition    
     6 Developed by Marcelo Rovai - MJRoBot.org @ 21Feb18    
     7 '''
     8 
     9 import cv2
    10 import os
    11 
    12 def mySet():
    13     cam = cv2.VideoCapture(0)
    14     cam.set(3, 640) # set video width
    15     cam.set(4, 480) # set video height
    16 
    17     face_detector = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
    18 
    19     # For each person, enter one numeric face id
    20     face_id = input('
     enter user id end press <return> ==>  ')
    21 
    22     print("
     [INFO] Initializing face capture. Look the camera and wait ...")
    23     # Initialize individual sampling face count
    24     count = 0
    25 
    26     while(True):
    27 
    28         ret, img = cam.read()
    29         img = cv2.flip(img, 1) # flip video image vertically
    30         gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    31         faces = face_detector.detectMultiScale(gray, 1.3, 5)
    32 
    33         for (x,y,w,h) in faces:
    34 
    35             cv2.rectangle(img, (x,y), (x+w,y+h), (255,0,0), 2)     
    36             count += 1
    37 
    38             # Save the captured image into the datasets folder
    39             cv2.imwrite("dataset/User." + str(face_id) + '.' + str(count) + ".jpg", gray[y:y+h,x:x+w])
    40 
    41             cv2.imshow('image', img)
    42 
    43         k = cv2.waitKey(100) & 0xff # Press 'ESC' for exiting video
    44         if k == 27:
    45             break
    46         elif count >= 30: # Take 30 face sample and stop video
    47              break
    48 
    49     # Do a bit of cleanup
    50     print("
     [INFO] Exiting Program and cleanup stuff")
    51     cam.release()
    52     cv2.destroyAllWindows()

    运行:

    弹出一个有运行按键的界面,单击界面,执行我需要的程序;

    结果为:

    enter user id end press <return> ==>  QCoreApplication::exec: The event loop is already running
    1
    
     [INFO] Initializing face capture. Look the camera and wait ...
    OpenCV(3.4.1) Error: Assertion failed (scn == 3 || scn == 4) in cvtColor, file /home/pi/opencv-3.4.1/modules/imgproc/src/color.cpp, line 11147
    Traceback (most recent call last):
      File "main.py", line 29, in OpenClick
        faceSet.mySet()
      File "/home/pi/pro1/faceSet.py", line 30, in mySet
        gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    cv2.error: OpenCV(3.4.1) /home/pi/opencv-3.4.1/modules/imgproc/src/color.cpp:11147: error: (-215) scn == 3 || scn == 4 in function cvtColor
    已放弃

    这就对了

  • 相关阅读:
    Windows Phone 7 Coding4Fun的弹出框来源:http://www.cnblogs.com/majian714/archive/2011/12/02/2272060.html
    jsp连接mysql的增删改操作
    各种数据库的比较
    jsp连接mysqlupdata操作
    jsp连接Mysql关键代码
    Duwamish学习笔记
    值类型和引用类型的区别
    Factory Method模式的学习
    实现事务的几种方法
    提高Dotnet应用程序性能的技巧
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/13829679.html
Copyright © 2011-2022 走看看