TypeError: Can‘t parse ‘center‘. Sequence item with index 0 has a wrong type

报错代码

import sys
sys.path.append(r'D:\文档\Temp\WX-FIles\data')
# sys.path.append(r'D:\文档\Temp\WX-FIles\data')

p11 = [125, 195]
p12 = [200, 275]
# and the corresponding two points on the second image are:

p21 = [120, 190]
p22 = [200, 280]
# TODO: write your own code to calculate the rotation and scaling parameter
import numpy as np
import cv2
import matplotlib.pyplot as plt


A1 = np.array(p11)
A2 = np.array(p12)
B1 = np.array(p21)
B2 = np.array(p22)
#计算平移向量
t_vector = B1 - A1
# 计算平移后的B2
t_B2 = B2 + t_vector
# 计算旋转角度
rotation = np.arctan2(t_B2[1] - B1[1], t_B2[0] - B1[0]) - np.arctan2(A2[1] - A1[1], A2[0] - A1[0])
print("旋转角度:", rotation,  end=' ')
# 计算放缩比例
scale = np.linalg.norm(A2 - A1) / np.linalg.norm(t_B2 - B1)
print("放缩比例:", scale)

# TODO: apply the rotation and scaling on the image
# 计算旋转矩阵
# print('np.degrees(rotation) = ' , np.degrees(rotation))
# print('tuple(A1) = ' ,tuple(A1))
r_matrix = cv2.getRotationMatrix2D(tuple(A1), np.degrees(rotation), scale=scale)
# (c1,c2)=tuple(A1)
# print('c1=',c1)
# print('c2=',c2)

# r_matrix = cv2.getRotationMatrix2D((int(c1),int(c2)), np.degrees(rotation), scale=scale)
print("旋转矩阵:", r_matrix)
image = plt.imread(r'.\data\dog.bmp')
# 旋转放缩图像
t_image = cv2.warpAffine(image, r_matrix, (image.shape[1], image.shape[0]), borderMode=cv2.BORDER_REPLICATE)
# show
plt.figure(figsize=(12, 10))
plt.subplot(1, 2, 1)
plt.imshow(image)
plt.subplot(1, 2, 2)
plt.imshow(t_image) 
plt.show()

在这里插入图片描述
后面分析

(c1,c2)=tuple(A1)
print('c1=',type(c1))
print('c2=',type(c2))

得到了c1和c2嘚类型为numpy.int32,其中函数cv2.getRotationMatrix2D嘚第一个参数需要传入int类型整数而不是numpy.int32类型嘚数字,因此报错.
在这里插入图片描述

最后解决办法是unpack 元组得到c1,c2,最后使用int(c1),int(c2),然后(int(c1),int(c2))合并为整数元组的形式.
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/144055.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

集团VPN问题排查及核心交换机(思科C9500)路由编写

前言 昨天发现子公司A无法访问子公司B的服务器。已知之前是可以的。经过tracert及ping的简单排查。发现,A没有经过飞塔200F的防火墙出去。 已知集团使用两套防火墙。思科2110以及飞塔200F。并且在上方都做了VPN的配置。200F承接SD-WAN。 我们知道,当A公…

MySQL 社区开源备份工具 Xtrabackup 详解

文章目录 前言1. Xtrabackup 介绍1.1 物理备份与逻辑备份区别1.2 Xtrabackup 系列版本 2. Xtrabackup 部署2.1 下载安装包2.2 二进制部署2.3 程序文件介绍2.4 备份需要的权限 3. Xtrabackup 使用场景3.1 本地全量备份3.2 本地压缩备份3.3 全量流式备份3.3.1 备份到远程主机3.3.…

Unity Meta Quest 一体机开发(五):手势抓取概述

文章目录 📕教程说明📕 Oculus Integration 中的三种手势抓取方式⭐Hand Grab⭐Touch Hand Grab⭐Distance Hand Grab 此教程相关的详细教案,文档,思维导图和工程文件会放入 Seed XR 社区。这是一个高质量知识星球 XR 社区&#…

F8652X 984865265 F8652E 984865264

F8652X 984865265 F8652E 984865264 亚历克能够满足最严格的建筑规范开箱-不需要大量的定制,设计时间或劳动力,或专门的布线系统。 模块化ALEC系统包括三个简单的硬件组件——区域控制器(ZC001)、标准按钮墙板和物联网(IoT)网关。该系统可以无限扩展&…

【自动化测试】Jenkins持续集成-设置执行环境+构建触发器(超细整理)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、Jenkins流水线…

海思SD3403,SS928/SS927/SS926,hi3519dv500,hi3516dv500移植yolov7(2)

0.前言 上一节主要在讲如何做数据处理和模型训练。简单验证了一下模型的量化导出。这一节来配置一下转换模型所需要的环境。 1.合作交流 容我先打个广告, 我司推出的目标识别跟踪模块,支持热红外、可见光主流多光谱视频输入与目标识别跟踪等功能…

electronjs入门-编辑器应用程序

