我正在使用caffe,sciki-image,opencv和matplotlib / pyplot进行图像分割。这项工作涉及一些图像大小调整。基本上,在我加载并调整图像大小后:
put_image = caffe.io.load_image(os.path.join(source_dir, pix)
input_image = caffe.io.resize_image(input_image, (600,500), interp_order=3)
我做了很多处理。一切顺利,直到我决定为图像添加一些轮廓:
fig, ax = plt.subplots(1, 1)
ax.imshow(image2)
...
ax.fill(vald[:, 0], vald[:, 1], fill=False, color='red', linewidth=1)
其中vald
是某个数组,image2
是处理过的input_image
保存后
fig.savefig(save_dir + str(idx) + ".png", bbox_inches = 'tight')
我得到这样的东西,它本质上是原始图像的裁剪版本
当然,我的第一反应是只裁剪图像并在之后调整大小,但结果却失去了很多质量(分辨率降低)。我尝试了here和here的建议,但也没有得到任何改进。
答案 0 :(得分:1)
跟进我的评论:
轴限制已更改。图像位于(0,0)和(500,600)之间的矩形中。然而,x和y-lim并不完全相同;它们的范围从(-100,-100)到(500,600)。只需使用ax.set_xlim([0, 500])
和ax.set_ylim([600, 0])
更新限制即可删除周围的白框。
注意:如果您还想隐藏标记,可以使用ax.set_xticks([])
和ax.set_yticks([])
轻松完成此操作,或者将标记的可见性设置为False
。