在python2.7中用numpy.reshape 对图像进行切割的方法


Posted in Python onDecember 05, 2018

遇到这么个需求:把图片按照定义的patchsize切块,然后按照z轴顺序叠放小块,如下图(仅考虑灰度图像)

在python2.7中用numpy.reshape 对图像进行切割的方法

图片im,设size为(h,w),patchsize为(ph,pw),则处理后大小(为简化描述,假设可以整除)为(ph,pw,w*h/ph/pw)。

为简化描述,后面用h=300,w=300,ph=100,pw=100 为例,即处理后d=9。

numpy.reshape 的文档:点击打开链接

特别注意第三个参数 order,其默认取值为 order=‘C',表示最后一个维度的元素在reshape时优先重排位置。而order=‘F'时则相反,第一个维度的元素优先重排位置。

例子如下,得到的im2就是这么一个tensor

import cv2
import numpy as np
 
im=cv2.imread('animal007.jpg',cv2.IMREAD_GRAYSCALE)
h= 300
w= 300
patchsize=100
d=h*w/patchsize/patchsize
print d
 
#crop the image to h x w
im=np.array(im[: h ,: w ])
 
#this gets wrong answer
im_wrong1=im.reshape((patchsize,patchsize,-1))
im_wrong7= im.reshape((patchsize,patchsize,-1),order='F')
im_wrong2=im.reshape(( h ,patchsize,-1)).reshape((patchsize,patchsize,-1))
im_wrong3=im.reshape((patchsize, w ,-1)).reshape((patchsize,patchsize,-1))
im_wrong4= im.reshape(( h ,patchsize,-1),order='F').reshape((patchsize,patchsize,-1))
im_wrong5= im.reshape(( h ,patchsize,-1),order='F').reshape((patchsize,patchsize,-1),order='F')
im_wrong6= im.reshape((patchsize, w ,-1),order='F').reshape((patchsize,patchsize,-1),order='F')
 
#this only works for h=w, i dont know why 
im2= im.reshape((patchsize, w ,-1),order='F').reshape((patchsize,patchsize,-1))
im2_0=im2[:,:,no]
cv2.imwrite('im2_0.jpg',im2_0)
 
no=4;
imw=im_wrong1[:,:,no]
cv2.imwrite('imw1_0.jpg',imw)
imw=im_wrong2[:,:,no]
cv2.imwrite('imw2_0.jpg',imw)
imw=im_wrong3[:,:,no]
cv2.imwrite('imw3_0.jpg',imw)
imw=im_wrong4[:,:,no]
cv2.imwrite('imw4_0.jpg',imw)
imw=im_wrong5[:,:,no]
cv2.imwrite('imw5_0.jpg',imw)
imw=im_wrong6[:,:,no]
cv2.imwrite('imw6_0.jpg',imw)
imw=im_wrong7[:,:,no]
cv2.imwrite('imw7_0.jpg',imw)

以上这篇在python2.7中用numpy.reshape 对图像进行切割的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Win10下python3.5和python2.7环境变量配置教程
Sep 18 Python
python使用插值法画出平滑曲线
Dec 15 Python
Python实现计算字符串中出现次数最多的字符示例
Jan 21 Python
Python 常用模块 re 使用方法详解
Jun 06 Python
Django接收post前端返回的json格式数据代码实现
Jul 31 Python
大家都说好用的Python命令行库click的使用
Nov 07 Python
VSCode中自动为Python文件添加头部注释
Nov 14 Python
python隐藏类中属性的3种实现方法
Dec 19 Python
python中random.randint和random.randrange的区别详解
Sep 20 Python
python 常见的反爬虫策略
Sep 27 Python
python+requests实现接口测试的完整步骤
Oct 27 Python
Python的logging模块基本用法
Dec 24 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
Dec 05 #Python
python3 实现对图片进行局部切割的方法
Dec 05 #Python
python中强大的format函数实例详解
Dec 05 #Python
python3+opencv3识别图片中的物体并截取的方法
Dec 05 #Python
解决Python3.5+OpenCV3.2读取图像的问题
Dec 05 #Python
Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】
Dec 05 #Python
对python opencv 添加文字 cv2.putText 的各参数介绍
Dec 05 #Python
You might like
一个很不错的PHP翻页类
2009/06/01 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
PHP 并发场景的几种解决方案
2019/06/14 PHP
javascript+iframe 实现无刷新载入整页的代码
2010/03/17 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
2010/09/15 Javascript
基于Jquery的仿照flash放大图片效果代码
2011/03/16 Javascript
jquery插件validate验证的小例子
2013/05/08 Javascript
JQuery结合CSS操作打印样式的方法
2013/12/24 Javascript
jQuery常用操作方法及常用函数总结
2014/06/19 Javascript
js动态添加onclick事件可传参数与不传参数
2014/07/29 Javascript
Javascript Objects详解
2014/09/04 Javascript
JavaScript中实现最高效的数组乱序方法
2014/10/11 Javascript
JavaScript插件化开发教程(六)
2015/02/01 Javascript
js点击选择文本的方法
2015/02/09 Javascript
jQuery实现跨域iframe接口方法调用
2015/03/14 Javascript
自己编写的支持Ajax验证的JS表单验证插件
2015/05/15 Javascript
JavaScript设计模式初探
2016/01/07 Javascript
微信小程序 后台登录(非微信账号)实例详解
2017/03/31 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
vue用ant design中table表格,点击某行时触发的事件操作
2020/10/28 Javascript
python3.5使用tkinter制作记事本
2016/06/20 Python
解决Python3.5+OpenCV3.2读取图像的问题
2018/12/05 Python
8种常用的Python工具
2020/08/05 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
菲律宾购物网站:Lazada菲律宾
2018/04/05 全球购物
Shopbop中文官网:美国亚马逊旗下时尚购物网站
2020/12/15 全球购物
应届生求职自荐信范文
2014/04/07 职场文书
企业安全生产责任书
2014/04/14 职场文书
2016教师学习教育法心得体会
2016/01/19 职场文书
2016年世界艾滋病日宣传活动总结
2016/04/01 职场文书
浅谈由position属性引申的css进阶讨论
2021/05/25 HTML / CSS
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android