旋转图片两种方法
这两种方法在旋转图像时,可能会产生一些不同的效果:
rotate_image_new()旋转后的图像完全包含旋转前的内容,并且填充边界尽可能小
rotate_image() 保持原始图像的大小,并根据填充选项决定是否填充边界为白色。如果 if_fill_white 参数为 True,则填充边界为白色;否则,边界将保持原始图像的值。这种方法可以更快速地旋转图像,但可能会导致旋转后的图像包含额外的空白区域或丢失部分图像信息。
def rotate_image_new(image, degree):'''旋转图片角度'''from math import *# dividing height and width by 2 to get the center of the imageheight, width = image.shape[:2]heightNew = int(width * fabs(sin(radians(degree))) + height * fabs(cos(radians(degree))))widthNew = int(height * fabs(sin(radians(degree))) + width * fabs(cos(radians(degree))))matRotation = cv2.getRotationMatrix2D((width / 2, height / 2), degree, 1)matRotation[0, 2] += (widthNew - width) / 2 # 重点在这步,目前不懂为什么加这步matRotation[1, 2] += (heightNew - height) / 2 # 重点在这步imgRotation = cv2.warpAffine(image, matRotation, (widthNew, heightNew), borderValue=(255, 255, 255))return imgRotationdef rotate_image( image, angle,if_fill_white = False):'''顺时针旋转'''# dividing height and width by 2 to get the center of the imageheight, width = image.shape[:2]# get the center coordinates of the image to create the 2D rotation matrixcenter = (width / 2, height / 2)# using cv2.getRotationMatrix2D() to get the rotation matrixrotate_matrix = cv2.getRotationMatrix2D(center=center, angle=angle, scale=1)# rotate the image using cv2.warpAffineif not if_fill_white:rotated_image = cv2.warpAffine(src=image, M=rotate_matrix, dsize=(width, height) )else:color = (255, 255) if len(image.shape)==2 else (255, 255,255)rotated_image = cv2.warpAffine(src=image, M=rotate_matrix, dsize=(width, height), borderValue=color)return rotated_image相关文章:
旋转图片两种方法
这两种方法在旋转图像时,可能会产生一些不同的效果: rotate_image_new()旋转后的图像完全包含旋转前的内容,并且填充边界尽可能小 rotate_image() 保持原始图像的大小,并根据填充选项决定是否填充边界为白色。如果 if_fill_whit…...
10 mysql tiny/small/medium/big int 的数据存储
前言 这里主要是 由于之前的一个 datetime 存储的时间 导致的问题的衍生出来的探究 探究的主要内容为 int 类类型的存储, 浮点类类型的存储, char 类类型的存储, blob 类类型的存储, enum/json/set/bit 类类型的存储 本文主要 的相关内容是 int 类类型的相关数据的存储 …...
UI自动化测试之Jenkins配置
团队下半年的目标之一是实现自动化测试,这里要吐槽一下,之前开发的测试平台了,最初的目的是用来做接口自动化测试和性能测试,但由于各种原因,接口自动化测试那部分功能整个废弃掉了,其中和易用性有很大关系…...
电视盒子什么品牌好?数码博主盘点目前性能最好的电视盒子
电视盒子是非常重要的,老人小孩基本每天都会看电视,而电视盒子作为电视盒子的最佳拍档销量十分火爆,我自己每个月都会测评几次电视盒子,今天给大家详细解读一下电视盒子什么品牌好,看看目前性能最好的电视盒子是哪些&a…...
对于枚举类型的输出
对于枚举类型的输出 对于枚举类型的输出,您可以使用以下方法:1. 将枚举值转换为整数进行输出:cppODU_TYPE type ODU_TYPE_331;int value static_cast<int>(type);std::cout << "ODU_TYPE: " << value <<…...
solidity开发环境配置,vscode搭配remix
#学习笔记 初学solidity,使用remix非常方便,因为需要的环境都配置好了,打开网站就可以使用。 不过在编写代码方面,使用vscode更方便,而vscode本身并不能像remix那样部署合约,它还需要安装插件。 点击红色箭…...
chatGPT生成代码--go组合算法
提问:用golang写一个组合算法函数zuhe(x,n),x为组合所需的字符,n 为组合后的字符串长度,例如 x"ab", n2 结果返回 aa,ab,bb,ba 结果:下面是一个用Go编写的生成长度为n的字符串组合的函数 zuhe,其…...
推荐6款普通人搞副业做自媒体AI工具
hi,同学们,我是赤辰,本期是赤辰第5篇AI工具类教程,文章底部准备了粉丝福利,看完可以领取!身边越来越多的小伙伴靠自媒体实现财富自由了!因此,推荐大家在工作之余或空闲时间从事自媒体…...
vs中git提交合并分支的步骤记录
vs打开终端 PS D:\project\et_lower4_driver> git pull Already up to date. PS D:\project\et_lower4_driver> git branch * kiyun_usb7851 master PS D:\project\et_lower4_driver> git checkout master Switched to branch master Your branch is up to date wit…...
PostgreSQL 备份恢复:pg_probackup
文章目录 前言1. 安装备份工具1.1 环境介绍1.2 RPM 安装1.3 验证 2. 配置备份工具2.1 初始化设置2.2 创建备份用户2.3 配置自动归档 3. 工具使用介绍3.1 init3.2 add-instance3.3 del-instance3.4 set-config3.5 show-config3.6 set-backup3.7 backup3.8 show3.9 delete3.10 re…...
博客程序系统其它功能扩充
一、注册功能 1、约定前后端接口 2、后端代码编写 WebServlet("/register") public class RegisterServlet extends HttpServlet {Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//设置…...
MATLAB 2023安装方法之删除旧版本MATLAB,安装新版本MATLAB
说明:之前一直使用的是MATLAB R2020b,但最近复现Github上的程序时,运行不了,联系作者说他的程序只能在MATLAB 2021之后的版本运行,因此决定安装最新版本的MATLAB。 系统:Windows 11 需要卸载的旧MATLAB 版…...
全国唯一一所初试考Java的学校!平均300分拿下
苏州科技大学 考研难度(☆) 内容:23考情概况(拟录取和复试分析)、院校概况、23专业目录、23复试详情、各专业考情分析、各科目考情分析。 正文1187字,预计阅读:3分钟 2023考情概况 苏州科技…...
day35 | 860.柠檬水找零、406.根据身高重建队列、452. 用最少数量的箭引爆气球
目录: 解题及思路学习 860. 柠檬水找零 在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。 每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美…...
ffmpeg批量转码
新建.bat文件 echo offfor %%s in (*.mp4) do ( echo %%s ffmpeg -i %%s -b 7M %%~ns7m.mp4 ) pause如果你的电脑有显卡,也可以使用硬件转码。转码程序链接...
时序预测 | MATLAB实现基于QPSO-BiLSTM、PSO-BiLSTM和BiLSTM时间序列预测
时序预测 | MATLAB实现基于QPSO-BiLSTM、PSO-BiLSTM和BiLSTM时间序列预测 目录 时序预测 | MATLAB实现基于QPSO-BiLSTM、PSO-BiLSTM和BiLSTM时间序列预测效果一览基本描述程序设计参考资料 效果一览 基本描述 1.Matlab实现QPSO-BiLSTM、PSO-BiLSTM和BiLSTM神经网络时间序列预测…...
【TypeScript学习】—基本类型(二)
【TypeScript学习】—基本类型(二) 一、TypeScript基本类型 //也可以直接用字面量进行类型声明let a:10; a10;//也可以使用 |来连接多个类型(联合类型)let b:"male"|"female"; b"male"; b"fe…...
uni-app点击复制指定内容(点击复制)
官方api uni.setClipboardData(OBJECT) uni.setClipboardData({data: 要被复制的内容,success: function () {console.log(success);} });...
无涯教程-Flutter - 简介
Flutter是一个由谷歌开发的开源移动应用软件开发工具包,用于为Android、iOS、 Windows、Mac、Linux、Google Fuchsia开发应用。 通常,创建移动应用程序是一个非常复杂和具有挑战性的任务。有许多框架可用,它提供了开发移动应用程序的出色函数…...
【STM32】学习笔记-时间戳RTC
Unix时间戳 Unix 时间戳(Unix Timestamp)定义为从UTC/GMT的1970年1月1日0时0分0秒开始所经过的秒数,不考虑闰秒 时间戳存储在一个秒计数器中,秒计数器为32位/64位的整型变量 世界上所有时区的秒计数器相同,不同时区通…...
Qwen3-ForcedAligner-0.6B快速上手:Gradio界面响应延迟与性能优化建议
Qwen3-ForcedAligner-0.6B快速上手:Gradio界面响应延迟与性能优化建议 1. 快速部署与界面体验 Qwen3-ForcedAligner-0.6B是阿里巴巴通义实验室开源的音文强制对齐模型,基于0.6B参数的Qwen2.5架构。这个模型通过CTC前向后向算法,将已知参考文…...
节能模式!OpenClaw优化Qwen3-4B模型夜间任务功耗
节能模式!OpenClaw优化Qwen3-4B模型夜间任务功耗 1. 为什么需要关注OpenClaw的能耗问题 去年夏天,我的MacBook Pro在运行OpenClaw执行夜间数据整理任务时,风扇狂转的声音把我从睡梦中吵醒。摸到发烫的机身时,我突然意识到——这…...
【Pygame】第15章 游戏人工智能基础、行为控制与寻路算法实现
摘要 人工智能是游戏开发中的重要组成部分,它能够赋予非玩家角色更自然的行为表现,使游戏世界显得更加真实、生动,并且具有挑战性。 在 2D 游戏中,AI 通常并不追求真正意义上的“智能”,而是通过一系列规则、状态和算…...
24小时稳定运行方案:OpenClaw+Qwen3-32B进程守护配置
24小时稳定运行方案:OpenClawQwen3-32B进程守护配置 1. 为什么需要进程守护? 去年12月,我尝试用OpenClaw自动化处理每日技术简报时,遭遇了一个尴尬场景——凌晨3点任务突然中断,导致次日早晨的会议材料缺失关键数据。…...
OpenAI收购科技脱口秀TBPN,力图塑造AI叙事话语权
OpenAI正通过收购备受硅谷内部人士关注的科技脱口秀TBPN进军媒体行业,该节目主持人周三宣布了这一消息。联合主持人约翰库根和乔迪海斯每个工作日从洛杉矶直播TBPN节目三小时,邀请的嘉宾包括创业者、风险投资家和科技界重要人物。此次交易的财务条款未予…...
CMMI 能力成熟度模型集成介绍
CMMI(Capability Maturity Model Integration)即能力成熟度模型集成,是由美国卡内基梅隆大学软件工程研究所(SEI)研发、现由ISACA旗下CMMI 研究院维护的国际权威过程改进与评估框架,核心是通过标准化最佳实…...
计算机毕业设计:Python地铁数据可视化分析系统 Flask框架 数据分析 可视化 高德地图 数据挖掘 机器学习 爬虫(建议收藏)✅
博主介绍:✌全网粉丝50W,前互联网大厂软件研发、集结硕博英豪成立软件开发工作室,专注于计算机相关专业项目实战6年之久,累计开发项目作品上万套。凭借丰富的经验与专业实力,已帮助成千上万的学生顺利毕业,…...
Blender场景教程:秘密实验室
BY:Express the Chaos关于我做了5年视觉设计师,但没有正式的3D背景。我十一个月前养成了通过概念艺术和3D表达自己的习惯,不得不向Blender介绍自己(因为它是免费软件,我忍不住要用),以及制作3D场景的整个机…...
嘎嘎降AI和去AIGC哪个更适合文科论文?深度对比评测
嘎嘎降AI和去AIGC哪个更适合文科论文?深度对比评测 选降AI工具看三点:达标率、价格、处理后文本质量。 按这标准我花了一周研究主流工具。结论先说:嘎嘎降AI(www.aigcleaner.com)最适合大多数人——4.8元一篇&#x…...
革命性文档处理工具text-extract-api:10分钟快速上手指南
革命性文档处理工具text-extract-api:10分钟快速上手指南 【免费下载链接】text-extract-api Document (PDF, Word, PPTX ...) extraction and parse API using state of the art modern OCRs Ollama supported models. Anonymize documents. Remove PII. Convert …...
