Python二级--传感器采集-1

传感器采集


题目一:
概述:

'''
考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下
功能:
下面所示为一套由公司职员随身佩戴的位置传感器采集的数据,文件名称为“sensor.txt”,其内容示例如下:
2016/5/31 0:05,vawelon001,1,1
2016/5/31 0:20,earpa001,1,1
2016/5/31 2:26, earpa001,1,6
…(略)
第一列是传感器获取数据的时间,第二列是传感器的编号,第三列是传感器所在的楼层,第四列是传感器所在的位置区域编号。
'''

'''
第一列是传感器获取数据的时间,第二列是传感器的编号,第三列是传感器所在的楼层,第四列是传感器所在的位置
区域编号。
问题1 (10分) :在PY301-1. py文件中修改代码,读入sensor. txt文件中的数据,提取出传感器编号为earpa001的所
有数据,将结果输出保存到“earpa001. txt”文件。输出文件格式要求:原数据文件中的每行记录写入新文件中,行
尾无空格,无空行。参考格式如下:
2016/5/31 7:11, earpa001,2, 4
2016/5/31 8:02, earpa001,3, 4
2016/5/31 9:22, earpa001, 3, 4
'''

思路:

  1. 文件操作
'''sensor.txt文件和代码在一起'''
# 打开文件
fp = open(r'sensor.txt')
fo = open(r'earpa001.txt', 'w')

  1. 信息分割处理
txt = fp.read().split('\n')
  1. 循环处理每一个出现的字符
# 循环处理分割好的信息
for i in txt:
    # 判断该行是否有改元素
    if 'earpa001' in i:
        # 将符合的条件的结果写入文件中
        fo.write(i + '\n')
  1. 释放资源
# 关闭文件释放资源
fp.close()
fo.close()

**总结**:
也是经典的考题,判断关键信息是否在可迭代的数据类型中出现
代码如下:

# 打开文件
fp = open(r'sensor.txt')
fo = open(r'earpa001.txt', 'w')

# 字符分隔处理
txt = fp.read().split('\n')
# print(txt)
# 循环遍历文件信息
for i in txt:
    # 判断该行是否有改元素
    if 'earpa001' in i:
        # 将符合的条件的结果写入文件中
        fo.write(i + '\n')
# 关闭文件释放资源
fp.close()
fo.close()

相关代码和资源都会打包到下面的链接(另附一个份刷题笔记):
刷题经验
代码(直接用Python导入即可),软件,题库:
链接:https://pan.baidu.com/s/1WClgPe1D79_GKclR26LJdA
提取码:pjmm

  • 1
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
GY-33颜色传感器是一种可以获取RGB颜色值的传感器,可以通过Python程序进行数据获取和处理。 在Python中,可以通过调用相应的库来访问传感器,matplotlib、numpy和opencv是一些常用的用于图像处理的Python库。其中,opencv是专门用于图像处理的库,可以进行图像读取、处理、显示等,通常用于计算机视觉应用中。如果你选择使用该库,需要先通过pip安装,安装指令如下: ``` pip install opencv-python ``` 接下来,我们可以通过以下代码进行GY-33颜色传感器数据的读取: ```python import cv2 cap = cv2.VideoCapture(0) # 打开摄像头 while True: ret, frame = cap.read() # 读取摄像头数据 cv2.imshow('GY-33', frame) # 显示图像 if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() # 关闭摄像头 cv2.destroyAllWindows() # 关闭图像 ``` 以上代码实现了打开摄像头,并可以实时显示摄像头画面。当我们把GY-33传感器放在摄像头前时,我们可以通过以下代码进行数据采集: ```python import cv2 import numpy as np cap = cv2.VideoCapture(0) # 打开摄像头 while True: ret, frame = cap.read() # 读取摄像头数据 # 使用cv2.cvtColor函数将RGB格式转换为HSV格式 hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) # 通过调整下面这一段中的数值来实现颜色区间的筛选 lower_color = np.array([0,0,0]) upper_color = np.array([255,255,255]) # 将颜色区间在HSV空间中进行筛选 mask = cv2.inRange(hsv, lower_color, upper_color) # 对颜色区域进行处理,并输出RGB值 res = cv2.bitwise_and(frame, frame, mask=mask) b,g,r = cv2.mean(res)[:3] print(int(r),int(g),int(b)) cv2.imshow('GY-33', frame) # 显示图像 if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() # 关闭摄像头 cv2.destroyAllWindows() # 关闭图像 ``` 以上方法可以实现在流媒体模式下获取GY-33颜色传感器的RGB值。由于颜色区间不同,输出值也会有所不同。我们可以根据具体需要,调整颜色区间来得到我们想要的RGB值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

China@V

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值