直接上例程
# -*- coding: utf-8 -*-
import cv2
import numpy as np
from std_msgs.msg import String
import ftplib
ftp = ftplib.FTP() # 設定變數 ,實體化
ftp.set_debuglevel(2) # 打開除錯級別2,顯示詳細資訊
ftp.connect("255.255.255.255", 000) # 連接的ftp sever和埠
ftp.login("***", "**") # 連接的用戶名,密碼
bufsize = 1024
print(ftp.getwelcome()) # 列印出歡迎資訊
ftp.cwd("/usr/cameraaround")
cap1 = cv2.VideoCapture(0) # 表示 打開內置攝像頭,引數0是視頻檔案路徑則打開視頻
while cap1.isOpened(): # 回傳值確定攝像頭是否開啟
det1, img1 = cap1.read() # 按幀讀取資料,第一個引數是確定讀取資料的回傳值是否正確,第二個就是每一幀的影像
# det2, img2 = cap2.read()
if det1:
cv2.imshow('img1', img1) # 視窗顯示,顯示名為img1
k = cv2.waitKey(1)
cv2.imwrite('eee.jpeg', img1) # 第一個引數表示要寫入的檔案名,必須加入后綴名,第二個表示要寫入的影像資料型別
cv2.waitKey(1)
img1 = cv2.imread('eee.jpeg')
print(img1.shape)
x, y = img1.shape[0:2] # 提取影像采集的長寬
img_test1 = cv2.resize(img1, (int(y / 18), int(x / 18))) # 長寬除三
cv2.imwrite('eee0.jpeg', img_test1) # 裁剪完保存圖片
file = "eee0.jpeg"
file_handle = open(file, "rb") #
ftp.storbinary("STOR eee0.jpeg", file_handle, bufsize)
# cv2.imshow('r0', img_test1) # 展示裁剪完的圖片
cv2.waitKey(400)
if k == ord('q'): # 等待鍵盤輸入,,引數為1表示延時1ms切換下一幀影像,引數0表示只顯示當前影像
break
cap1.release() # 釋放攝像頭
cv2.destroyAllWindows() # 關閉所有影像視窗
注釋很詳細,后續還有接收topic,轉化為opencv格式影像并以多執行緒方式上傳到服務器
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/349751.html
標籤:其他
