上下位机串口通信 python_怎么将图片通过串口发送给下位机?

本文探讨了一位新手尝试通过Python实现上位机与C51下位机之间的串口通信,目的是建立一台激光打印机。作者运用了抖动算法处理图像,并展示了一段读取和处理图片的Python代码,但遇到如何将处理后的图片通过串口发送给下位机的问题。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

是这样的,本人小白一枚,最近有一个想法,想用python做上位机 C51做下位机做一台激光打印机,两个我都刚学不久,所以都不太了解,图像处理我用了抖动算法,效果也比较理想,但如何通过串口将图片发给下位机,真的做不出来,求大佬指点

附上编好的程序

import cv2 as cv

import serial

#读取图片

import numpy as np

cv.namedWindow('img')

def nothing(x):

pass

cv.createTrackbar('value','img',127,255,nothing)

while(True):

img = cv.imread("2.jpg", 0)

(imgHeight, imgWidth) = img.shape

value=cv.getTrackbarPos('value','img')

print('value:',value)

for i in range(0,imgHeight):

for j in range(0,imgWidth):

if img[i, j] > value:

err = img[i, j] - 255

img[i, j] = 255

else:

err = img[i, j]- 0

img[i, j] = 0

a = (err * 7) / 16

b = (err * 1) / 16

c = (err * 5) / 16

d = (err * 3) / 16

if (i!= (imgHeight-1))and(j != 0)and(j != (imgWidth-1)):

img[i + 0, j + 1] = img[i + 0, j + 1] + int(a)

img[i + 1, j + 1] = img[i + 1, j + 1] + int(b)

img[i + 1, j + 0] = img[i + 1, j + 0] + int(c)

img[i + 1, j - 1] = img[i + 1, j - 1] + int(d)

print(img)

print('change ok')

cv.imshow("img",img)

cv.waitKey(0)

print('button ok')

cv.imwrite("E://2.jpg",img)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值