点击注册
点击注册
.

自动麻将机 2019全国大学生电赛总结

发布日期:2022-03-09 00:13    点击次数:150

自动麻将机 2019全国大学生电赛总结

本文记录了参加2019年全国大学生电子竞赛的一些体会。准备过程 暑假期间,我和我们组的两个人一起在学校集中进行全国大学生电子竞赛的培训,虽然整个过程很苦,但是能取得省级二等奖的成绩(去测试的时候失误了~~在学校打得挺准的),也算是有一点回报吧。 我是负责视觉设计的,也帮写程序的同学想想控制算法自动麻将机,最后会附上我们的视觉程序供大家来学习。 一些体会比赛过程中自动麻将机,三个人一定要配合好,各自把自己的任务干好,还有就是坚决不要放弃,我们就是比赛的最后一天才把电磁炮做出来,然后赶紧测试,晚上8点之前交作品还是绰绰有余的。 电赛找到一个好的指导老师非常关键,无论是在知识上还是精神上,都能够给你提供帮助。我们的指导老师就很好,整个过程陪着我们,帮我们想方案,帮我们找问题,看到他就觉得安心。 下边是我们的视觉代码,有兴趣的可以参考一下。import sensor, image, time, pyb from pyb import UART from struct import pack import math ​ sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.set_brightness(0) #sensor.skip_frames(10) sensor.set_auto_whitebal(False) clock = time.clock() # 追踪帧率 ​ ​ uart = UART(3, 115200) ​ fx = 279.4808 #.4808 fy = 279.4204 #.4204 cx = 133.6368 cy = 123.6917 ​ K = 5120 buf_d = [0,0,0,0,0] ​ ​ BLACK = (0, 43, -12, 4, -10, 9) BALL = (23, 97, 48, 127, -37, 62) ​ img = sensor.snapshot() black_blobs = img.find_blobs([BLACK], pixels_threshold=9000) board_roi = (1,1,500,500) ball_blobs = img.find_blobs([BALL], roi=board_roi, pixels_threshold=100, merge=True, margin=1) ​ if ball_blobs: for ball_blob in ball_blobs: img.draw_rectangle(ball_blob[0:4]) img.draw_cross(ball_blob[5], ball_blob[6], size=50) if black_blobs: for black_blob in black_blobs: img.draw_rectangle(board_roi[0:4]) ​ def find_max(blobs): max_size=0 for blob in blobs: if blob.pixels() > max_size: max_blob=blob max_size = blob.pixels() return max_blob ​ ​ while(True): frame_fps =clock.fps() ​ img = sensor.snapshot() ball_blobs = img.find_blobs([BALL], roi=board_roi, pixels_threshold=100, merge=True, margin=1) ​ if ball_blobs: max_blob = find_max(ball_blobs) target_x = 135 target_y = 120 ​ img.draw_rectangle(max_blob.rect()) # rect img.draw_cross(max_blob.cx(), max_blob.cy()) # cx, cy #print(max_blob.cx(),max_blob.cy()) ​ yaw = math.atan((max_blob.cx() - cx) / fx) - math.atan((target_x - cx) / fx) pitch = math.atan((max_blob.cy() - cy) / fy) - math.atan((target_y - cy) / fy) #print(math.atan((last_x - cx) / fx)) #print("yaw: ", yaw) #print("pitch: ", pitch) yaw*=180/3.141592 pitch*=180/3.141592 ​ buf_d[0] = K / ((max_blob.w()+max_blob.h())/2) buf_d[4]=buf_d[3];buf_d[3]=buf_d[2];buf_d[2]=buf_d[1];buf_d[1]=buf_d[0]; D_buf=sorted(buf_d) D = D_buf[2] ​ print("yaw: ", yaw) print("pitch: ", pitch) print("Dis:", D) D = K/max_blob.w() #K = max_blob.w()*128 #print(K) #print(D) datap = pack('bbbbfffbb',0x35,0x46,0x57,0x24, float(yaw), float(pitch), float(D), 0xBB, 0xAA) print('you send:',datap) uart.write(datap)基本的思路非常简单,找到最大的红色块,然后通过小孔成像原理算出来舵机需要变换的角度。 写在最后虽然没能取得好的成绩,但是整个过程我觉得自己提升不少,希望自己能再接再厉,争取下一次取得更好的成绩! 对了,补充一点,去测试的过程心态一定要放平,还有就是最后一刻一定不要动结构!!!我们就是吃了这个的亏~~



Powered by 麻将机 @2013-2022 RSS地图 HTML地图

