Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >AIGC与AidLux互联应用—Aidlux端AIGC测评

AIGC与AidLux互联应用—Aidlux端AIGC测评

原创
作者头像
用户10559524
发布于 2023-06-03 09:42:53
发布于 2023-06-03 09:42:53
27300
代码可运行
举报
文章被收录于专栏:AidLuxAidLux
运行总次数:0
代码可运行

本帖子源于AidLux面向众多开发者的AIGC训练营,目的在于实现使用stablediffusion生成图片传输到AidLux端实现目标检测。分享部分传输检测代码及其实现视频如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import socket
import cv2
import numpy as np
import time
import sys
 
### 本代码主要是客户端代码,aidlux上的Socket_fuwuduan.py是匹配的服务端代码,当服务端代码启动时,由本代码读取一张图片,推送过去
 
def recvall(sock, count):
    buf = b''  # buf是一个byte类型
    while count:
        newbuf = sock.recv(count)
        if not newbuf: return None
        buf += newbuf
        count -= len(newbuf)
    return buf
 
def SendAIGC():
    # 建立sock连接
    # address要连接的aidlux服务器IP地址和端口号
    address = ('192.168.137.116', 9023)
    try:
        # 建立socket对象
        # socket.AF_INET:服务器之间网络通信
        # socket.SOCK_STREAM:流式socket , for TCP
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        # 开启连接
        sock.connect(address)
    except socket.error as msg:
        print(msg)
        sys.exit(1)
 
    ###########传送AIGC图片#################
    ## 如果本地没有GPU
    if 1:
        frame = cv2.imread("car.png")
        # # 压缩参数,后面cv2.imencode将会用到,对于jpeg来说,15代表图像质量,越高代表图像质量越好为 0-100,默认95
        encode_param = [int(cv2.IMWRITE_JPEG_QUALITY), 95]
        # cv2.imencode将图片格式转换(编码)成流数据,赋值到内存缓存中;主要用于图像数据格式的压缩,方便网络传输
        # '.jpg'表示将图片按照jpg格式编码。
        result, imgencode = cv2.imencode('.jpg', frame, encode_param)
        # 建立矩阵
        data = np.array(imgencode)
        # 将numpy矩阵转换成字符形式,以便在网络中传输
        stringData = data.tostring()
 
        # 先发送要发送的数据的长度
        # ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串
        sock.send(str.encode(str(len(stringData)).ljust(16)))
        # 发送数据
        sock.send(stringData)
    ### 如果本地有GPU
    # if 0:
    #     ### 本地生成AIGC图片 ###
    #     ## 添加AIGC代码 ##
    #     #####################
    #     frame = cv2.imread("car.png")
    #     # # 压缩参数,后面cv2.imencode将会用到,对于jpeg来说,15代表图像质量,越高代表图像质量越好为 0-100,默认95
    #     encode_param = [int(cv2.IMWRITE_JPEG_QUALITY), 95]
    #     # cv2.imencode将图片格式转换(编码)成流数据,赋值到内存缓存中;主要用于图像数据格式的压缩,方便网络传输
    #     # '.jpg'表示将图片按照jpg格式编码。
    #     result, imgencode = cv2.imencode('.jpg', frame, encode_param)
    #     # 建立矩阵
    #     data = np.array(imgencode)
    #     # 将numpy矩阵转换成字符形式,以便在网络中传输
    #     stringData = data.tostring()
 
    #     # 先发送要发送的数据的长度
    #     # ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串
    #     sock.send(str.encode(str(len(stringData)).ljust(16)))
    #     # 发送数据
    #     sock.send(stringData)
 
    # 读取服务器返回值
    receive = sock.recv(1000)
    receive1 = sock.recv(1000)
    receive2 = sock.recv(1000)
    i = 0
    if len(receive):
        print("图片发送成功")
        print("检测类别及其数目:")
        print(str(receive, encoding='utf-8'),str(receive1, encoding='utf-8'))
        
        # print(str(receive2, encoding='utf-8'))
 ### 之前接受的帧率数据,现在换成image流数据
 
    sock.close()
 
if __name__ == '__main__':
    SendAIGC()

