在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 相关文章推荐
Win7上搭建Cocos2d-x 3.1.1开发环境
Jul 03 Python
python正则中最短匹配实现代码
Jan 16 Python
关于Python正则表达式 findall函数问题详解
Mar 22 Python
python最长回文串算法
Jun 04 Python
windows下python 3.6.4安装配置图文教程
Aug 21 Python
将Python字符串生成PDF的实例代码详解
May 17 Python
pyqt5 使用label控件实时显示时间的实例
Jun 14 Python
使用PyQt4 设置TextEdit背景的方法
Jun 14 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
如何基于windows实现python定时爬虫
May 01 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
Dec 07 Python
完美处理python与anaconda环境变量的冲突问题
Apr 07 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
在任意字符集下正常显示网页的方法二(续)
2007/04/01 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
php获取本周星期一具体日期的方法
2015/04/20 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
js 屏蔽鼠标右键脚本附破解方法
2009/12/03 Javascript
jQuery Select(单选) 模拟插件 V1.3.62 改进版
2010/07/17 Javascript
微博@符号的用户名提示效果。(想@到谁?)
2010/11/05 Javascript
将字符串转换成gb2312或者utf-8编码的参数(js版)
2013/04/10 Javascript
jQuery拖动图片删除示例
2013/05/10 Javascript
js获得当前时区夏令时发生和终止的时间代码
2014/02/23 Javascript
分享一个常用的javascript静态类
2014/12/31 Javascript
DOM节点的替换或修改函数replaceChild()用法实例
2015/01/12 Javascript
JS实现很酷的EMAIL地址添加功能实例
2015/02/28 Javascript
JavaScript动态添加列的方法
2015/03/25 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
COM组件中调用JavaScript函数详解及实例
2017/02/23 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
vue学习笔记之指令v-text && v-html && v-bind详解
2017/05/12 Javascript
Angular中的interceptors拦截器
2017/06/25 Javascript
详解Angular Reactive Form 表单验证
2017/07/06 Javascript
浅谈通过JS拦截 pushState和replaceState事件
2017/07/21 Javascript
100行代码实现vue表单校验功能(小白自编)
2019/11/19 Javascript
详解node.js 事件循环
2020/07/22 Javascript
微信小程序接入vant Weapp组件的详细步骤
2020/10/28 Javascript
书单|人生苦短,你还不用python!
2017/12/29 Python
python处理multipart/form-data的请求方法
2018/12/26 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
python nmap实现端口扫描器教程
2020/05/28 Python
CSS3实现时间轴效果
2016/07/11 HTML / CSS
测量实习生自我鉴定
2013/09/19 职场文书
护士个人自我鉴定
2014/03/24 职场文书
双拥工作宣传标语
2014/06/26 职场文书
2015年学校党建工作总结
2015/05/19 职场文书
python实现Nao机器人的单目测距
2021/09/04 Python
OpenCV项目实践之停车场车位实时检测
2022/04/11 Python