VTuber의 모자이크 아트 만들기

9010 단어 Python
영상에 편지를 곁들인 축소판을 이용해 VTuber의 모자이크 예술을 제작한다.
그럼에도 모자이크 아트 제작 자체는 사용 도구에 불과하기 때문에 유튜브 데이터 API 사용법만 적혀 있다.
절차로 API를 통해 애니메이션 데이터 가져오기 → 애니메이션 데이터의 링크에서 이미지 가져오기 → 얻은 이미지로 모자이크 예술을 만든다.
이번 대상 VTuber는 부조리하다.
https://twitter.com/AyaFujo
https://www.youtube.com/channel/UCnWY-6vdj_UaKDwGI5oLDZw
아주 좋은 개인 V 씨, 추천합니다.

비디오 데이터 가져오기


먼저 유튜브 Data API를 사용하여 애니메이션 데이터를 가져옵니다.
준비 방법을 조사했다면 많았을 텐데 이번엔 얘기하지 말자.
from apiclient.discovery import build
import json
import time

# APIを使うための情報を設定
DEVELOPER_KEY = "**取得したAPIキー**"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"
youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
    developerKey=DEVELOPER_KEY)

item_list = []
search = youtube.search().list(
    part = "snippet",
    # チャンネルIDはYouTubeホーム画面URLから取得、↓の***の部分
    # https://www.youtube.com/channel/***/featured
    channelId = "**チャンネルID**",
    maxResults = 50 # 一回で取得する動画情報数
)
data = search.execute()

# 一回じゃ取りきれないので何回か実行する
while True:
    item_list = item_list + data["items"]
    print(len(item_list))
    print(data["pageInfo"])
    # 取りきったら終了
    if "nextPageToken" not in data:
        break
    time.sleep(1)
    search = youtube.search().list_next(search, data)
    data = search.execute()

# 取得したデータを保存
with open('movieData.json', 'w',  encoding="utf8") as f:
    json.dump(item_list, f, ensure_ascii=False)
대충 이런 느낌으로 애니메이션 데이터를 얻을 수 있다.

이미지 가져오기


다음은 그림 가져오기입니다.
방금 얻은 JSON 파일, snippet→thumbnails에 화음 정보가 있습니다.
그림마다 크기가 다릅니다. 아래 URL에는 그림의 URL이 있습니다.
데이터 구조도 찾아보면 나오니까 생략할게요.
urllib맹을 그림 저장 방법으로 사용합니다.
이 기능을 사용하여 URL을 지정하여 이미지를 저장할 수 있습니다.
import json
import urllib.request

# さっきのJSONファイル
json_file = open('movieData.json', 'r')
data = json.load(json_file)
json_file.close()

i = 1
for line in data:
    # 画像ファイル名
    image_file = "samune/" + str(i) + ".jpg"
    i += 1
    # URLの場所を指定して取得
    url = line["snippet"]["thumbnails"]["medium"]["url"]
    print(line["snippet"]["title"])
    # urllibライブライを使って画像を保存
    tgt = urllib.request.urlopen(url).read()
    with open(image_file, mode='wb') as f:
        f.write(tgt)

모자이크 예술의 제작


이게 프로그램으로 쉽게 완성됐으면 좋겠는데 그렇게 많은 기술이 없어요...
마지막으로 공구의 힘을 빌리다.
AndreaMosaic의 도구가 됩니다.
사용 방법은 링크를 붙일 테니 거기서부터 시작하세요.
https://aprico-media.com/posts/3742

완성된 모자이크 예술


원래 이미지에는 트위터 아이콘이 사용됩니다.
작게 눈을 가늘게 뜨고 보면 보일 것 같아!
원본 이미지

모자이크 아트

이상은 조금 이상한 팬아트를 만들기 위해 노는 이야기입니다.

좋은 웹페이지 즐겨찾기