linux系统服务器A读取远程linux系统服务器B文件(以cv读图文件为列)

linux系统服务器A读取远程linux系统服务器B文件(以cv读图文件为列)

文章目录


前言

当一个服务器需要处理另一个服务器上已知图像的绝对路径时,可以使用 Paramiko 库连接到远程服务器并读取图像,然后使用 OpenCV(cv2)库在本地服务器上加载和处理图像。以下是示例代码,演示了如何使用 Paramiko 和 cv2 库来实现这一操作。本文就给出应用。


一、读取远程文件

如何使用 Paramiko 和 cv2 库来处理另一个服务器上已知图像的绝对路径。首先,我们使用 Paramiko 库连接到远程服务器,并通过 SFTP 协议从远程服务器读取图像文件。然后,我们将读取的图像数据转换为 NumPy 数组,并使用 cv2 库在本地服务器上加载图像进行处理。

这段代码的关键点在于使用 Paramiko 库建立与远程服务器的连接,通过 SFTP 协议从远程服务器读取图像文件,并将图像数据转换为适合 OpenCV 处理的格式。接着,我们使用 cv2 库加载图像并进行进一步的处理或分析。

 import paramiko import os import cv2 import numpy as np # 连接到远程服务器 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('192.168.2.93', username='ubuntu', password='ubuntu@123') # 远程服务器上的数据路径,类似os.listdir()函数 remote_data_path = '/home/auto_project/RTDETR/model_rtdetr/data' stdin, stdout, stderr = ssh.exec_command('ls ' + remote_data_path) file_list = stdout.read().decode('utf-8').splitlines() # 本地服务器上存储数据的路径 # local_data_path = '/path/to/local/data.csv' # 从远程服务器下载数据到本地 # sftp = ssh.open_sftp() # sftp.get(remote_data_path, local_data_path) # sftp.close() # 关闭远程连接 # ssh.close() # file_list是读取路径中所有文件 for name in file_list[:2]: if name[-3:] == 'jpg': path = os.path.join(remote_data_path, name) sftp = ssh.open_sftp() remote_file = sftp.open(path, 'r') image_data = remote_file.read() remote_file.close() sftp.close() # 将图像数据转换为numpy数组 image_array = np.frombuffer(image_data, np.uint8) # 使用cv2库在本地服务器上加载图像 image = cv2.imdecode(image_array, cv2.IMREAD_COLOR) print(image) if __name__ == '__main__': pass 

二、应用解释

在这个示例中,我们演示了如何通过编写Python代码来实现从一个服务器读取另一个服务器上的图像文件并在本地服务器上进行处理。这种情况可能在分布式系统中的数据处理和机器学习模型训练中经常出现。首先,我们使用 Paramiko 库建立与远程服务器的安全连接。Paramiko 是一个用于远程操作的 Python 库,它支持SSH协议,可以用于执行命令、传输文件等操作。通过 Paramiko,我们可以安全地连接到远程服务器并执行各种操作。

接下来,我们使用 Paramiko 的 SFTP 功能从远程服务器读取图像文件。SFTP(SSH File Transfer Protocol)是通过 SSH 安全连接传输文件的协议。我们打开远程文件并读取其内容,然后关闭连接。得到的图像数据被转换为 NumPy 数组,这是因为 OpenCV 库通常与 NumPy 数组一起使用来表示图像数据。

最后,我们使用 OpenCV(cv2)库加载图像数据并在本地服务器上进行处理。OpenCV 是一个广泛使用的计算机视觉库,它提供了许多用于图像处理和计算机视觉任务的功能。在这个示例中,我们使用了 OpenCV 的 imdecode 函数来解码图像数据并将其加载为可用于进一步处理的图像对象。

总之,这段代码演示了如何使用 Paramiko 和 OpenCV 库来实现跨服务器的图像处理操作,为分布式系统中的数据处理和机器学习任务提供了一个简单而强大的示例。

Read more

最新电子电气架构(EEA)调研-3

而新一代的强实时性、高确定性,以及满足CAP定理的同步分布式协同技术(SDCT),可以实现替代TSN、DDS的应用,且此技术已经在无人车辆得到验证,同时其低成本学习曲线、无复杂二次开发工作,将开发人员的劳动强度、学习曲线极大降低,使开发人员更多的去完成算法、执行器功能完善。 五、各大车厂的EEA 我们调研策略是从公开信息中获得各大车厂的EEA信息,并在如下中进行展示。 我们集中了华为、特斯拉、大众、蔚来、小鹏、理想、东风(岚图)等有代表领先性的车辆电子电气架构厂商。        1、华为 图12 华为的CCA电子电气架构              (1)华为“计算+通信”CC架构的三个平台                         1)MDC智能驾驶平台;                         2)CDC智能座舱平台                         3)VDC整车控制平台。        联接指的是华为智能网联解决方案,解决车内、车外网络高速连接问题,云服务则是基于云计算提供的服务,如在线车主服务、娱乐和OTA等。 华

By Ne0inhk
Apache IoTDB 架构特性与 Prometheus+Grafana 监控体系部署实践

Apache IoTDB 架构特性与 Prometheus+Grafana 监控体系部署实践

Apache IoTDB 架构特性与 Prometheus+Grafana 监控体系部署实践 文章目录 * Apache IoTDB 架构特性与 Prometheus+Grafana 监控体系部署实践 * Apache IoTDB 核心特性与价值 * Apache IoTDB 监控面板完整部署方案 * 安装步骤 * 步骤一:IoTDB开启监控指标采集 * 步骤二:安装、配置Prometheus * 步骤三:安装grafana并配置数据源 * 步骤四:导入IoTDB Grafana看板 * TimechoDB(基于 Apache IoTDB)增强特性 * 总结与应用场景建议 Apache IoTDB 核心特性与价值 Apache IoTDB 专为物联网场景打造的高性能轻量级时序数据库,以 “设备 - 测点” 原生数据模型贴合物理设备与传感器关系,通过高压缩算法、百万级并发写入能力和毫秒级查询响应优化海量时序数据存储成本与处理效率,同时支持边缘轻量部署、

By Ne0inhk
SQL Server 2019安装教程(超详细图文)

SQL Server 2019安装教程(超详细图文)

SQL Server 介绍) SQL Server 是由 微软(Microsoft) 开发的一款 关系型数据库管理系统(RDBMS),支持结构化查询语言(SQL)进行数据存储、管理和分析。自1989年首次发布以来,SQL Server 已成为企业级数据管理的核心解决方案,广泛应用于金融、电商、ERP、CRM 等业务系统。它提供高可用性、安全性、事务处理(ACID)和商业智能(BI)支持,并支持 Windows 和 Linux 跨平台部署。 一、获取 SQL Server 2019 安装包 1. 官方下载方式 前往微软官网注册账号后,即可下载 SQL Server Developer 版本(

By Ne0inhk