1、给出如下图片。
2、我用python处理图片变形,得到下面的图片。import matplotlib.image as pmfrom numpy import *p='D:/HintSoft/Hint-W7/Desktop/photo/0.jpeg'a=pm.imread(p)c=a*0u,v,w=c.shapefor i in range(u): for j in range(v): c[abs(int(i+2*j))%u,abs(int(j+2*i))%v]=a[i,j]pm.imsave('D:/HintSoft/Hint-W7/Desktop/photo/00.png',c)
3、用读图器放大图片,可以看到很多黑色像素,这些像素的像素值其实是[0,0,0]。
4、用python对图像进行插值处理:for i in range(1,u-1): for j in range(1,v-1): c[i,j]=(c[i,j-1]*0.5+c[i,j+1]*0.1+c[i-1,j]*0.1+c[i+1,j]*0.1)pm.imsave('D:/HintSoft/Hint-W7/Desktop/photo/0.png',c*6)图像如下。
5、用读图器放大图片,可以发现,黑色像素被别的颜色代替了。
6、如果进行这样的处理:for i in range(1,u-1): for j in range(1,v-1): c[i,j]=(c[i,j-1]*0.5+c[i,j+1]*0.1+c[i-1,j]*0.5+c[i+1,j]*0.1)pm.imsave('D:/HintSoft/Hint-W7/Desktop/photo/0.png',c*6)下面是按比例缩小之后的图片。
7、for i in range(1,u-1): for j in range(1,v-1): c[i,j]=(c[i,j-1]+c[i,j+1]+c[i-1,j]+c[i+1,j])/4pm.imsave('D:/HintSoft/Hint-W7/Desktop/photo/0.png',c*6)
8、只处理黑色像素:for i in range(1,u-1): for j in range(1,v幻腾寂埒-1): if c[i,j,0]==0 and c[i,j,1]==0 and c[i,j,2]==0: c[i,j]=(c[i,j-1]+c[i,j+1]+c[i-1,j]+c[i+1,j])/4pm.imsave('D:/HintSoft/Hint-W7/Desktop/photo/0.png',c*6)
9、用黑色像素左右两边的像素来确定颜色:for i in range(1,u-1): for j in range(1,v-1): if c[i,j,0]==0 and c[i,j,1]==0 and c[i,j,2]==0: c[i,j]=(c[i-1,j]*0.7+c[i+1,j]*0.3)pm.imsave('D:/HintSoft/Hint-W7/Desktop/photo/0.png',c)