Bladeren bron

上傳檔案到 ''

fatwolf 3 jaren geleden
bovenliggende
commit
ecb8ecda10
4 gewijzigde bestanden met toevoegingen van 103 en 0 verwijderingen
  1. 26 0
      opencv_get_photo.py
  2. 11 0
      opencv_get_photo1.py
  3. 35 0
      opencv_recode.py
  4. 31 0
      opencv_recode1.py

+ 26 - 0
opencv_get_photo.py

@@ -0,0 +1,26 @@
+import numpy as np
+import cv2
+import time
+
+cap = cv2.VideoCapture('http://192.168.50.177:81/stream')
+
+while(True):
+    # Capture frame-by-frame
+    ret, frame = cap.read()
+
+    # Our operations on the frame come here
+    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2BGRA)
+    frame = cv2.resize(frame, (1936,1096))
+    #frame = cv2.resize(frame, (320, 240))
+    # Display the resulting frame
+    cv2.imshow('frame',frame)
+    if cv2.waitKey(1) & 0xFF == ord('p'):
+        now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
+        cv2.imwrite('D:\\fatwolf\\company_files\\opencv\\' + now + ".png", frame)
+        print('save: '+now+'.png')
+    elif cv2.waitKey(1) & 0xFF == ord('q'):
+        break
+
+# When everything done, release the capture
+cap.release()
+cv2.destroyAllWindows()

+ 11 - 0
opencv_get_photo1.py

@@ -0,0 +1,11 @@
+import cv2
+import time
+
+cap = cv2.VideoCapture(0)
+def takephoto():
+    ret, frame = cap.read()
+    frame = cv2.resize(frame, (1936, 1096))
+    cv2.imwrite("capture.png", frame)
+    cap.release() 
+
+takephoto()

+ 35 - 0
opencv_recode.py

@@ -0,0 +1,35 @@
+import numpy as np
+import cv2
+import time
+
+#cap = cv2.VideoCapture('rtsp://192.168.50.181/av0_0')
+cap = cv2.VideoCapture('http://192.168.50.177:81/stream')
+#cap = cv2.VideoCapture(0)
+
+
+fourcc = cv2.VideoWriter_fourcc(*'XVID')
+
+# 建立 VideoWriter 物件,輸出影片至 output.avi
+# FPS 值為 20.0,解析度為 640x360
+#out = cv2.VideoWriter('output_test.avi', fourcc, 25.0, (1920, 1080))
+out = cv2.VideoWriter('outputtest.avi', fourcc, 25.0, (320, 240))
+
+while(True):
+
+    ret, frame = cap.read()
+    if ret == True:
+
+        out.write(frame)
+    frame = cv2.resize(frame, (800, 600))
+    cv2.imshow('frame',frame)
+
+    if cv2.waitKey(1) & 0xFF == ord('p'):
+        now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
+
+        cv2.imwrite('C:\\Users\\User\\Desktop\\company_files\\opencv\\' + now + ".jpg", frame)
+    elif cv2.waitKey(1) & 0xFF == ord('q'):
+        break
+
+# When everything done, release the capture
+cap.release()
+cv2.destroyAllWindows()

+ 31 - 0
opencv_recode1.py

@@ -0,0 +1,31 @@
+import cv2
+
+cap = cv2.VideoCapture('rtsp://192.168.50.181/av0_0')
+
+# 設定擷取影像的尺寸大小
+cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
+cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 360)
+
+# 使用 XVID 編碼
+fourcc = cv2.VideoWriter_fourcc(*'XVID')
+
+# 建立 VideoWriter 物件,輸出影片至 output.avi
+# FPS 值為 20.0,解析度為 640x360
+out = cv2.VideoWriter('output123.avi', fourcc, 20.0, (640, 360))
+
+while(cap.isOpened()):
+  ret, frame = cap.read()
+  if ret == True:
+    # 寫入影格
+    out.write(frame)
+
+    cv2.imshow('frame',frame)
+    if cv2.waitKey(1) & 0xFF == ord('q'):
+      break
+  else:
+    break
+
+# 釋放所有資源
+cap.release()
+out.release()
+cv2.destroyAllWindows()