def __init__(self, *args, **kwargs): tk.Tk.__init__(self, *args, **kwargs) self.title("HandFrickInput") self.wRoot, self.hRoot = 700, 700 self.geometry("{0}x{1}".format(self.wRoot, self.hRoot)) # ウィンドウサイズ(幅x高さ) # 初期画面 master0の作成 # 入力画面 master1の作成 self.master1 = tk.Frame() # self.wRoot, self.hRoot = 390, 400 # Canvasの作成 self.canvas = tk.Canvas(self.master1, highlightthickness=0) # Canvasにマウスイベント(左ボタンクリック)の追加 self.canvas.bind('<Button-1>', self.canvas_click) # Canvasを配置 self.canvas.pack(expand=1, fill=tk.BOTH) # 文字入力フォームの作成 self.entry1 = tkinter.Entry(self.master1, font=("", 20)) self.entry1.focus_set() self.entry1.pack() # カメラをオープンする self.capture = cv2.VideoCapture(0) # 画面入力フォームよりカメラの大きさを大きくしておく self.capture.set(cv2.CAP_PROP_FRAME_WIDTH, 1280) # カメラ画像の横幅を1280に設定 self.capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 900) # カメラ画像の縦幅を720に設定 self.disp_id = None self.detector = htm.handDetectior(MaxHands=2, detectonCon=0.7) self.kakasi = pykakasi.kakasi() # 基本設定 # ウィンドウの大きさの設定 self.wCam, self.hCam = 1000, 700 # 入力結果表示UI用スペース self.spaceH = 300 self.spaceW = 150 # 入力キーボード表示UIのスペース self.wVisal = self.wCam - self.spaceW self.hVisal = self.hCam - self.spaceH # 入力テキスト表示UI用変数 self.INPUT_TEXTS = u"" self.INPUT_TEXTS_UI = u"" # キーボード選択リスト self.KEYBOARDLIST = np.full((5, 5), False).tolist() self.KEYBOARDREMEN = True self.xx, self.yy = 0, 0 self.INPUT_FLAG = False self.font_size = 50 self.font_Path = "C:\Windows\Fonts\HGRGM.TTC" # 初期キーボードはかな入力に self.KEYBOARD = KEYBOARD_HIRA
# ディスプレイの大きさの測定 (wWin, hWin) = pyautogui.size() print("横:{0} 縦:{1}".format(wWin, hWin)) # 動画関係設定 # cap = cv2.VideoCapture(0) cap = cv2.VideoCapture(0, cv2.CAP_DSHOW) # cap = cv2.VideoCapture(0, cv2.CAP_MSMF) cap.set(3, wCam) cap.set(4, hCam) # cap.set(cv2.CAP_PROP_FPS, 60) pTime = 0 plocX, plocY = 0, 0 clocX, clocY = 0, 0 detector = htm.handDetectior(MaxHands=2, detectonCon=0.7) # 音量関係設定 devices = AudioUtilities.GetSpeakers() interface = devices.Activate(IAudioEndpointVolume._iid_, CLSCTX_ALL, None) volume = cast(interface, POINTER(IAudioEndpointVolume)) # volume.GetMute() # volume.GetMasterVolumeLevel() volRange = volume.GetVolumeRange() minVol = volRange[0] maxVol = volRange[1] vol = 0 volBar = 400 volPar = 0 # 操作関連
def __init__(self, master=None): super().__init__(master) self.pack() # self.wRoot, self.hRoot = 390, 400 self.wRoot, self.hRoot = 800, 500 self.master.title(u"OpenCVの動画表示") # ウィンドウタイトル self.master.geometry("{0}x{1}".format(self.wRoot, self.hRoot)) # ウィンドウサイズ(幅x高さ) # Canvasの作成 self.canvas = tk.Canvas(self.master, highlightthickness=0) # Canvasにマウスイベント(左ボタンクリック)の追加 self.canvas.bind('<Button-1>', self.canvas_click) # Canvasを配置 self.canvas.pack(expand=1, fill=tk.BOTH) # 文字入力フォームの作成 self.entry1 = tkinter.Entry(self.master, font=("", 20)) self.entry1.focus_set() self.entry1.pack() # カメラをオープンする self.capture = cv2.VideoCapture(0) # 画面入力フォームよりカメラの大きさを大きくしておく self.capture.set(cv2.CAP_PROP_FRAME_WIDTH, 1920) # カメラ画像の横幅を1280に設定 self.capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080) # カメラ画像の縦幅を720に設定 self.disp_id = None self.detector = htm.handDetectior(MaxHands=2, detectonCon=0.7) self.kakasi = pykakasi.kakasi() # 基本設定 # ウィンドウの大きさの設定 self.wCam, self.hCam = 1000, 700 self.spaceH = 300 self.spaceW = 150 self.wVisal = self.wCam-self.spaceW self.hVisal = self.hCam-self.spaceH self.INPUT_TEXTS = u"" self.INPUT_TEXTS_UI = u"" self.KEYBOARDLIST = np.full((5, 5), False).tolist() self.KEYBOARDREMEN = True self.xx, self.yy = 0, 0 self.INPUT_FLAG = False self.font_size = 50 # self.font_Path = "C:\Windows\Fonts\メイリオ\meiryo.ttc" # self.font_Path_Bold = "C:\Windows\Fonts\メイリオ\meiryob.ttc" self.font_Path = "C:\Windows\Fonts\游ゴシック\YuGothR.ttc" self.font_Path_Bold = "C:\Windows\Fonts\游ゴシック\YuGothB.ttc" # 初期キーボードはかな入力に self.KEYBOARD = KEYBOARD_HIRA self.EVENT_Flag = 0 self.search_text = "" self.Dict_num = 0 self.Result_Button_pressed = [False]*4 self.Detail_Button_pressed = [False] self.Books_num = -1 self.savedIMG_Result = [] self.savedIMG_Detail = []
import cv2 import mediapipe as mp import time import sys import handtrackingModule as htm pTime = 0 cTime = 0 cap = cv2.VideoCapture(0) if not cap.isOpened(): # print("Error:カメラが接続されていません!!") sys.exit() detector = htm.handDetectior() while True: # 画像の読み込み success, img = cap.read() print(success) img = detector.findHands(img) lmlist = detector.findPosition(img) if len(lmlist) != 0: print(lmlist) # FPS cTime = time.time() fps = 1 / (cTime - pTime) pTime = cTime cv2.putText(img, str(int(fps)), (10, 70), cv2.FONT_HERSHEY_PLAIN, 3, (255, 255, 255), 2) # 表示 cv2.imshow("Image", img) k = cv2.waitKey(1)