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()
```

相关文章
|
2月前
|
人工智能 自然语言处理 安全
新浪微博AIGC业务应用探索-AIGC应用平台助力业务提效实践
本次分享围绕AIGC技术在新浪微博的应用展开,涵盖四个部分。首先分析AIGC为微博带来的机遇与挑战,特别是在内容安全和模型幻觉等问题上的应对策略;其次介绍通过工程架构快速实现AIGC技术落地的方法,包括统一部署模型和服务编排;接着展示AIGC在微博的具体应用场景,如评论互动、视频总结和智能客服等;最后展望未来,探讨大模型的发展趋势及其在多模态和特定业务场景中的应用前景。
|
13天前
|
人工智能 自然语言处理 搜索推荐
【潜意识Java】了解并详细分析Java与AIGC的结合应用和使用方式
本文介绍了如何将Java与AIGC(人工智能生成内容)技术结合,实现智能文本生成。
39 5
|
4月前
|
机器学习/深度学习 人工智能 缓存
基于AIGC的自动化内容生成与应用
基于AIGC的自动化内容生成与应用
183 3
|
4月前
|
机器学习/深度学习 自然语言处理 Go
Python与Go在AIGC领域的应用:比较与分析
Python与Go在AIGC领域的应用:比较与分析
91 0
|
6月前
|
机器学习/深度学习 数据采集 人工智能
作为AIGC技术的一种应用-bard
8月更文挑战第22天
95 15
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
|
6月前
|
机器学习/深度学习 自然语言处理 监控
|
6月前
|
机器学习/深度学习 设计模式 人工智能
面向对象方法在AIGC和大数据集成项目中的应用
【8月更文第12天】随着人工智能生成内容(AIGC)和大数据技术的快速发展,企业面临着前所未有的挑战和机遇。AIGC技术能够自动产生高质量的内容,而大数据技术则能提供海量数据的支持,两者的结合为企业提供了强大的竞争优势。然而,要充分利用这些技术,就需要构建一个既能处理大规模数据又能高效集成机器学习模型的集成框架。面向对象编程(OOP)以其封装性、继承性和多态性等特点,在构建这样的复杂系统中扮演着至关重要的角色。
89 3
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
AIGC在创意产业的应用与影响
【7月更文第27天】近年来,人工智能生成内容(AI-Generated Content, AIGC)的发展为创意产业带来了前所未有的机遇。从艺术创作到音乐制作,再到游戏设计和广告营销,AIGC正在以惊人的速度改变着这些领域的面貌。本文将探讨AIGC在创意产业中的应用,并通过具体的代码示例来展示如何利用Python等工具创建一些基本的生成模型。
139 6
|
7月前
|
弹性计算 人工智能 自然语言处理
通义万相AIGC快速生成图像体验测评
通义万相AI绘画创作部署与体验。

热门文章

最新文章