近来做模板匹配遇到了一个小问题,简单分享一下自己的解决办法。
python使用plt.imshow在坐标轴上展示图片,坐标默认是从上到下,从左到右。咱们习惯于横坐标由左至右,纵坐标由下至上,默认这样的方式观看图表。
这样看这个图是不是很别扭。纵坐标左上角为0!所以需要咱们设置imshow()参数,修改图表的纵坐标的表示。
然而imshow()这个函数的参数有很多。如下,
matplotlib.pyplot.imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None,
vmin=None, vmax=None, origin=None, extent=None, shape=None,
filternorm=1, filterrad=4.0, imlim=None, resample=None,
url=None, hold=None, data=None, **kwargs
!!!如果咱们正常显示图片也需要plt.imshow(图表名)就可以了。后面的参数不修改都是默认的。查看很多博客都是说将参数origin设为’lower‘,就可以了。
plt.imshow(X,origin='lower')
但是,改完之后。。。怎么图像本身也颠倒了。。。这肯定不行啊。
于是思考许久,,,因为参数extent:(left, right, bottom, top),所以将extent参数设置为(0,图片的宽,0,图片的高)。
plt.imshow(X,extent=(0, width, 0, height))
这里宽和高可以调用opencv中.shape()函数。于是得到想要的结果!!!终于改成了。