网站统计——

  • 谷歌搜索留痕推广
  • 谷歌搜索留痕排名技术
  • 谷歌快速排名
  • 留痕方法
  • 谷歌搜索快速方法
  • google搜索留痕程序
  • 谷歌快速排名
  • 澳门太阳城
  • 最大博彩公司
  • 谷歌搜索关键词排名
  • 搜索留痕程序
  • 谷歌排名出售
  • 谷歌蜘蛛池排名
  • 搜索留痕软件
  • 缅甸果敢赌场
  • 电子游艺规则
  • 谷歌留痕推广
  • google引流程序
  • 谷歌快速排名
  • google引流程序
  • 留痕推广
  • 大西洋城赌场
  • 买球地址
  • 搜索留痕
  • 搜索留痕程序出售
  • 谷歌蜘蛛池排名技术
  • 留痕程序
  • 如何提高google搜索排名
  • 数字币博彩
  • 洗钱方法
  • Google留痕收录
  • 最新谷歌搜索留痕排名
  • 搜索留痕
  • Google留痕收录
  • google搜索留痕
  • 数字币博彩网站
  • 足球投注平台
  • 博彩推广话术
  • 推广引流方法
  • 引流方法
  • 博彩推广话术
  • 网上博彩推广引流
  • 数字币赌场
  • 皇冠现金网
  • 蜘蛛池排名
  • 谷歌蜘蛛池
  • 留痕程序出售
  • google搜索留痕程序
  • 比特币网上赌场
  • 洗钱平台
  • 搜索留痕
  • 博彩推广方式
  • 网上博彩推广
  • 快速排名
  • 搜索留痕程序
  • bbin平台大全
  • 体育博彩公司排名
  • 留痕排名技术
  • 最新谷歌关键词排名
  • 推广渠道
  • 谷歌快速排名
  • 博彩推广
  • 世界杯赌球地址
  • 皇冠博彩公司
  • 谷歌排名出售
  • 博彩引流渠道
  • 搜索留痕程序
  • google搜索留痕
  • 引流渠道
  • 果敢网上赌场
  • 世界杯赌球
  • 搜索留痕方法
  • 博彩搜索留痕
  • 博彩引流
  • 博彩引流
  • 搜索留痕
  • 缅甸网上赌场
  • 欧洲杯赌球
  • 谷歌搜索排名
  • 留痕程序
  • 网上博彩推广引流
  • 留痕技术
  • 搜索留痕技术出售
  • 澳门威尼斯人网上赌场
  • 外围博彩
  • 博彩网站推广
  • 推广引流
  • 留痕程序出售
  • 谷歌推广引流技术
  • 推广引流方法
  • 美国在线赌场
  • 沙巴体育投注平台
  • 最新谷歌搜索留痕
  • 谷歌蜘蛛池排名技术
  • 网站推广方法
  • 留痕程序出售
  • 博彩推广方法
  • 菠菜论坛
  • 买球平台
  • 谷歌搜索留痕
  • 蜘蛛池排名
  • 博彩公司推广渠道
  • 谷歌搜索留痕
  • 博彩公司推广渠道
  • 真钱游戏
  • 网上赌球地址
  • 赌球平台推荐
  • 赌球网址
  • 博彩包网
  • 买球app
  • 澳门博彩公司
  • 威尼斯人赌场
  • 博彩平台推荐
  • 美国博彩网站
  • 缅甸实体赌场
  • 柬埔寨网上赌场
  • 柬埔寨在线赌场
  • 韩国博彩
  • 支持人民币的博彩公司
  • 世界五大比特币交易所
  • 欧易是哪个国家的
  • 中币跑路
  • 亚洲博彩公司
  • 合法网上赌场
  • 马尼拉赌场
  • 支持人民币的博彩公司
  • 大陆博彩平台
  • 澳门新葡京娱乐城
  • 老挝赌场
  • 世界赌场排名
  • 网上博彩公司排行
  • 菠菜论坛
  • 东南亚赌博网站
  • 虚拟币博彩
  • 澳门百家乐网址
  • 网上博彩导航
  • 区块链百家乐游戏
  • 马来西亚博彩公司
  • 越南赌场
  • 区块链百家乐
  • 香港娱乐场
  • 澳大利亚赌博网站
  • 足球赔率
  • 菲律宾网上赌场
  • 数字币博彩网站
  • 足球投注网站
  • 百家乐论坛
  • 皇冠体育博彩公司
  • 网上赌博网站
  • 网上博彩推广话术
  • 谷歌搜索快速方法
  • 网上博彩推广话术
  • 数字币赌场
  • 皇冠博彩公司
  • 世界杯博彩公司
  • 英国博彩公司
  • 网上博彩合法化
  • 新加坡赌场
  • 比特币网上赌场
  • 怎么洗钱
  • 加密货币博彩平台
  • 世界杯赌球网址
  • 网上赌球地址
  • 博彩推广方式
  • 印度尼西亚博彩公司
  • 国际包网
  • bbin平台直营
  • 亚洲体育博彩平台
  • 越南博彩公司
  • 百家乐路单
  • 澳门博彩官网
  • 博彩网推荐
  • 澳门太阳城网址
  • 百家乐网址
  • 世界杯赌球网址
  • 皇冠博彩网址
  • 洗钱方法
  • 买球网站
  • 欧洲杯赌球平台
  • 皇冠现金网
  • 外围赌球平台
  • 果敢赌场
  • 买球技巧
  • 全球最大博彩公司
  • 电子游艺
  • 真人电子游戏
  • 骰宝游戏规则
  • 亚洲体育博彩平台
  • 澳门在线赌场
  • 缅甸赌场地址
  • 赌球平台
  • 赌场如何赢钱
  • 世界杯买球网站
  • 真人牌九游戏
  • 世界杯买球官网
  • 时时彩平台
  • 六合彩预测
  • 威尼斯人网上赌场
  • 外围赌球网站
  • 赌博网址
  • 彩票群
  • 微信赌博群
  • 韩国首尔赌场
  • 赌钱游戏
  • 美国网上赌场
  • bbin官网
  • 沙巴体育官网
  • 博彩平台推荐
  • 数字币博彩网站
  • 比特币网上赌场
  • 世界赌场名单
  • 美国赌场攻略
  • 菠菜论坛排名
  • 菠菜论坛排名
  • 缅甸网上赌场
  • 支持人民币的博彩公司