Open10

メモ:Colaboratoryで個人的に良く使うのに毎回ググったり探し回ったりしているもの

kazuhitokazuhito

cv2_imshow

import cv2
from google.colab.patches import cv2_imshow

image = cv2.imread('sample.jpg')
cv2_imshow(image)
# PIL→OpenCV変換
cv_image = cv2.cvtColor(np.array(pil_image), cv2.COLOR_RGB2BGR)
# OpenCV→PIL変換
pil_image = Image.fromarray(cv2.cvtColor(cv_image, cv2.COLOR_BGR2RGB))
kazuhitokazuhito

gdown

import gdown

gdown.download(
    'https://drive.google.com/uc?id=【GoogleドライブのファイルID】',
    '【ファイル名】',
    quiet=False,
)
kazuhitokazuhito

動画埋め込み

import io
import base64
from IPython.display import HTML

video = io.open('sample.mp4', 'r+b').read()
encoded = base64.b64encode(video)
HTML("""
    <video alt="test" controls>
        <source src="data:video/mp4;base64,{0}" type="video/mp4">
    </video>
""".format(encoded.decode('ascii')))
kazuhitokazuhito

ちょっとしたファイル修正

file_path = 'sample.py'

with open(file_path) as fp:
    file_lines = fp.read()

file_lines = file_lines.replace(
    "XXXXXXXX",
    "YYYYYYYY",
)

with open(file_path, mode="w") as fp:
    fp.write(file_lines)
kazuhitokazuhito

%%timeitのオプション
-n:ループ数 ※指定しない場合、自動的に回数が設定される
-r:繰り返し数 ※指定しない場合、デフォルトは7

%%timeit -n 10 -r 5
kazuhitokazuhito

Colaboratory セルUI

  • 値入力
value = "値"  # @param {type:"string"}
  • ドロップダウン
dropdown = '1'  # @param ["1", "2", "3"] {allow-input: false}
  • 日付
date_input = '2024-08-22'  # @param {type:"date"}
  • スライダー
slider = 0.1  # @param {type:"slider", min:-1, max:1, step:0.1}
  • チェックボックス
checkbox = True  # @param {type:"boolean"}
kazuhitokazuhito

URL経由でのimread()

!pip install imread-from-url
import cv2
from imread_from_url import imread_from_url

image = imread_from_url(
    'https://github.com/Kazuhito00/Kazuhito00/blob/master/image/icon350.jpg?raw=true'
)
kazuhitokazuhito

tqdmをノートブックで使って進捗バーが改行される場合、tqdm.notebookを使う

from tqdm.notebook import tqdm

progress_bar = tqdm(total=frame_count, desc='Processing')
while True:
    # 進捗バーを更新
    progress_bar.update(1)
kazuhitokazuhito

シークレットタブの値を取得

from google.colab import userdata

api_key = userdata.get('API_KEY')