在绘图之前在python上的图像上反转Y轴

时间:2017-03-09 14:58:16

标签: python image-processing matplotlib plot

您好,感谢您的帮助,我的问题是: 我正在使用卫星图像和shapefile处理python,两者都是原始的地理投影并将其传递给像素,因此当我首先绘制Landsat图像时,我不介意轴的位置,但是当我添加到二维数组shapefile,区域(在本例中)是颠倒的(我知道为什么因为图像原点的位置与正常情节不同。

我尝试应用origin ='lower',但这是最终结果,当添加了image和shapefile并且不是我想要的。也可以在添加到图像之前尝试.reverse(),[:: - 1]到Y轴数组,但没有好结果,希望你能帮助我。

这是丛林地区的情节(秘鲁,如果你想知道的话),蓝框是我想在Landsat上显示的区域(卫星图像):

http://imgur.com/YlM8zhX

这是转换为像素的区域并添加到卫星图像中,看看由于原点的位置与第一张图像相比,它是如何反转的 !http://imgur.com/VJN7QYW

感谢您的帮助。

编辑:这是一种代码(非常广泛,所以最重要的是这个

#THIS IS THE BORDER AREA EXTRACTED FROM THE SHAPEFILE AND ALREADY CONVERTED TO PIXEL

mos_ext = mos_total[(m0):(m1+1), int(minXY[0]):int(maxXY[0]+1 )]

#I just dilate a little for better visualization
mask3 = cv2.getStructuringElement(cv2.MORPH_RECT, (6, 6))
mos_ext=cv2.dilate(mos_ext, mask3, iterations=1)

#This IS THE LANDSAT IMAGE
im_ls2=mask_bi3.copy()

ADDING THE BORDERS OF AREA (WHAT IS SHOWN ON RED ON THE SECOND IMAGE)
coorde=np.where(mos_ext==255)
im_ls2[coorde[0], coorde[1], 0] = 255
im_ls2[coorde[0], coorde[1], 1] = 0
im_ls2[coorde[0], coorde[1], 2] = 0


fig3, axes3 = plt.subplots(1)
axes3.imshow(im_ls2, cmap='gray', interpolation='nearest')

0 个答案:

没有答案