Skip to content

Instantly share code, notes, and snippets.

View ochilab's full-sized avatar

おちラボ ochilab

View GitHub Profile
@ochilab
ochilab / getWorkList.py
Created November 10, 2024 16:25
Python:Google Classroom APIでコースIDからワークオブジェクトを取得する
def getWorkList(course_id):
global service
try:
pageToken=None
params = {}
params["courseId"] = course_id #ここにコースのIDを書く
params["pageSize"] = 50
if pageToken:
params["pageToken"] = pageToken
response = service.courses().courseWork().list(**params).execute()
@ochilab
ochilab / getCourseList.py
Created November 10, 2024 16:10
Python:Google Classroom APIから授業リスト(コース一覧)を取得する処理
def getCourseList():
# Google Classroom APIから授業リストを取得する処理
global service #serviceのインスタンスは別で生成済みとします
# クラスルームの一覧(コース一覧)を取得
results = service.courses().list(pageSize=10).execute()
courses = results.get('courses', [])
#出力の例
# for course in courses:
# print(course['name'],course['id'])
@ochilab
ochilab / latexmkrc
Created October 17, 2024 13:18
Overleafで日本語対応する設定ファイル
$latex = 'platex';
$bibtex = 'pbibtex';
$dvipdf = 'dvipdfmx %O -o %D %S';
$makeindex = 'mendex %O -o %D %S';
$pdf_mode = 3;
$ENV{TZ} = 'Asia/Tokyo';
$ENV{OPENTYPEFONTS} = '/usr/share/fonts//:';
$ENV{TTFONTS} = '/usr/share/fonts//:';
@ochilab
ochilab / playRGBFromMkv.py
Created August 11, 2024 13:25
Azure Kinectで記録したMKVファイルからRGBイメージを再生する
import cv2
import pykinect_azure as pykinect
from tkinter import filedialog
# ファイル選択ダイアログを表示し、動画ファイルを選択
video_filename = filedialog.askopenfilename(filetypes=[("動画ファイル", "*.mkv")])
# ライブラリを初期化する
pykinect.initialize_libraries(track_body=True)
@ochilab
ochilab / playDepthFromMkv.py
Last active August 11, 2024 13:21
Azure Kinectで記録したMKVファイルからDepthイメージを再生する
import cv2
import pykinect_azure as pykinect
from tkinter import filedialog
# ファイル選択ダイアログを表示し、動画ファイルを選択
video_filename = filedialog.askopenfilename(filetypes=[("動画ファイル", "*.mkv")])
# ライブラリを初期化する
pykinect.initialize_libraries(track_body=True)
@ochilab
ochilab / playDepthBodyFromMkv.py
Last active November 10, 2024 02:53
Azure Kinectで記録したmkvファイルを再生する(DepthとBodyTrack)
import cv2
import numpy as np
import pykinect_azure as pykinect
from tkinter import filedialog
# ファイル選択ダイアログを表示し、動画ファイルを選択
video_filename = filedialog.askopenfilename(filetypes=[("動画ファイル", "*.mkv")])
# ライブラリを初期化する
pykinect.initialize_libraries(track_body=True)
@ochilab
ochilab / removeStudentNameInFile.py
Last active August 7, 2024 15:23
Googleフォームで投稿されたファイルから学生の名前を削除する
def removeStudentNameInFile(directory):
"""
Googleフォームで投稿されたファイルから学生の名前を削除する
Args:
directory (str): ファイルが保存されているディレクトリのパス
"""
# ディレクトリ内のすべてのファイルを処理
for filename in os.listdir(directory):
# " - "の位置を検索
pos = filename.find(" - ")
@ochilab
ochilab / mp_facemesh.py
Created July 14, 2024 12:59
MediapipeのFacemeshサンプル
import cv2
import mediapipe as mp
mp_face_mesh = mp.solutions.face_mesh
face_mesh = mp_face_mesh.FaceMesh(static_image_mode=False, max_num_faces=1, min_detection_confidence=0.5, min_tracking_confidence=0.5)
mp_drawing = mp.solutions.drawing_utils
drawing_spec = mp_drawing.DrawingSpec(thickness=1, circle_radius=1)
cap = cv2.VideoCapture(1)
@ochilab
ochilab / bleGet.py
Last active May 27, 2024 08:45
BLEを使ってM5Stack側からデータを受け取るサンプル
import asyncio
import uuid
from bleak import BleakScanner, BleakClient
from bleak.exc import BleakError
device_name = "ESP32"
read_UUID = uuid.UUID("6E400003-B5A3-F393-E0A9-E50E24DCCA9E")
async def ble_scan():
devices = await BleakScanner.discover()
@ochilab
ochilab / bleSend.py
Created May 20, 2024 07:16
PC側からM5Stackへデータを送信する
import asyncio
from bleak import BleakScanner, BleakClient
ADDRESS = None
async def ble_scan():
global ADDRESS
device_name = "ESP32"
devices = await BleakScanner.discover()
target_device = next((d for d in devices if d.name == device_name), None)