日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python實現opencv+scoket網絡實時圖傳

瀏覽:117日期:2022-08-01 17:18:01

本文實例為大家分享了python實現opencv+scoket網絡實時圖傳的具體代碼,供大家參考,具體內容如下

服務器分析:

1. 先通過在服務器端利用OpenCV捕獲到視頻的每一幀圖片

2. 將這些圖片進行壓縮成JPEG格式,這樣能減小圖片大小,便于傳輸

3. 按照提前協商好的分辨率和幀數進行打包編碼傳輸

4. 利用服務器端打開端口8880,此時客戶端連接后,便可以在客戶端中捕獲到服務器端的視頻。

#服務端import socketimport threadingimport structimport timeimport cv2import numpyclass Carame_Accept_Object: def __init__(self,S_addr_port=('',8880)): self.resolution=(640,480) #分辨率 self.img_fps=15 #每秒傳輸多少幀數 self.addr_port=S_addr_port self.Set_Socket(self.addr_port) #設置套接字 def Set_Socket(self,S_addr_port): self.server=socket.socket(socket.AF_INET,socket.SOCK_STREAM) self.server.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) #端口可復用 self.server.bind(S_addr_port) self.server.listen(5) #print('the process work in the port:%d' % S_addr_port[1])def check_option(object,client): #按格式解碼,確定幀數和分辨率 info=struct.unpack(’lhh’,client.recv(8)) if info[0]>888: object.img_fps=int(info[0])-888 #獲取幀數 object.resolution=list(object.resolution) # 獲取分辨率 object.resolution[0]=info[1] object.resolution[1]=info[2] object.resolution = tuple(object.resolution) return 1 else: return 0def RT_Image(object,client,D_addr): if(check_option(object,client)==0): return camera=cv2.VideoCapture(0)#從攝像頭中獲取視頻 img_param=[int(cv2.IMWRITE_JPEG_QUALITY),object.img_fps] #設置傳送圖像格式、幀數 while(1): time.sleep(0.1) #推遲線程運行0.1s _,object.img=camera.read() #讀取視頻每一幀 object.img=cv2.resize(object.img,object.resolution) #按要求調整圖像大小(resolution必須為元組) _,img_encode=cv2.imencode(’.jpg’,object.img,img_param) #按格式生成圖片 img_code=numpy.array(img_encode) #轉換成矩陣 object.img_data=img_code.tostring() #生成相應的字符串 try: #按照相應的格式進行打包發送圖片 client.send(struct.pack('lhh',len(object.img_data),object.resolution[0],object.resolution[1])+object.img_data) except: camera.release() #釋放資源 returnif __name__ == ’__main__’: camera=Carame_Accept_Object() while(1): client,D_addr=camera.server.accept() clientThread=threading.Thread(None,target=RT_Image,args=(camera,client,D_addr,)) clientThread.start()

客戶端分析:

1. 客戶端連接端口后,首先發送需要協商的分辨率和幀數,以致能夠使傳輸“協議”一致

2. 客戶端使用線程,對圖片進行收集

3. 對收到的每一張圖片進行解碼,并利用OpenCV播放出來,即可實現C/S兩端實時視頻傳輸。

