初级
实现图像缩放线性映射
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
image_size = (300,300)
total_pixels = image_size[0] * image_size[1]
square_count = 30 #<1>
square_width = 10
def ij(n):
return (n // image_size[0], n % image_size[1])
def to_lowres_grayscale(img): #<2>
matrix = [
[0 for i in range(0,square_count)]
for j in range(0,square_count)
]
for (n,p) in enumerate(img.pixels):
i,j = ij(n)
weight = 1.0 / (3 * square_width * square_width)
matrix[i // square_width][ j // square_width] += (sum(p) * weight)
return matrix
def from_lowres_grayscale(matrix): #<3>
def lowres(pixels, ij):
i,j = ij
return pixels[i // square_width][ j // square_width]
def make_highres(limg):
pixels = list(matrix)
triple = lambda x: (x,x,x)
return ImageVector([triple(lowres(matrix, ij(n))) for n in range(0,total_pixels)])
return make_highres(matrix)
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199