在python2.7中用numpy.reshape 對(duì)圖像進(jìn)行切割的方法
遇到這么個(gè)需求:把圖片按照定義的patchsize切塊,然后按照z軸順序疊放小塊,如下圖(僅考慮灰度圖像)
圖片im,設(shè)size為(h,w),patchsize為(ph,pw),則處理后大?。楹喕枋?,假設(shè)可以整除)為(ph,pw,w*h/ph/pw)。
為簡化描述,后面用h=300,w=300,ph=100,pw=100 為例,即處理后d=9。
numpy.reshape 的文檔:點(diǎn)擊打開鏈接
特別注意第三個(gè)參數(shù) order,其默認(rèn)取值為 order=‘C',表示最后一個(gè)維度的元素在reshape時(shí)優(yōu)先重排位置。而order=‘F'時(shí)則相反,第一個(gè)維度的元素優(yōu)先重排位置。
例子如下,得到的im2就是這么一個(gè)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 對(duì)圖像進(jìn)行切割的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實(shí)現(xiàn)將文本轉(zhuǎn)換成語音的方法
這篇文章主要介紹了python實(shí)現(xiàn)將文本轉(zhuǎn)換成語音的方法,涉及Python中pyTTS模塊的相關(guān)使用技巧,需要的朋友可以參考下2015-05-05對(duì)pandas中apply函數(shù)的用法詳解
下面小編就為大家分享一篇對(duì)pandas中apply函數(shù)的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python代碼集pathlib應(yīng)用之獲取指定目錄下的所有文件
這篇文章主要介紹了Python代碼集pathlib應(yīng)用之獲取指定目錄下的所有文件,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03如何使用 Python 中的功能和庫創(chuàng)建 n-gram
在計(jì)算語言學(xué)中,n-gram 對(duì)于語言處理、上下文和語義分析非常重要,它們是從令牌字符串中相鄰的連續(xù)單詞序列,本文將討論如何使用 Python 中的功能和庫創(chuàng)建 n-gram,感興趣的朋友一起看看吧2023-09-09Python使用Pygame實(shí)現(xiàn)時(shí)鐘效果
這篇文章主要為大家詳細(xì)介紹了Python使用Pygame實(shí)現(xiàn)時(shí)鐘效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08Python實(shí)現(xiàn)登錄人人網(wǎng)并抓取新鮮事的方法
這篇文章主要介紹了Python實(shí)現(xiàn)登錄人人網(wǎng)并抓取新鮮事的方法,可實(shí)現(xiàn)Python模擬登陸并抓取新鮮事的功能,需要的朋友可以參考下2015-05-05