Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.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/python-2.7/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 使用遮罩裁剪图像_Python_Python 2.7_Numpy_Masked Array - Fatal编程技术网

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