簡體   English   中英

如何使用圖像模塊在Python中按比例放大圖像?

[英]How to scale up an image in Python with an image module?

無法附加圖像,但未填充新的4像素塊。 它交替並在兩個通道中留下黑色像素。

def scale_up(img):
"""
(Image object) -> Image object
Returns a copy of img that is blown up by a factor of 2.  The new 
image is twice as wide and twice as high.  Each pixel in the original 
image is mapped to the corresponding 4 pixels in new image.
"""
w = img.width()
h = img.height()
scale_up_img = image.new_image(w * 2, h * 2)

# loop over every (x,y) pair
for x in range(w):
    for y in range(h):
        # get rgb values
        r, g, b = img.get_rgb(x, y)
        scale_up_img.set_rgb(x * 2 + 1, y * 2 + 1, r, g, b)
        scale_up_img.set_rgb(x * 2, y * 2, r, g, b)
return scale_up_img  # return img object

http://i.stack.imgur.com/8yVMK.jpg

由於每個輸出像素由一個輸入像素的4個副本組成,因此需要4條語句來進行設置。

    scale_up_img.set_rgb(x * 2 + 1, y * 2 + 1, r, g, b)
    scale_up_img.set_rgb(x * 2 + 1, y * 2, r, g, b)
    scale_up_img.set_rgb(x * 2, y * 2 + 1, r, g, b)
    scale_up_img.set_rgb(x * 2, y * 2, r, g, b)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM