android - 从 android studio 编码并在 python raspberry pi 中解码的图片
问题描述
我想将一些文本和图片从 Android 应用程序传送到 Raspberry Pi……我已经发送了文本消息并完美解码……但问题是解码图片……我认为我得到了正确的解码……
from socket import *
from time import ctime
ctrCmd = ['Up','Down']
HOST = ''
PORT = 21567
BUFSIZE = 1024
ADDR = (HOST,PORT)
tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)
while True:
print ('Waiting for connection')
tcpCliSock,addr = tcpSerSock.accept()
print ('...connected from :', addr)
try:
while True:
data = ''
data = tcpCliSock.recv(BUFSIZE)
print(data)
data = str(data,encoding='utf-8')
if not data:
break
if data == ctrCmd[0]:
print ('Up')
if data == ctrCmd[1]:
print ('Down')
except KeyboardInterrupt:
break
tcpSerSock.close();
这是Android编码代码
imageUri = data.getData();
final InputStream imageStream =
getContentResolver().openInputStream(imageUri);
final Bitmap selectedImage =
BitmapFactory.decodeStream(imageStream);
imageView.setImageURI(imageUri);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
selectedImage.compress(Bitmap.CompressFormat.JPEG, 0, bos);
array = bos.toByteArray();
这些是 Android 编码和 python 解码代码图片,我正在分享我在发送文本和图片时收到的内容....感谢您的帮助,我很早就需要它....谢谢
解决方案
data = ''
data = tcpCliSock.recv(BUFSIZE)
#data = str(data,encoding='utf-8')
nparr =
np.fromstring(data.decode('utf-8'),np.uint8)
print(nparr)
应用这个我得到了一些数组显示在附图中 但是当我应用这条线时
#img = cv2.imdecode(nparr,
cv2.IMREAD_ANYCOLOR)
推荐阅读
- node.js - 如何限制 serverless lambda 函数
- r - 如何将我的 GARCH 模型拟合到 R 中的时间序列?
- angular - 使用 Angular 6 指令在组件上设置属性
- c++ - 如何在向量中找到向量
- assembly - MIPS MARS:带有浮点的奇怪错误
- ruby-on-rails - 如何在 Ruby 中舍入坐标字符串的两个单独部分?
- ruby-on-rails - 了解为什么值不是 rails 回调规范中所期望的
- python-3.x - sum() 函数如何在 python 中工作?
- r - 基于两个输入向量构建网格
- azure-devops - VSTS 代理在 IIS 使用时无法覆盖或删除 DLL