如何编程让图片放大,并提高分辨率

问题遇到的现象和发生背景

如何用程序把图片放大,改变像素大小,同时适当提高分辨率,就像Windows自带的画图工具里的效果,带锯齿这种的,如图

用代码块功能插入代码,请勿粘贴截图
Image.resize()


我的解答思路和尝试过的方法

用resize函数达不到想要的效果

我想要达到的结果

要这种的:

img

不要这种:

img


上面分辨率是144,下面的是96

用 3x3 的 kernel,扫描图像的每一个像素, kernel 与其覆盖的二值图像做 “与” 操作,如果都为0,结果图像的该像素为0;否则为1。达到将黑色像素扩大一倍的效果,最后再resize到指定分辨率。

具体为cv2.dilate(png, kernel) + cv2.resize(png,<插值算法参数>)