使用scipy处理图片——滚动图片

大纲

  • 常规模式
    • constant和grid-constant
  • 交换模式
    • wrap和grid-wrap
  • 镜像
    • reflect、mirror和grid-mirror
  • 最近值
    • nearest
  • 代码

在《使用numpy处理图片——滚动图片》一文中,我们介绍了numpy的roll方法,它只能让超出区域的元素回到被移动的区域中,如下图。
在这里插入图片描述
而scipy的滚动图片方法则有更多有意思的模式。
先看下原图
在这里插入图片描述

常规模式

constant和grid-constant

它们会抛弃超过尺寸的元素。
在这里插入图片描述

交换模式

wrap和grid-wrap

它的效果和numpy的roll一样,把元素移动到被移走的空白区域。
在这里插入图片描述

镜像

reflect、mirror和grid-mirror

它们会先沿原来的0轴(Y轴),对数组做镜像,然后再沿着1轴(X轴),对数组做镜像。
在这里插入图片描述

最近值

nearest

这个模式非常有意思,它会把移走的部分用最近的一个值填充。
在这里插入图片描述

代码

import numpy as np
from PIL import Image
import scipy.ndimage as ndimage

source = np.array(Image.open('lena.png'))

modeList = ['reflect', 'grid-mirror', 'constant', 'grid-constant', 'nearest', 'mirror', 'grid-wrap', 'wrap']
for mode in modeList:
    target = ndimage.shift(source, (30, 100, 0), mode=mode)
    Image.fromarray(target).save('shift_' + mode + '.png')

或见https://github.com/f304646673/scipy-ndimage-example/tree/main/shift

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

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

相关文章

图像提取大师:轻松从指定时长中获取某帧的图片,视频剪辑方法

在数字媒体时代,视频和图像已成为生活中不可或缺的部分。要从视频中提取某一帧作为图片,或者在视频剪辑时要采用其他的方法来达到需求的效果。下面来看云炫AI智剪如何轻松地从指定时长的视频中获取某帧的图片,视频剪辑的新方法。 视频中按指定…

Spring Cloud中的提供者与消费者