该部分代码用于传输生成的图片到Aidlux端,并且接受返回的回馈信息。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
树莓派/PC实现实时摄像头数据共享(Python—OpenCV)
使用Python和OpenCV实现树莓派/PC实时摄像头数据共享,主要分为服务器和客户端两部分。
不脱发的程序猿
2021/01/20
1.3K0
手把手教你完成图像分类实战——基于卷积神经网络的图像识别
在很多的项目中,都会用到图像识别技术。我在智能电子秤的项目中,就使用了简单的图像识别算法来完成对果蔬的分类(三分类)。 图像识别中,最常用的框架就是TensorFlow,我们今天就使用这个框架,手把手教学完成图像识别分类。 完成一个图像识别模块主要包括四步:
全栈程序员站长
2022/07/01
9000
手把手教你完成图像分类实战——基于卷积神经网络的图像识别
物联网下的数据传输,Python 就能搞定!
物联网是新一代信息技术的重要组成部分,也是"信息化"时代的重要发展阶段。顾名思义,物联网就是物物相连的互联网。这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是物物相息。物联网通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。而物联网最为核心的功能便是数据传输功能,利用互联网实现数据在任何可以接受数据的设备平台上达到传输效果,其中设备可以包括:本地PC、服务器、树莓派、手机、手环等等。
AI科技大本营
2021/02/05
1.6K0
ESP32 Cam网络流传输
先建立一个Sock的对象,然后循环的发送就好,最后关闭。这里是一帧一帧的发出去的。
云深无际
2022/04/15
1.7K2
ESP32 Cam网络流传输
hctf_game_week1_writeup
假期难得有时间空闲下来,就和协会的小伙伴组织了一次比较简单的ctf比赛针对学校的学弟学妹们,这里就贴上每一次的writeup,以供整理复习用。
LoRexxar
2023/02/20
1780
python socket 网络编程s
class Server(object): def init(self,sel,sock): self.sel = sel self.sock = sock
py3study
2020/01/08
5710
Python 一个简单的python socket编程
http://blog.csdn.net/winnie8829/article/details/37874355
bear_fish
2018/09/20
6270
Python Socket通讯例子详解
python中内置的socket模块使得网络编程更加简单化,下面就通过两个小小脚本来了解客户端如何与服务器端建立socket。
py3study
2020/01/06
9030
Python 标准类库 - 因特网协议与支持之socketserver
1 通过子类化BaseRequestHandler 类,创建一个请求处理程序,并且重写handle()方法,该方法将处理接收到的请求
授客
2019/09/10
6490
Python 标准类库 - 因特网协议与支持之socketserver
python socket 进行文件上
#coding:utf-8 import SocketServer import os import datetime import MySQLdb class mysql: def init(self): self.connect = MySQLdb.connect( host = '192.168.221.203', user = 'hall', passwd = '520157', port = 3306, db = 'info', charset = 'utf8' ) def mysql_create_table_info(self): cursor = self.connect.cursor() sql = """create table if not exists info( action char(20), actin_time varchar(40), file_size varchar(20), file_name varchar(40), operation_user char(20) )""" cursor.execute(sql) cursor.close() self.connect.commit() self.connect.close() def mysql_create_table_user(self): cursor = self.connect.cursor() sql_user = """create table if not exists user( user varchar(20), passwd varchar(40) )""" cursor.execute(sql_user) data = """insert into user values( "hall", "hall"), ("hexulin", "hexulin")""" cursor.execute(data) cursor.close() self.connect.commit() self.connect.close()
py3study
2020/01/10
4540
安全的数据库图形管理工具(2):三个问题
之前我只是用两个短字节序列来进行密钥测试,那两个字节序列都比较短,可是我在进行进一步测试的时候发现长字节序列无法被加密,不相信的话我可以尝试一下。
不可言诉的深渊
2019/07/26
6350
什么是TCP粘包、拆包
【玩转 GPU】AI绘画、AI文本、AI翻译、GPU点亮AI想象空间-腾讯云开发者社区-腾讯云 (tencent.com)
疯狂的KK
2023/07/04
1.1K0
什么是TCP粘包、拆包
python实现单工、半双工、全双工聊天室
半双工实现是连接建立以后,服务器等待客户端发送消息,客户端发送消息后等待接收服务器,这样一来一回循环往复下去。直到出现quit,关闭连接。
Ewdager
2020/07/14
1.7K0
第二天培训小笔记
第一次握手:建立连接,客户端发送syn包到服务器,等待确认 (SYN:同步序列编号) 第二次握手:服务器确认客户的syn包,同时自己也发送一个确认包ACK给客户端 第三次握手:客户端收到服务器的SYN和ACK确认包,向服务器也发送一个ACK确认包,这个时候,客户端就和服务端完成了三次握手,TCP连接成功
Elapse
2020/08/17
3120
面向对象之套接字(socket)和黏包
 一丶套接字(socket)   tcp是基于链接的,必须先启动服务端,然后再启动客户端去链接服务端   基于UDP协议的socket   server端: import socket udp_sk = socket.socket(type=socket.SOCK_DGRAM) #创建一个服务器的套接字 udp_sk.bind(('127.0.0.1',9000)) #绑定服务器套接字 msg,addr = udp_sk.recvfrom(1024) print(msg) udp_sk.s
py3study
2020/01/19
5940
面向对象之套接字(socket)和黏包
迷你元宇宙——用python构建一个简单的元宇宙
然后彼此之间可以交流信息。比如 a 发消息给 b,b 可以发消息给 a,同时可以将消息广播出去,也就是成员之间,可以私信 和 群聊。
查理不是猹
2021/12/22
1.1K1
使用OpenCV进行直播(附代码)
生活中我们不止一次地使用过直播,但从未想过如何通过编程实现。大家好,我们在这里向大家介绍如何使用OpenCV和python的套接字编程。今天,我们将借助OpenCV和socket编程创建一个实时流媒体应用程序,我们将从头开始为服务器和客户端开发代码。
小白学视觉
2022/02/11
1K0
使用OpenCV进行直播(附代码)
python之socket编程
socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)
全栈程序员站长
2022/09/14
5990
python之socket编程
Python3快速入门(十)——Pyth
Python 提供了两个级别访问的网络服务,低级别的网络服务支持基本的 Socket,提供了标准的BSD Sockets API,可以访问底层操作系统Socket接口的全部方法;高级别的网络服务模块 SocketServer, 提供了服务器中心类,可以简化网络服务器的开发。 socket不支持多并发,socketserver是对socket的再封装,简化网络服务器版的开发。
py3study
2020/01/03
1.1K0
相关推荐
树莓派/PC实现实时摄像头数据共享(Python—OpenCV)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验