我想知道我在帧缓冲区点击一个圆心然后下方显示的坐标和我通过图像识别圆心向串口发送的坐标不同,这是什么原因?是因为我将图像压缩啥的吗?
立创开发板
全部评论 默认 最新
立创开发板 官方
2025-07-31 20:21:07 来自广东
分辨率问题 看这个 # 立创·庐山派-K230-CanMV开发板资料与相关扩展板软硬件资料官网全部开源 # 开发板官网:www.lckfb.com # 技术支持常驻论坛,任何技术问题欢迎随时交流学习 # 立创论坛:www.jlc-bbs.com/lckfb # 关注bilibili账号:【立创开发板】,掌握我们的最新动态! # 不靠卖板赚钱,以培养中国工程师为己任 import time, os, sys from media.sensor import * from media.display import * from media.media import * sensor_id = 2 sensor = None CROP_WIDTH = 320 CROP_HEIGHT = 240 try: # 构造一个具有默认配置的摄像头对象 sensor = Sensor(id=sensor_id,width=1920, height=1080, fps=60) # 重置摄像头sensor sensor.reset() # 无需进行镜像翻转 # 设置水平镜像 # sensor.set_hmirror(False) # 设置垂直翻转 # sensor.set_vflip(False) # 设置通道0的输出尺寸为1920x1080 # sensor.set_framesize(width = 640, height = 640, chn=CAM_CHN_ID_0) sensor_width = sensor.width(None) # get sensor output width sensor_height = sensor.height(None) # get sensor output width sensor.set_framesize(width = CROP_WIDTH, height = CROP_HEIGHT, crop = ((sensor_width - CROP_WIDTH) // 2, (sensor_height - CROP_HEIGHT) // 2, CROP_WIDTH, CROP_HEIGHT)) # 设置通道0的输出像素格式为RGB888 sensor.set_pixformat(Sensor.RGB888, chn=CAM_CHN_ID_0) # 使用IDE的帧缓冲区作为显示输出 Display.init(Display.VIRT, width=sensor.width(), height=sensor.height(), to_ide=True) # 初始化媒体管理器 MediaManager.init() # 启动传感器 sensor.run() while True: os.exitpoint() # 捕获通道0的图像 img = sensor.snapshot(chn=CAM_CHN_ID_0) img.draw_cross((sensor.width() // 2), (sensor.height() // 2), color=(0, 0, 255), size=10, thickness=2) #img.draw_cross(960, 540, color=(0, 0, 255), size=10, thickness=2) # 显示捕获的图像 Display.show_image(img) except KeyboardInterrupt as e: print("用户停止: ", e) except BaseException as e: print(f"异常: {e}") finally: # 停止传感器运行 if isinstance(sensor, Sensor): sensor.stop() # 反初始化显示模块 Display.deinit() os.exitpoint(os.EXITPOINT_ENABLE_SLEEP) time.sleep_ms(100) # 释放媒体缓冲区 MediaManager.deinit()
没有更多啦~