質問編集履歴
1
解決したコードを掲載しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -68,3 +68,68 @@
|
|
68
68
|
rec.release()
|
69
69
|
```
|
70
70
|
|
71
|
+
解決したコード ppaulさん
|
72
|
+
```python
|
73
|
+
# -*- coding: utf-8 -*-
|
74
|
+
import cv2
|
75
|
+
|
76
|
+
|
77
|
+
# 定数定義
|
78
|
+
ESC_KEY = 27 # Escキー
|
79
|
+
INTERVAL= 33 # 待ち時間
|
80
|
+
FRAME_RATE = 60 # fps,もとのfpsよりも早いか遅いかで再生速度にもなる。
|
81
|
+
|
82
|
+
ORG_WINDOW_NAME = "org"
|
83
|
+
GRAY_WINDOW_NAME = "gray"
|
84
|
+
|
85
|
+
ORG_FILE_NAME = "/home/baka2022blue/デスクトップ/9.mp4"
|
86
|
+
GRAY_FILE_NAME = "test2.mp4"
|
87
|
+
|
88
|
+
# 元ビデオファイル読み込み
|
89
|
+
org = cv2.VideoCapture(ORG_FILE_NAME)
|
90
|
+
|
91
|
+
# 保存ビデオファイルの準備
|
92
|
+
end_flag, c_frame = org.read()
|
93
|
+
height, width, channels = c_frame.shape
|
94
|
+
rec = cv2.VideoWriter(GRAY_FILE_NAME, \
|
95
|
+
cv2.VideoWriter_fourcc(*'XVID'), \
|
96
|
+
FRAME_RATE, \
|
97
|
+
(width, height), \
|
98
|
+
True)
|
99
|
+
# ウィンドウの準備
|
100
|
+
#cv2.namedWindow(ORG_WINDOW_NAME)
|
101
|
+
cv2.namedWindow(GRAY_WINDOW_NAME)
|
102
|
+
|
103
|
+
time = 0
|
104
|
+
|
105
|
+
# 変換処理ループ
|
106
|
+
while end_flag == True:
|
107
|
+
if time <= 300:
|
108
|
+
# グレースケール変換
|
109
|
+
# cv2.cvtColor(変換する映像,色の変更方法)
|
110
|
+
g_frame = cv2.cvtColor(cv2.cvtColor(c_frame, cv2.COLOR_BGR2GRAY), cv2.COLOR_BGR2GRAY)
|
111
|
+
else:
|
112
|
+
g_frame = c_frame
|
113
|
+
# フレーム表示
|
114
|
+
#cv2.imshow(ORG_WINDOW_NAME, c_frame)
|
115
|
+
cv2.imshow(GRAY_WINDOW_NAME, g_frame)
|
116
|
+
|
117
|
+
# フレーム書き込み
|
118
|
+
rec.write(g_frame)
|
119
|
+
|
120
|
+
# Escキーで終了
|
121
|
+
key = cv2.waitKey(INTERVAL)
|
122
|
+
if key == ESC_KEY:
|
123
|
+
break
|
124
|
+
|
125
|
+
# 次のフレーム読み込み
|
126
|
+
end_flag, c_frame = org.read()
|
127
|
+
time+=1
|
128
|
+
|
129
|
+
# 終了処理
|
130
|
+
cv2.destroyAllWindows()
|
131
|
+
org.release()
|
132
|
+
rec.release()
|
133
|
+
```
|
134
|
+
|
135
|
+
|