Python 使用遮罩裁剪图像
我有一幅图像,它的像素阵列是Python 使用遮罩裁剪图像,python,python-2.7,numpy,masked-array,Python,Python 2.7,Numpy,Masked Array,我有一幅图像,它的像素阵列是[79817891]。我通过插值为每个像素指定了一个纬度坐标。现在,我想尝试剪切图像的一个正方形部分,以便我的代码的其余部分仅适用于这个小部分。以下是我对掩蔽的尝试: def ostiamask(lat,lon): # lat and lon inputs are both 2d-arrays # ost_lat_max = 55.05 ost_lat_min = 55.00 ost_lon_max = -0.95 ost_lon_
[79817891]
。我通过插值为每个像素指定了一个纬度坐标。现在,我想尝试剪切图像的一个正方形部分,以便我的代码的其余部分仅适用于这个小部分。以下是我对掩蔽的尝试:
def ostiamask(lat,lon): # lat and lon inputs are both 2d-arrays #
ost_lat_max = 55.05
ost_lat_min = 55.00
ost_lon_max = -0.95
ost_lon_min = -1.00
lat = np.ma.array(lat)
for i in lat:
lat = np.ma.masked_outside(lat,i >= ost_lat_max, i <= ost_lat_min)
lon = np.ma.array(lon)
for i in lon:
lon = np.ma.masked_outside(lon,i >= ost_lon_max, i <= ost_lon_min)
lat_mask = np.ma.getmask(lat)
lon_mask = np.ma.getmask(lon)
lat_mask = np.array(lat_mask, dtype=int)
lon_mask = np.array(lon_mask, dtype=int)
pixel_coverage = np.logical_not(lat_mask) * np.logical_not(lon_mask)
print 'pixel mask sum', np.sum(pixel_coverage)
print 'pixel mask shape', ostia_pixel_coverage.shape #debugging purposes#
return pixel_coverage
def ostiamask(lat,lon):#lat和lon输入都是二维数组#
ost_lat_max=55.05
ost_lat_min=55.00
ost_lon_max=-0.95
ost_lon_min=-1.00
lat=np.ma.阵列(lat)
对于lat中的i:
lat=np.ma.外部屏蔽(lat,i>=ost\U lat\U max,i=ost\U lon\U max,i