Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:当作物超出范围时,将值设置为0_Python_Image_Numpy_Crop - Fatal编程技术网

Python:当作物超出范围时,将值设置为0

Python:当作物超出范围时,将值设置为0,python,image,numpy,crop,Python,Image,Numpy,Crop,所以我试着从一张图像中裁剪出一个250x250的图像。我将每个维度从-125裁剪到125,因此,它超出了范围。我想将所有超出范围的值都设置为0。目前,我有以下几点: im\u crapped=im[-125:125,-125:125] 但是,这会输出一个错误,因为不存在负指数。有没有一种方法可以生成一个250x250的裁剪,并且所有超出边界的像素都设置为0 import numpy as np cropSize = 250 im_cropped = np.zeros_like(im) bidx

所以我试着从一张图像中裁剪出一个250x250的图像。我将每个维度从-125裁剪到125,因此,它超出了范围。我想将所有超出范围的值都设置为0。目前,我有以下几点:

im\u crapped=im[-125:125,-125:125]

但是,这会输出一个错误,因为不存在负指数。有没有一种方法可以生成一个250x250的裁剪,并且所有超出边界的像素都设置为0

import numpy as np
cropSize = 250
im_cropped = np.zeros_like(im)
bidx = (np.array(im.shape)-cropSize)/2
eidx = bidx + cropSize
cropSlice = np.s_[bidx[0]:eidx[0],bidx[1]:eidx[1]]
im_cropped[cropSlice] = im[cropSlice]
我想这会满足你的要求。它创建一个全零数组,然后从原始图像复制中间的250x250正方形。np.s_uz[]技巧创建了一个slice对象,可以与多个数组一起使用,而无需重写slice


我想这会满足你的要求。它创建一个全零数组,然后从原始图像复制中间的250x250正方形。np.s_u[]技巧创建了一个slice对象,可以与多个数组一起使用,而无需重写slice。

im的类型是什么?如果它是一个
numpy
数组,那么“-125”表示“后面的125个元素”。im的类型是什么?如果它是一个
numpy
数组,那么“-125”表示“后面的125个元素”。