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 pltA1 = 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))合并为整数元组的形式.
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用功率放大器

功率放大器是一种用于放大电流或电压的重要设备,广泛应用于音频、通信、无线电和电力等领域。正确地使用功率放大器可以确保其正常工作并获得满意的性能。下面西安安泰将介绍使用功率放大器的一般步骤和注意事项。 首先,了解功率放大器的规格和特性非常重…

CPU vs GPU:谁更适合进行图像处理?

CPU 和 GPU 到底谁更适合进行图像处理呢?相信很多人在日常生活中都会接触到图像处理,比如修图、视频编辑等。那么,让我们一起来看看,在这方面,CPU 和 GPU 到底有什么不同,哪个更胜一筹呢? 一、C…

wireshark打开tcpdump抓的包 vwr: Invalid data length runs past the end of the record

tcpdump -i any -n -s0 > t.pcap 使用此命令在Debian系统上抓包,下载到PC,用wireshark打开时报错: 后来发现写入文件时使用 -w 是没问题的,原因还不清楚。 tcpdump -i any -n -s0 -w t.pcap

物联网AI MicroPython学习之语法 bluetooth蓝牙

学物联网,来万物简单IoT物联网!! bluetooth 介绍 该模块为板上的蓝牙控制器提供了相关接口。目前支持低功耗蓝牙 (BLE)的Central(中央), Peripheral(外设), Broadcaster(广播者&…

什么是 CASB,在网络安全中的作用

数字化转型正在稳步攀升,组织现在越来越关注在线生产力系统和协作平台,各行各业的企业都采用了不同的云基础设施服务模式。云基础架构提供按需服务,可提高易用性、访问控制、内容协作和减少内部存储资源,以及许多其他好处。迁移到…

mac M2 pytorch_geometric安装

我目前的环境是mac M2,我在base环境中安装了pytorch_geometric,仅仅做测试用的,不做真正跑代码的测试 首先我的base环境的设置如下: pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.…

upload-labs关卡7(基于黑名单的空格绕过)通关思路

文章目录 前言一、回顾上一关知识点二、靶场第七关通关思路1、看源代码2、空格绕过3、检查文件是否成功上传 总结 前言 此文章只用于学习和反思巩固文件上传漏洞知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试…

桶装水订水小程序app,线上预约订水更便捷

桶装水订水小程序app,线上预约订水更便捷。设置好地址,一键订水,工作人员送水到家。还能配送新鲜果蔬,绿色健康有保证。送水软件手机版,提供各种品牌桶装水,在线发起订水服务,由服务人员送水到家…

一文图解爬虫(spider)

—引导语 互联网(Internet)进化到今天,已然成为爬虫(Spider)编制的天下。从个体升级为组合、从组合联结为网络。因为有爬虫,我们可以更迅速地触达新鲜“网事”。 那么爬虫究竟如何工作的呢?允许…

Model Inspector—软件模型静态规范检查工具

产品概述 Model Inspector(MI)原厂商是韩国Suresoft,是KOLAS国际公认测评机构,旨在提升安全关键领域软件可信度。MI用于开发过程中模型的静态检查,包括规范检查、复杂度度量,提供MAAB、HIS、CG、MISRA_AC_…

Unity--UGUI创建基本的UI

随着UI系统的引入,已添加了新组件,这些组件将有助于创建特定于GUI的功能。其中一些元素包括文本,图像,按钮等。在本教程中,您将学习创建和使用基本UI。 1.创建基本的UI 通过Unity的用户界面(UI)…

以太网和局域网

计算机网络的定义 计算机网络是一个将分散的、具有独立功能的计算机,通过通信设备与线路连接起来,由根据协议编写的软件来实现的资源共享和信息传递的系统 计算机网络的分类 广域网是互联网的核心部分 局域网 常见的局域网拓扑结构有4大类&#xff1a…