我们将在Electron中创建一个新项目,如我们在第1章中所示,名为“编辑器”,我们将在下一章中使用它来创建编辑器;在index.js中,这是我们的主要过程;请记住为Electron软件包放置必要的依赖项: npm…

30个Python操作小技巧

1、列表推导 列表的元素可以在一行中进行方便的循环。 numbers [1, 2, 3, 4, 5, 6, 7, 8] even_numbers [number for number in numbers if number % 2 0] print(even_numbers)输出: [1,3,5,7]同时,也可以用在字典上。 dictionary {first_num: 1,…

1x1卷积核

1 1 1\times 1 11卷积核对输入数据的通道做约简。 每个 1 1 1\times 1 11卷积核相当于在输入数据的通道上做了一个降维(经过一个神经元个数为1的全连接层),从而相当于大幅度降低了特征图的数量,但不影响特征图的结构。 使用 1 …

VCR库代码示例

1. 首先,我们需要在代码中添加对VCR库的引用: ruby require vcr require rest-client 2. 然后,我们需要创建一个VCR录制器,以便我们可以记录实际的HTTP请求和响应: ruby VCR.use_cassette(download_video, record:…

高通发布骁龙X Elite Oryon CPU /GitHub出现一款开源项目,让用户“拥有”更大的GPU内存|魔法半周报

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件🔥,更新AIGC的最新动态,生成相应的魔法简报,节省阅读时间👻 🔥资讯预览 高通发布骁龙X Elite Oryon CPU,性能超越苹果和英特尔&#xff0…

java 中arrayList 中去除重复项

ArrayList 中去除重复对象 Testpublic void removeRepeatItem() {ArrayList<String> arrayList new ArrayList<>();arrayList.add("apple");arrayList.add("banbana");arrayList.add("apple");arrayList.add("apple");S…

手写ThreadPoolExecutor线程池

很多人不推荐造轮子&#xff0c;我偏不。我造轮子又不是为了上生产环境&#xff0c;而是为了加深理解&#xff0c;有何不可&#xff1f;私以为造轮子几乎是最好的学习方式&#xff0c;甚至没有之一。因为造轮子需要至少做足以下两点&#xff1a; 了解设计思想&#xff08;设计…

java反射机制

java反射机制 方法四要素使用反射机制获取方法并调用方法 方法四要素 不使用反射机制调用一个方法需要几个要素的参与&#xff1f; 例&#xff1a; SystemService.java package com.w.spring6.reflection;public class SystemService {public void logout(){System.out.prin…

质量管理工作难做,为什么还有那么多人还继续做?

理解质量管理的挑战 在当今商业环境中&#xff0c;质量管理工作是一项充满挑战的使命。然而&#xff0c;尽管面对种种困难&#xff0c;却有着越来越多的人愿意踏上这条坎坷之路。为何质量管理工作如此艰难&#xff0c;却依旧吸引无数人投身其中呢&#xff1f; 内外动因交融 内…

【23真题】坑挖的不错,题目也有质量!

今天分享的是23年西安石油大学810的信号与系统试题及解析。 本套试卷难度分析&#xff1a;22年西安石油810考研真题&#xff0c;我也发布过&#xff0c;若有需要&#xff0c;戳这里自取!本套试题内容难度中等偏下&#xff0c;题量较少&#xff0c;没有考察选填题&#xff0c;通…

刚刚!奥特曼终于透露了GPT-5的最新消息!

原 创作者 | Tscom、王二狗 大爆料&#xff01;OpenAI被实锤正在研发GPT-5&#xff01; 还是OpenAI的CEO Sam Altman 亲口证实的。 今日&#xff0c;奥特曼接受《金融时报》的采访&#xff0c;透露了很多OpenAI的下一步计划&#xff0c;二狗帮大家整理成以下10个要点&#x…

搬家快递服务预约小程序的作用是什么

无论家庭还是企业办公&#xff0c;不少人都有搬家快递服务需求&#xff0c;尤其是近些年类似服务市场需求规模增长迅速。而在实际经营中&#xff0c;行业商家从业者也面临一些经营难题&#xff1a; 搬家公司的服务一般主要针对同省用户&#xff0c;同城需求较高&#xff0c;然…

实现定时巡检接口,测试不通过时自动发邮件

背景是这样的&#xff1a;最近组织架构调整&#xff0c;我们这个团队部分人员调入到了另外的业务组&#xff0c;因此她之前负责的业务需要交接给我们。 其中一个是接口每日监测&#xff0c;之前这个同事的做法是每天去手动点下按钮来跑接口测试&#xff0c;然后看一眼接口测试…

GZ038 物联网应用开发赛题第7套

2023年全国职业院校技能大赛 高职组 物联网应用开发 任 务 书 &#xff08;第7套卷&#xff09; 工位号&#xff1a;______________ 第一部分 竞赛须知 一、竞赛要求 1、正确使用工具&#xff0c;操作安全规范&#xff1b; 2、竞赛过程中如有异议&#xff0c;可向现场考评…