电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

python 利用opencv實現圖像網絡傳輸

瀏覽:18日期:2022-07-05 16:55:25

本代碼主要實現的是利用網絡傳輸圖片,用在我的樹莓派項目之上。該項目在PC上運行服務端,樹莓派上運行客戶端,兩者連接到同一局域網中,修改代碼中的IP地址,就可以實現將樹莓派采集到的圖像數據實時傳輸到PC端。先運行服務端代碼,然后運行客戶端代碼即可。樹莓派攝像頭使用的是普通的USB攝像頭,并且在樹莓派上安裝了opencv,在樹莓派上安裝opencv的過程可以參考https://www.pyimagesearch.com/2017/09/04/raspbian-stretch-install-opencv-3-python-on-your-raspberry-pi/。最后,該代碼稍加修改就可以傳輸其他的信息,當然服務端,客戶端也可以同時在PC上運行,以驗證結果。所以本質還是希望讀者借此代碼可以了解python的socket編程。代碼意義已在注釋中詳細說明,僅供參考。使用時請注意修改IP地址和端口號。

服務端代碼

import socketimport timeimport cv2import numpy def ReceiveVideo():#IP地址’0.0.0.0’為等待客戶端連接address = (’0.0.0.0’, 8002)#建立socket對象,參數意義見https://blog.csdn.net/rebelqsp/article/details/22109925#socket.AF_INET:服務器之間網絡通信 #socket.SOCK_STREAM:流式socket , for TCPs = socket.socket(socket.AF_INET, socket.SOCK_STREAM)#將套接字綁定到地址, 在AF_INET下,以元組(host,port)的形式表示地址.s.bind(address)#開始監聽TCP傳入連接。參數指定在拒絕連接之前,操作系統可以掛起的最大連接數量。該值至少為1,大部分應用程序設為5就可以了。s.listen(1) def recvall(sock, count):buf = b’’#buf是一個byte類型while count:#接受TCP套接字的數據。數據以字符串形式返回,count指定要接收的最大數據量.newbuf = sock.recv(count)if not newbuf: return Nonebuf += newbufcount -= len(newbuf)return buf#接受TCP連接并返回(conn,address),其中conn是新的套接字對象,可以用來接收和發送數據。addr是連接客戶端的地址。#沒有連接則等待有連接conn, addr = s.accept()print(’connect from:’+str(addr))while 1:start = time.time()#用于計算幀率信息length = recvall(conn,16)#獲得圖片文件的長度,16代表獲取長度stringData = recvall(conn, int(length))#根據獲得的文件長度,獲取圖片文件data = numpy.frombuffer(stringData, numpy.uint8)#將獲取到的字符流數據轉換成1維數組decimg=cv2.imdecode(data,cv2.IMREAD_COLOR)#將數組解碼成圖像cv2.imshow(’SERVER’,decimg)#顯示圖像#進行下一步處理#。#。#。 #將幀率信息回傳,主要目的是測試可以雙向通信end = time.time()seconds = end - startfps = 1/seconds;conn.send(bytes(str(int(fps)),encoding=’utf-8’))k = cv2.waitKey(10)&0xffif k == 27:breaks.close()cv2.destroyAllWindows() if __name__ == ’__main__’:ReceiveVideo()

客戶端代碼:

import socketimport cv2import numpyimport time def SendVideo():#建立sock連接#address要連接的服務器IP地址和端口號address = (’127.0.0.1’, 8002)try:#建立socket對象,參數意義見https://blog.csdn.net/rebelqsp/article/details/22109925#socket.AF_INET:服務器之間網絡通信 #socket.SOCK_STREAM:流式socket , for TCPsock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#開啟連接sock.connect(address)except socket.error as msg:print(msg)sys.exit(1) #建立圖像讀取對象capture = cv2.VideoCapture(0)#讀取一幀圖像,讀取成功:ret=1 frame=讀取到的一幀圖像;讀取失敗:ret=0ret, frame = capture.read()#壓縮參數,后面cv2.imencode將會用到,對于jpeg來說,15代表圖像質量,越高代表圖像質量越好為 0-100,默認95encode_param=[int(cv2.IMWRITE_JPEG_QUALITY),15] while ret:#停止0.1S 防止發送過快服務的處理不過來,如果服務端的處理很多,那么應該加大這個值time.sleep(0.01)#cv2.imencode將圖片格式轉換(編碼)成流數據,賦值到內存緩存中;主要用于圖像數據格式的壓縮,方便網絡傳輸#’.jpg’表示將圖片按照jpg格式編碼。result, imgencode = cv2.imencode(’.jpg’, frame, encode_param)#建立矩陣data = numpy.array(imgencode)#將numpy矩陣轉換成字符形式,以便在網絡中傳輸stringData = data.tostring()#先發送要發送的數據的長度#ljust() 方法返回一個原字符串左對齊,并使用空格填充至指定長度的新字符串sock.send(str.encode(str(len(stringData)).ljust(16)));#發送數據sock.send(stringData);#讀取服務器返回值receive = sock.recv(1024)if len(receive):print(str(receive,encoding=’utf-8’))#讀取下一幀圖片ret, frame = capture.read()if cv2.waitKey(10) == 27:breaksock.close()if __name__ == ’__main__’:SendVideo()