#客戶端import socketimport cv2import threadingimport structimport numpyclass Camera_Connect_Object: def __init__(self,D_addr_port=['',8880]): self.resolution=[640,480] self.addr_port=D_addr_port self.src=888+15 #雙方確定傳輸幀數,(888)為校驗值 self.interval=0 #圖片播放時間間隔 self.img_fps=15 #每秒傳輸多少幀數 def Set_socket(self): self.client=socket.socket(socket.AF_INET,socket.SOCK_STREAM) self.client.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) def Socket_Connect(self): self.Set_socket() self.client.connect(self.addr_port) print('IP is %s:%d' % (self.addr_port[0],self.addr_port[1])) def RT_Image(self): #按照格式打包發送幀數和分辨率 self.name=self.addr_port[0]+' Camera' self.client.send(struct.pack('lhh', self.src, self.resolution[0], self.resolution[1])) while(1): info=struct.unpack('lhh',self.client.recv(8)) buf_size=info[0] #獲取讀的圖片總長度 if buf_size:try: self.buf=b''#代表bytes類型 temp_buf=self.buf while(buf_size): #讀取每一張圖片的長度 temp_buf=self.client.recv(buf_size) buf_size-=len(temp_buf) self.buf+=temp_buf #獲取圖片 data = numpy.fromstring(self.buf, dtype=’uint8’) #按uint8轉換為圖像矩陣 self.image = cv2.imdecode(data, 1) #圖像解碼 cv2.imshow(self.name, self.image) #展示圖片except: pass;finally: if(cv2.waitKey(10)==27): #每10ms刷新一次圖片,按‘ESC’(27)退出 self.client.close() cv2.destroyAllWindows() break def Get_Data(self,interval): showThread=threading.Thread(target=self.RT_Image) showThread.start()if __name__ == ’__main__’: camera=Camera_Connect_Object() camera.addr_port[0]='服務端的ip' camera.addr_port=tuple(camera.addr_port) camera.Socket_Connect() camera.Get_Data(camera.interval

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久这里只有精品一区二区| 最新国产精品| 国产精品久久久久77777丨| 亚洲精品综合| 久久午夜精品一区二区| 国产手机视频一区二区| 免费久久久久久久久| 国产综合婷婷| 久久久久久久久久久9不雅视频| 日韩综合一区| 在线天堂资源www在线污| 偷拍亚洲精品| 国产精品久久久久蜜臀| 久久免费高清| 老司机精品久久| 亚洲一区日韩| 亚洲欧美日韩国产一区二区| 麻豆精品蜜桃视频网站| 四虎4545www国产精品 | 91久久视频| 国产精品最新自拍| 极品av在线| 色综合视频一区二区三区日韩| 91精品国产自产在线丝袜啪| 日韩一区二区三区在线看| 日韩精品国产精品| 国产a久久精品一区二区三区| 亚洲一区日本| 欧美日韩亚洲一区二区三区在线| 精品视频97| 欧美亚洲在线日韩| 99久久亚洲精品蜜臀| 好看不卡的中文字幕| 最新亚洲国产| 欧美久久天堂| 亚洲久久视频| 精品免费视频| 五月天久久777| 日韩中文字幕一区二区高清99| 久久精品亚洲| 免费观看久久av| 欧美色综合网| 成人av三级| 911精品国产| 欧洲激情综合| 日韩电影免费网址| 蜜臀av一区二区在线免费观看| 精品国产欧美| 日韩亚洲国产欧美| 六月婷婷综合| 成人在线超碰| 国产欧美日韩在线一区二区| а√在线中文在线新版| 国产精品www.| 欧美日韩在线二区| 欧美二区视频| 天堂成人免费av电影一区 | 激情久久久久久久| 精品福利久久久| 欧美在线资源| 91精品1区| 亚洲涩涩在线| 亚洲一级影院| 久久久777| 都市激情国产精品| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 精品视频国产| 国产精品一区亚洲| 蜜臀久久久99精品久久久久久| 欧洲亚洲一区二区三区| 视频一区日韩精品| 最新国产精品| 蜜臀久久99精品久久久久宅男| 日韩av一级| 97精品国产一区二区三区| 久久狠狠久久| 老鸭窝一区二区久久精品| 国内揄拍国内精品久久| 久久精品理论片| 日韩国产综合| 婷婷亚洲综合| 欧美aa在线视频| 伊人久久成人| 成人在线网站| 欧美在线日韩| 六月天综合网| 日本免费一区二区三区四区| 免费av一区二区三区四区| 亚洲精品.com| 欧美在线不卡| 亚洲九九精品| 日韩午夜精品| 久久久久免费| 日韩视频一二区| 国产精品腿扒开做爽爽爽挤奶网站| 国产日韩欧美一区二区三区| 99pao成人国产永久免费视频| 国产日本亚洲| 红桃视频亚洲| 亚洲午夜在线| 秋霞国产精品| 国产精品1luya在线播放| 99亚洲视频| 亚洲激情五月| 亚洲一区亚洲| 欧美日韩四区| 欧美女激情福利| 精品亚洲美女网站| 国产一区二区三区不卡av| 午夜亚洲福利| 中文字幕一区二区精品区| 国产亚洲在线| 亚洲欧美日韩视频二区| 久久在线视频免费观看| 欧美日韩国产精品一区二区亚洲| 日韩国产一二三区| 在线日韩av| 色综合五月天| 国产成人精品一区二区三区免费| 日韩精品久久理论片| 日韩中文字幕一区二区三区| 成人av二区| 九一国产精品| 亚洲成av在线| 久久九九99| 久久精品影视| 久久久久久久久99精品大| 精品高清久久| 精品亚洲a∨| 精品视频一区二区三区四区五区| 国产麻豆一区二区三区| 国产欧美丝祙| 国产在线一区不卡| 午夜影院一区| 亚洲一区日本| 亚洲精品一二| 欧美一区免费| 国产成人1区| 99久久99久久精品国产片果冰| 亚洲一级特黄| 亚洲尤物在线| 国产丝袜一区| 综合日韩av| 成人羞羞在线观看网站| 亚洲一本视频| 日韩精品1区2区3区| 国产精品麻豆成人av电影艾秋| 久久精品国内一区二区三区| 欧美日韩免费观看视频| 在线一区免费| 国产日韩一区| 日本精品影院| 日本综合视频| 国内自拍视频一区二区三区| 美女少妇全过程你懂的久久| 视频一区中文字幕国产| 久久免费影院| 蜜臀久久久99精品久久久久久| 97久久超碰| 悠悠资源网久久精品| 日本午夜精品一区二区三区电影 | 欧美1区2区3| 91成人精品| 精品国产欧美日韩| 亚洲毛片一区| 国产一区二区中文| 国产精品jk白丝蜜臀av小说| 亚洲午夜精品久久久久久app| 日韩黄色av| 久久国产日韩| 精品91福利视频| 欧美日韩一区二区三区不卡视频 | 四虎国产精品免费观看| 亚洲人成在线影院| 欧美日韩国产传媒| 国产福利91精品一区二区| 一级欧美视频| 欧美综合二区| 99久久久久国产精品| 四虎成人精品一区二区免费网站| 久久国产毛片| 在线一区av| 久久久男人天堂| av综合电影网站| 日韩久久视频| 国产亚洲一区二区手机在线观看| 国产在线观看91一区二区三区| 国产午夜一区| 国产精品亚洲成在人线| 欧美日韩一区二区三区不卡视频| 一区二区电影| 涩涩涩久久久成人精品| 伊人久久大香伊蕉在人线观看热v| 国产精品社区| 亚洲欧美视频| 蜜臀va亚洲va欧美va天堂| 亚洲开心激情| 国产精品主播在线观看| 美女av一区| 亚洲www免费|