在服务调用关系中,会有两个不同的角色: 服务提供者:一次业务中,被其它微服务调用的服务。(提供接口给其它微服务) 服务消费者:一次业务中,调用其它微服务的服务。(调用…

【竞技宝】DOTA2梦幻联赛 G2.iG让一追二击败Bright晋级败决!

北京时间2024年1月16日,DOTA2梦幻联赛S22中国区预选赛继续进行,本日首场比赛迎来G2.IG对阵Bright。本场比赛双方前两局战至1-1平,决胜局G2.iG monet的虚空在中期连续放出两个完美团战帮助G2.iG奠定胜势,最终G2.iG让一追二击败Brig…

Java 基础 - 06 List 之 Stack 以及List的相关总结

Java的栈,算是我们在Java中常见的一种数据结构,他遵循先进后出的原则(Last-In-First-Out,LIFO)的原则,在Java中,Stack是通过继承自Vector类实现的。 如上图所示,我们的stack继承自Ve…

el-table右固定最后一列显示不全或者是倒数第二列无边框线

问题图片: 解决方式1: >>>.el-table__row td:not(.is-hidden):last-child { border-left:1px solid #EBEEF5; } >>>.el-table__header th:not(.is-hidden):last-child{ border-left:1px solid #EBEEF5; } >>>.el-table__head…

苹果传拟移除Apple Watch血氧侦测功能 | 百能云芯

近日传来消息,苹果公司正考虑对部分型号的Apple Watch进行调整,可能会移除血氧侦测功能,以规避美国国际贸易委员会(ITC)在去年10月做出的禁售令决定。这一决定的背后是因为两款苹果智能手表,即Apple Watch …

Idea变量前面自动加final取消

本方式适用于点击 CtrlAltV获取方法返回值时,自动在变量前面加final 的情况。 每次都会生成final,删了自己挺麻烦,在网上搜了几个办法也不行。后来无意中看到下面这个。 通过AltShiftO调出弹出菜单 发现Declare final默认是选中,取…

【华为 ICT HCIA eNSP 习题汇总】——题目集1

1、(多选)根据下面所示的命令输出,下列描述中正确的是? A、GigabitEthernet0/0/1 允许VLAN1通过 B、GigabitEthernet0/0/1 不允许VLAN1通过 C、如果要把 GigabitEthernet0/0/1 变为 Access 端口,首先 需要使用命令“un…

云卷云舒:2024数据库发展趋势预测-长图版

云计算和大数据时代对数据库提出了更高的要求,需要支持大规模数据存储和处理。 数据库需要具备分布式和并行计算能力,以满足高性能和可扩展性的需求。新型数据库技术如NewSQL和分布式数据库成为云计算和大数据时代的趋势。 注:本文为chatGPT配…

docker下载时报错 /usr/local/bin/docker-compose: 1: cannot open html: No such file

docker 下载时报错 /usr/local/bin/docker-compose: 1: cannot open html: No such file /usr/local/bin/docker-compose: 2: Syntax error: redirection unexpected, 在网上查找了一些解决方法都不对,最后,通过删除/usr/local/bin/docker-co…

一文教你使用 ChatGPT API function calling

一文教你使用 ChatGPT API function calling Function call如何理解Function call如何调用? Function call 如何理解Function call 函式呼叫(function calling) 可说是这次ChatGPT API 更新的杀手级更新。所谓函式呼叫,就是让你把外部函式的形状写入Cha…

win下安装tensorflow

1首先ctrlaltdelete打开任务管理器查看GPU型号 2或者右键我的电脑然后如下方式查看显卡发现没有navida没有GPU

Linux--部署 Tomcat 及其负载均衡

1.案例前置知识点 1)Tomcat简介 名称由来:Tomcat最初是由 Sun的软件构架师詹姆斯邓肯戴维森开发的。后来他帮助将其变 为开源项目,并由Sun贡献给Apache软件基金会。由于大部分开源项目OReilly都会出一本相关的 书,并且将其封面设…

黑马程序员——javase基础——day02——运算符选择语句

目录: 运算符 算术运算符案例数值拆分操作的三种情况 数字相加(类型转换)字符相加字符串相加赋值运算符选择语句 顺序结构Debug的基本使用选择语句之if if语句格式1if语句格式2和格式3案例1(交通信号灯)关系运算符案例2(奇偶数)案例3(手机以旧换新)案例4(你是青年人…

探索2023年大模型与AIGC峰会:程序员的学习之旅与未来展望

在2023年的技术前沿,大模型与AIGC峰会无疑是一个备受瞩目的盛会。 作为程序员,你将从这次大会中学到什么?这次峰会将为你揭示哪些前沿科技趋势?让我们一起来探讨这个问题。 一、理解大模型与AIGC 大模型和AIGC是人工智能领域中两…

开源图床Lychee本地如何部署并结合内网穿透工具实现远程访问

文章目录 1.前言2. Lychee网站搭建2.1. Lychee下载和安装2.2 Lychee网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 图床作为图片集中存放的服务网站,可以看做是云存储的一部分,既可…

NASA太空原子电池与Betavolt便携原子能电池对比分析

一、核心技术原理对比 1. Betavolt BV100原子能电池 工作原理:Betavolt BV100采用镍-63同位素作为能量源,这种同位素在衰变过程中释放β粒子(高速电子流),并通过金刚石半导体材料捕获并转换为电能。不同于传统的热电转…

单调栈练习(五)— 子数组的最小值之和

题目 同样的LeetCode原题:题目链接 给定一个整数数组 arr,找到 min(b) 的总和,其中 b 的范围为 arr 的每个(连续)子数组。 由于答案可能很大,因此 返回答案模 10^9 7 。 思路 暴力解 先来说暴力解的思路…

别再给自己的创业失败找借口了,什么都有你还创什么业?2024普通人如何创业,2024适合普通人的创业项目

说起创业,大家都是满腹牢骚,抱怨现在阶层固化,没有机会,自己也没有钱,没有资源。反正就是给自己创业失败找借口。 但是马云曾经表示,钱是最容易得到的东西,如果自己一开始就有钱,那…

C++特殊类设计类型转换

一、特殊类设计 在普通类的设计基础上,提出一些限制条件设计的类就是特殊类。 1、请设计一个类,不能被拷贝 拷贝只会放生在两个场景中:拷贝构造函数以及赋值运算符重载,因此想要让一个类禁止拷贝, 只需让该类不能调…