Jupyter Notebook单元不断运行永不停止

问题描述

在我的课程中,我必须创建以下图片(一张没有效果)

enter image description here

以下是我到目前为止尝试过的内容:

import PIL
from PIL import Image
from PIL import ImageEnhance
from PIL import ImageDraw
from PIL import ImageFont

fnt = ImageFont.truetype('readonly/fanwood-webfont.ttf',75)
# read image and convert to RGB
image=Image.open("readonly/msi_recruitment.gif").convert('RGB')
drawing_object = ImageDraw.Draw(image)

# build a list of 9 images which have different brightnesses
enhancer=ImageEnhance.Brightness(image)
images=[]
x = 0
for i in range(0,10):
    x += 1
    z = x 
    if x % 3 == 0 :
        z = 9
        drawing_object.rectangle((0,450,800,325),fill='black')
        drawing_object.text((20,350),'channel intensity 0.{}'.format(z),font=fnt,fill=(255,255,255))

    elif x % 3 == 1: 
        z = 1
        drawing_object.rectangle((0,255))

    else:
        z = 5
        drawing_object.rectangle((0,255))
    images.append(enhancer.enhance(10/10))

## create a contact sheet from different brightnesses
first_image=images[0]
contact_sheet=PIL.Image.new(first_image.mode,(first_image.width*3,first_image.height*3))
x=0
y=0

for img in images:
    # Lets paste the current image into the contact sheet
    
    contact_sheet.paste(img,(x,y) )
    
    #-->> I think the problem starts HERE <<--
    pixels = img.load()
    w = image.width
    h = image.height

    for x in range(3 * w):
        for y in range(3 * h):

            #-------0th row---------

            if x in range(0,w) and y in range(0,h): # grid[0,0]
                for i in range(w):
                    for j in range(h):
                        pixels[i,j] = (0,90)

            elif x in range(w,2 * w) and y in range(0,1]
                for i in range(w):
                    for j in range(h):
                        pixels[i,50)

            elif x in range(2 * w,3 * w) and y in range(0,2]
                for i in range(w):
                    for j in range(h):
                        pixels[i,10)

            #--------1st row---------


            elif x in range(0,w) and y in range(h,2 * h): # grid[1,j] = (90,0)

            elif x in range(w,2 * w) and y in range(h,j] = (50,90)

            elif x in range(2 * w,3 * w) and y in range(h,j] = (10,0)

            #--------2nd row----------

            elif x in range(0,w) and y in range(2 * h,3 * h): # grid[2,90,2 * w) and y in range(2 * h,50,0)

            elif x in range(2 * w,3 * w) and y in range(2 * h,2]
                for i in range(w):
                    for j in range(h):        
                        pixels[i,10,0)
    
    # Now we update our X position. If it is going to be the width of the image,then we set it to 0
    # and update Y as well to point to the next "line" of the contact sheet.
    if x+first_image.width == contact_sheet.width:
        x=0
        y=y+first_image.height
    else:
        x=x+first_image.width



# resize and display the contact sheet
contact_sheet = contact_sheet.resize((int(contact_sheet.width/2),int(contact_sheet.height/2) ))


        
display(contact_sheet)

image是我得到的。当我运行此程序时,Jupyter Notebook单元将继续运行[*]。好吧,在我用pixels添加代码的一部分(在#-->> I think the problem starts HERE <<--之后)之前,我在完全相同的视图中具有此网格,但是没有颜色效果。但是现在,我可能犯了一些错误。

感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)