当前位置: 高中信息技术 / 综合题
  • 1. (2023高二上·湖州期末) 有图像如图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):

            if img[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)

    1. (1) 由程序代码可知,对图像的记录方式采用(填字母: A .逐行记录/B .逐列记录 /C .随机记录) 。
    2. (2) 若得到图d颜色加深的图像,则划波浪线处 代码应修改为(   )(单选)

      图 d

      A . img[i,j]>210 B . img[i,j]>140 C . img[i,j]<140 D . img[i,j]<210
    3. (3) 在横线处填上合适的代码。
    4. (4) 程序加框处代码有错,请改正。

微信扫码预览、分享更方便