在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 相关文章推荐
python定时检查启动某个exe程序适合检测exe是否挂了
Jan 21 Python
python并发编程之线程实例解析
Dec 27 Python
TensorFlow平台下Python实现神经网络
Mar 10 Python
解决Django migrate No changes detected 不能创建表的问题
May 27 Python
详解python3中zipfile模块用法
Jun 18 Python
numpy添加新的维度:newaxis的方法
Aug 02 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
Jul 04 Python
用pytorch的nn.Module构造简单全链接层实例
Jan 14 Python
python global和nonlocal用法解析
Feb 03 Python
通过自学python能找到工作吗
Jun 21 Python
Python Django / Flask如何使用Elasticsearch
Apr 19 Python
Python保存并浏览用户的历史记录
Apr 29 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 攻击方法之谈php+mysql注射语句构造
2009/10/30 PHP
PHP开发的一些注意点总结
2010/10/12 PHP
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
2013/06/01 PHP
php实现向javascript传递数组的方法
2015/07/27 PHP
PHP缩略图生成和图片水印制作
2017/01/07 PHP
JavaScript CSS修改学习第二章 样式
2010/02/19 Javascript
passwordStrength 基于jquery的密码强度检测代码使用介绍
2011/10/08 Javascript
详解addEventListener的三个参数之useCapture
2015/03/16 Javascript
JSON遍历方式实例总结
2015/12/07 Javascript
js判断手机访问或者PC的几个例子(常用于手机跳转)
2015/12/15 Javascript
Bootstrap学习笔记之css组件(3)
2016/06/07 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
2017/10/26 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
2018/05/03 jQuery
python中查找excel某一列的重复数据 剔除之后打印
2013/02/10 Python
python列出目录下指定文件与子目录的方法
2015/07/03 Python
深入源码解析Python中的对象与类型
2015/12/11 Python
python正则表达式之作业计算器
2016/03/18 Python
python 把文件中的每一行以数组的元素放入数组中的方法
2018/04/29 Python
caffe binaryproto 与 npy相互转换的实例讲解
2018/07/09 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
2019/02/13 Python
python开发游戏的前期准备
2019/05/05 Python
Tensorflow实现酸奶销量预测分析
2019/07/19 Python
python argparser的具体使用
2019/11/10 Python
python函数不定长参数使用方法解析
2019/12/14 Python
基于Python和PyYAML读取yaml配置文件数据
2020/01/13 Python
python序列类型种类详解
2020/02/26 Python
详解python对象之间的交互
2020/09/29 Python
如何在Canvas上的图形/图像绑定事件监听的实现
2020/09/16 HTML / CSS
Strawberrynet草莓网新加坡站:护肤、彩妆、香水及美发产品
2018/08/31 全球购物
Quiksilver荷兰官方网站:冲浪和滑雪板
2019/11/16 全球购物
机电专业个人自荐信格式模板
2013/09/23 职场文书
认购协议书范本
2014/04/22 职场文书
信访工作经验交流材料
2014/05/23 职场文书
学生干部培训方案
2014/06/12 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书