走り去るドクターイエローを決勝写真撮影カメラで記録する('24.06.14)#
引退するドクターイエローが走る動画を撮ってみる#
東海道新幹線・山陽新幹線区間を走る点検用新幹線車両、ドクターイエローが引退するというニュースを眺めた。 JR東海の車両は来年1月、JR西日本の車両は2027年をめどに運行を終えるという。 今住んでいる部屋は、窓を開けると新幹線の高架が見えるので、引退するドクターイエローが走る動画を撮ってみた。
Show code cell source
import IPython.display
IPython.display.YouTubeVideo('Ez5QOBci9mo')
ゴールする瞬間を撮影する決勝写真撮影カメラ風画像を作る#
これまで走り続けて、引退するというドクターイエロー。 せっかくだから、競馬でゴールする瞬間を撮影する決勝写真撮影カメラを作ってみようと思う。 つまり、ドクターイエローが向かう目的地、そのゴールにラインカメラが取り付けられていたとしたら、どんな姿が見えるのか、それを上記動画から作ってみる。
Show code cell source
import numpy as np
import matplotlib.pyplot as plt
import cv2
spec_file = '/Users/jun/source/jupyter-book-2024/sd_all/data/day_240614_opencv_dryellow_trim.mov'
cap = cv2.VideoCapture(spec_file)
w = round(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
h = round(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
frame_n = round(cap.get(cv2.CAP_PROP_FRAME_COUNT))
img=np.zeros((h,frame_n,3),np.uint8)
x=round(w/2)
n=0
while(cap.isOpened()):
ret,frame=cap.read()
if ret:
img[:,n,0]=frame[:,x,2]
img[:,n,1]=frame[:,x,1]
img[:,n,2]=frame[:,x,0]
n = n+1
else:
break
cap.release()
Show code cell source
plt.figure(figsize=(18,27),dpi=180)
plt.axis('off')
plt.imshow(img[1200:1400,20:250])
撮影動画の撮影フレームレートが低いから、解像度が低くて7両ある車両が4両に見えてしまっていたりもする。 けれど、レールの先に向かって走るドクターイエローの雄姿が、決勝写真撮影カメラ風画像に写っているような気もする。