以上就是python 利用opencv實現圖像網絡傳輸的詳細內容,更多關于python 圖像網絡傳輸的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 潜水搅拌机-双曲面搅拌机-潜水推进器|奥伯尔环保 | 桐城新闻网—桐城市融媒体中心主办 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 专业的新乡振动筛厂家-振动筛品质保障-环保振动筛价格—新乡市德科筛分机械有限公司 | 400电话_400电话申请_866元/年_【400电话官方业务办理】-俏号网 3dmax渲染-效果图渲染-影视动画渲染-北京快渲科技有限公司 | 上海阳光泵业制造有限公司 -【官方网站】 | 飞扬动力官网-广告公司管理软件,广告公司管理系统,喷绘写真条幅制作管理软件,广告公司ERP系统 | 郑州大巴车出租|中巴车租赁|旅游大巴租车|包车|郑州旅游大巴车租赁有限公司 | 缠绕机|缠绕膜包装机|缠绕包装机-上海晏陵智能设备有限公司 | 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌 | 超声骨密度仪-动脉硬化检测仪器-人体成分分析仪厂家/品牌/价格_南京科力悦 | 珠海网站建设_响应网站建设_珠海建站公司_珠海网站设计与制作_珠海网讯互联 | 安徽华耐泵阀有限公司-官方网站| 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 贵州成人高考网_贵州成考网 | 机械加工_绞车配件_立式离心机_减速机-洛阳三永机械厂 | 防爆型气象站_农业气象站_校园气象站_农业四情监测系统「山东万象环境科技有限公司」 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 耐酸泵,耐酸泵厂家-淄博华舜耐腐蚀真空泵| 120kv/2mA直流高压发生器-60kv/2mA-30kva/50kv工频耐压试验装置-旭明电工 | 彼得逊采泥器-定深式采泥器-电动土壤采样器-土壤样品风干机-常州索奥仪器制造有限公司 | 北京成考网-北京成人高考网 | 硫酸钡厂家_高光沉淀硫酸钡价格-河南钡丰化工有限公司 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 磁力反应釜,高压釜,实验室反应釜,高温高压反应釜-威海自控反应釜有限公司 | 火锅底料批发-串串香技术培训[川禾川调官网] | 撕碎机,撕破机,双轴破碎机-大件垃圾破碎机厂家 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | 商标转让-商标注册-商标查询-软著专利服务平台 - 赣江万网 | 搅拌磨|搅拌球磨机|循环磨|循环球磨机-无锡市少宏粉体科技有限公司 | 深圳高新投三江工业消防解决方案提供厂家_服务商_园区智慧消防_储能消防解决方案服务商_高新投三江 | 齿轮减速马达一体式_蜗轮蜗杆减速机配电机-德国BOSERL齿轮减速电动机生产厂家 | 滁州高低温冲击试验箱厂家_安徽高低温试验箱价格|安徽希尔伯特 | 注浆压力变送器-高温熔体传感器-矿用压力传感器|ZHYQ朝辉 | CCC验厂-家用电器|服务器CCC认证咨询-奥测世纪 | 管理会计网-PCMA初级管理会计,中级管理会计考试网站 | 智能楼宇-楼宇自控系统-楼宇智能化-楼宇自动化-三水智能化 | 净化板-洁净板-净化板价格-净化板生产厂家-山东鸿星新材料科技股份有限公司 | 香蕉筛|直线|等厚|弧形|振动筛|香蕉筛厂家-洛阳隆中重工 |