質問編集履歴

1

コードの修正

2022/07/09 01:47

投稿

ogs
ogs

スコア12

test CHANGED
File without changes
test CHANGED
@@ -2,21 +2,72 @@
2
2
 
3
3
  コード
4
4
  ```
5
+ import numpy as np
6
+ import matplotlib.pyplot as plt
7
+ import pandas as pd
8
+ import cv2
9
+
10
+ i = 0
11
+ count = 0
12
+ cpf = 1
13
+
14
+ #動画の読み込み
15
+ video_path = "Zbc=1100mm_Trim.avi"
16
+ cap = cv2.VideoCapture(video_path)
17
+
18
+ #フレームレート(fps)の取得
19
+ frame_rate = cap.get(cv2.CAP_PROP_FPS)
20
+
21
+ num = 0
22
+ while cap.isOpened():
23
+ ret, frame = cap.read()
24
+
25
+ if ret == False:
26
+ print('FINISHED')
27
+ break
28
+
29
+ if count%cpf == 0: #dt = 0.025[sec]
30
+
31
+ #フレーム画像の保存
32
+ cv2.imshow('Video', frame)
33
+ img = cv2.imwrite("original_" + str(num) + '.png', frame)
34
+ print(str(num)+'.png')
35
+
36
+ num += 1
37
+ i += 1
38
+ count = count + 1
39
+ cap.release()
40
+
41
+ k = 0
42
+
43
+ while k < num:
44
+
45
+ #グレースケールによる入力画像の読み込み
46
+ gray = cv2.imread("original_" + str(k)+'.png', 0)
47
+
48
+
49
+ #出力画像の保存
50
+ cv2.imshow('Video', gray)
51
+ gray = cv2.imwrite("gray_"+str(k)+'.png', gray)
52
+ print('gray_'+str(k)+'.png')
53
+
54
+ k += 1
55
+
5
56
  k = 0
6
57
 
7
58
  while k < num:
8
59
 
9
60
  #入力画像の読み込み
10
- img_src = cv2.imread('C:\\Users\\\\\\gray_'+str(k)+'.png', 0)
61
+ img_src = cv2.imread('gray_'+str(k)+'.png', 0)
11
62
 
12
63
  #背景画像の読み込み
13
- img_bkg = cv2.imread('C:\\Users\\\\\\gray_600 - reference.png')
64
+ img_bkg = cv2.imread('gray_600 - reference.png')
14
65
 
15
66
  #差分画像の取得
16
67
  img_df = cv2.absdiff(img_src, img_bkg)
17
68
 
18
69
  #出力画像の保存
19
- cv2.imwrite('C:\\Users\\\\\\diff_'+str(k)+'.png', img_df)
70
+ cv2.imwrite('diff_'+str(k)+'.png', img_df)
20
71
  print('diff_'+str(k)+'.png')
21
72
 
22
73
  k += 1
@@ -24,10 +75,10 @@
24
75
  ---------------------------------------------------------------------------
25
76
  error Traceback (most recent call last)
26
77
  Input In [2], in <cell line: 54>()
27
- 60 img_bkg = cv2.imread('C:\\Users\\\\\\gray_600 - reference.png')
78
+ 60 img_bkg = cv2.imread('gray_600 - reference.png')
28
79
  62 #差分画像の取得
29
80
  ---> 63 img_df = cv2.absdiff(img_src, img_bkg)
30
81
  65 #出力画像の保存
31
- 66 cv2.imwrite('C:\\Users\\\\\\diff_'+str(k)+'.png', img_df)
82
+ 66 cv2.imwrite('diff_'+str(k)+'.png', img_df)
32
83
 
33
84
  error: OpenCV(4.6.0) D:\a\opencv-python\opencv-python\opencv\modules\core\src\arithm.cpp:650: error: (-209:Sizes of input arguments do not match) The operation is neither 'array op array' (where arrays have the same size and the same number of channels), nor 'array op scalar', nor 'scalar op array' in function 'cv::arithm_op'