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

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

视频链接:https://www.bilibili.com/video/BV1d14y1D7Ls/?vd_source=318ba162cfbc27c25a6c80bb0332554c
```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()
```

相关文章
|
12月前
|
人工智能 前端开发 搜索推荐
利用通义灵码和魔搭 Notebook 环境快速搭建一个 AIGC 应用 | 视频课
当我们熟悉了通义灵码的使用以及 Notebook 的环境后,大家可以共同探索 AIGC 的应用的更多玩法。
958 124
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
AIGC技术深度解析:生成式AI的革命性突破与产业应用实战
蒋星熠Jaxonic,AI技术探索者,深耕生成式AI领域。本文系统解析AIGC核心技术,涵盖Transformer架构、主流模型对比与实战应用,分享文本生成、图像创作等场景的实践经验,展望技术趋势与产业前景,助力开发者构建完整认知体系,共赴AI原生时代。
1292 2
|
人工智能 自然语言处理 安全
新浪微博AIGC业务应用探索-AIGC应用平台助力业务提效实践
本次分享围绕AIGC技术在新浪微博的应用展开,涵盖四个部分。首先分析AIGC为微博带来的机遇与挑战,特别是在内容安全和模型幻觉等问题上的应对策略;其次介绍通过工程架构快速实现AIGC技术落地的方法,包括统一部署模型和服务编排;接着展示AIGC在微博的具体应用场景,如评论互动、视频总结和智能客服等;最后展望未来,探讨大模型的发展趋势及其在多模态和特定业务场景中的应用前景。
|
机器学习/深度学习 人工智能 自然语言处理
AIGC技术发展与应用实践(一文读懂AIGC)
AIGC(人工智能生成内容)是利用AI技术生成文本、图像、音频、视频等内容的重要领域。其发展历程包括初期探索、应用拓展和深度融合三大阶段,核心技术涵盖数据收集、模型训练、内容生成、质量评估及应用部署。AIGC在内容创作、教育、医疗、游戏、商业等领域广泛应用,未来将向更大规模、多模态融合和个性化方向发展。但同时也面临伦理法律和技术瓶颈等挑战,需在推动技术进步的同时加强规范与监管,以实现健康可持续发展。
|
人工智能 自然语言处理 搜索推荐
【潜意识Java】了解并详细分析Java与AIGC的结合应用和使用方式
本文介绍了如何将Java与AIGC(人工智能生成内容)技术结合,实现智能文本生成。
1381 5
|
机器学习/深度学习 人工智能 缓存
基于AIGC的自动化内容生成与应用
基于AIGC的自动化内容生成与应用
775 3
|
机器学习/深度学习 数据采集 人工智能
作为AIGC技术的一种应用-bard
8月更文挑战第22天
390 15
|
机器学习/深度学习 人工智能 自然语言处理
|
机器学习/深度学习 自然语言处理 监控

热门文章

最新文章