当前位置: 首页 > news >正文

opencv-答题卡识别判卷

#导入工具包
import numpy as np
import argparse
import imutils
import cv2# 设置参数
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", required=True,help="path to the input image")
args = vars(ap.parse_args())# 正确答案
ANSWER_KEY = {0: 1, 1: 4, 2: 0, 3: 3, 4: 1}def order_points(pts):# 一共4个坐标点rect = np.zeros((4, 2), dtype = "float32")# 按顺序找到对应坐标0123分别是 左上,右上,右下,左下# 计算左上,右下s = pts.sum(axis = 1)rect[0] = pts[np.argmin(s)]rect[2] = pts[np.argmax(s)]# 计算右上和左下diff = np.diff(pts, axis = 1)rect[1] = pts[np.argmin(diff)]rect[3] = pts[np.argmax(diff)]return rectdef four_point_transform(image, pts):# 获取输入坐标点rect = order_points(pts)(tl, tr, br, bl) = rect# 计算输入的w和h值widthA = np.sqrt(((br[0] - bl[0]) ** 2) + ((br[1] - bl[1]) ** 2))widthB = np.sqrt(((tr[0] - tl[0]) ** 2) + ((tr[1] - tl[
http://www.lryc.cn/news/147853.html

相关文章:

  • 【Linux】基础IO
  • 【Go 基础篇】深入探索:Go语言中的二维数组
  • IntelliJ IDEA 2023.2.1使用Git时弹出“使用访问令牌登录”问题解决
  • 前端开发学习路线
  • 1、英飞凌-AURIX-TC297简介
  • Android 音频框架 基于android 12
  • 项目实践:类平面抓取点计算(占位,后面补充)
  • 中央空调秒变智能 青岛中弘P15面板式空调网关初体验
  • vue create -p dcloudio/uni-preset-vue my-project创建文件报错443
  • 本地电脑搭建Plex私人影音云盘教程,内网穿透实现远程访问
  • CI/CD 持续集成 持续交付
  • 《Go 语言第一课》课程学习笔记(十一)
  • C++--完全背包问题
  • 显示本地 IP 地址和相应的 QR 码,方便用户共享和访问网络信息
  • 为什么建议同时学多门编程语言
  • langchain agent
  • Zabbix下载安装及SNMP Get使用
  • freee Programming Contest 2023(AtCoder Beginner Contest 310)
  • 恒运资本:概念股是什么意思
  • 十九、状态模式
  • MySQL用navicat工具对表进行筛选查找
  • 音视频 ffplay简单过滤器
  • 索引 事务 存储引擎
  • MySQL— 基础语法大全及操作演示!!!(事务)
  • xsschallenge1~13通关详细教程
  • 考生作弊行为分析算法
  • Python 操作 Redis 数据库介绍
  • 十年JAVA搬砖路——软件工程概述
  • 前后端项目部署上线详细笔记
  • Android 蓝牙开发( 二 )