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

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

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

瀏覽:20日期: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 編程
相關文章:
主站蜘蛛池模板: 植筋胶-粘钢胶-碳纤维布-碳纤维板-环氧砂浆-加固材料生产厂家-上海巧力建筑科技有限公司 | 福尔卡(北京)新型材料技术股份有限公司| 低气压试验箱_高低温低气压试验箱_低气压实验箱 |林频试验设备品牌 | 一体化污水处理设备_生活污水处理设备_全自动加药装置厂家-明基环保 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 冷库安装厂家_杭州冷库_保鲜库建设-浙江克冷制冷设备有限公司 | 万家财经_财经新闻_在线财经资讯网 | 石家庄装修设计_室内家装设计_别墅装饰装修公司-石家庄金舍装饰官网 | 泰来华顿液氮罐,美国MVE液氮罐,自增压液氮罐,定制液氮生物容器,进口杜瓦瓶-上海京灿精密机械有限公司 | 灰板纸、灰底白、硬纸板等纸品生产商-金泊纸业 | 蔬菜配送公司|蔬菜配送中心|食材配送|饭堂配送|食堂配送-首宏公司 | 无水硫酸铝,硫酸铝厂家-淄博双赢新材料科技有限公司 | 电梯装饰-北京万达中意电梯装饰有限公司 | 断桥铝破碎机_铝合金破碎机_废铁金属破碎机-河南鑫世昌机械制造有限公司 | 环境模拟实验室_液体-气体控温机_气体控温箱_无锡双润冷却科技有限公司 | 杭州|上海贴标机-百科| 食药成分检测_调料配方还原_洗涤剂化学成分分析_饲料_百检信息科技有限公司 | 国际线缆连接网 - 连接器_线缆线束加工行业门户网站 | 全自动翻转振荡器-浸出式水平振荡器厂家-土壤干燥箱价格-常州普天仪器 | 江苏南京多语种翻译-专业翻译公司报价-正规商务翻译机构-南京华彦翻译服务有限公司 | 甲级防雷检测仪-乙级防雷检测仪厂家-上海胜绪电气有限公司 | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 | 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 广州监控安装公司_远程监控_安防弱电工程_无线wifi覆盖_泉威安防科技 | 北京模型公司-军事模型-工业模型制作-北京百艺模型沙盘公司 | 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | 空调风机,低噪声离心式通风机,不锈钢防爆风机,前倾皮带传动风机,后倾空调风机-山东捷风风机有限公司 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 自动检重秤-动态称重机-重量分选秤-苏州金钻称重设备系统开发有限公司 | 密度电子天平-内校-外校电子天平-沈阳龙腾电子有限公司 | 刺绳_刀片刺网_刺丝滚笼_不锈钢刺绳生产厂家_安平县浩荣金属丝网制品有限公司-安平县浩荣金属丝网制品有限公司 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 世界箱包品牌十大排名,女包小众轻奢品牌推荐200元左右,男包十大奢侈品牌排行榜双肩,学生拉杆箱什么品牌好质量好 - Gouwu3.com | 浙江寺庙设计-杭州寺院设计-宁波寺庙规划_汉匠 | 宠物店加盟_宠物连锁店_开宠物店-【派多格宠物】 | 高铝砖-高铝耐火球-高铝耐火砖生产厂家-价格【荣盛耐材】 | 垃圾处理设备_餐厨垃圾处理设备_厨余垃圾处理设备_果蔬垃圾处理设备-深圳市三盛环保科技有限公司 | 不锈钢散热器,冷却翅片管散热器厂家-无锡市烨晟化工装备科技有限公司 | 常州律师事务所_常州律所_常州律师-江苏乐天律师事务所 |