Beispiel #1
0
    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
Beispiel #2
0
# ディスプレイの大きさの測定
(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

# 操作関連
Beispiel #3
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 = []
Beispiel #4
0
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)