组卷题库 > 高中信息技术试卷库
试题详情
有图像如图a所示,用以下算法记录图像的像素点分布。先将像素的颜色值进行调整,使之成为一幅黑白图像(如图b所示),再将黑白图像中像素点(0表示黑色,1表示白色)分布以列表形式存储,如[2310,321,1230……]表示先有231个连续的黑色像素,再接着是32个连续的白色像素,再接着是123个连续的黑色像素……,列表中部分数据如图c所示。

图 a

图b

图 c

实现上述功能的Python代码如下:

#导入库, 代码略

img=np.array(Image.open ("hz.png").convert("L"))       #将图像转换为二维矩阵

rows,cols=img.shape          #图像尺寸分别赋值,rows表示行数,cols表示列数

for i in range(rows):

    for j in range(cols):

        ifimg[i,j]>180:     #0~255表示256级灰度值,0表示黑色,255表示白色

            img[i,j]=1

        else:

            img[i,j]=0

plt.imshow(img,cmap="gray")    #显示灰度图像

plt.show ()   #弹出包含了图片的窗口

c=img[0,0]; cnt=0; ys=[]

for i in range(rows):

    for j in range(cols):

        if img[i,j]==c:

            ______

        else:

            ys.append(cnt*10+c)

            cnt=1

           

ys.append(cnt*10+c)

print(ys)

知识点
参考答案
采纳过本试题的试卷
教育网站链接