Python实现马赛克图片处理

2023-12-28 19:38:28

说明: 在python中,图片可以看成一个三维的矩阵,第一维控制着垂直方向,第二维控制着水平方向,第三维控制颜色。

读取图片代码

1、导入使用包

import numpy as np
import matplotlib as plt
%matplotlib inline

使用%matplotlib inline可以省略plt.show()

2、读取图片

fish = plt.imread('./fish.png')
plt.imshow(fish)

得到的fish对象的值则为图片的矩阵

array([[[0.29411766, 0.39215687, 0.46666667],
        [0.46666667, 0.4862745 , 0.49803922],
        [0.4627451 , 0.4862745 , 0.5019608 ],
        ...,
        [0.4627451 , 0.48235294, 0.49803922],
        [0.45882353, 0.47843137, 0.49803922],
        [0.21960784, 0.33333334, 0.44313726]],

       [[0.2901961 , 0.3764706 , 0.44313726],
        [0.627451  , 0.6156863 , 0.60784316],
        [0.85490197, 0.85490197, 0.84705883],
        ...,
        [0.8627451 , 0.85882354, 0.8509804 ],
        [0.8509804 , 0.8509804 , 0.84313726],
        [0.30588236, 0.42352942, 0.5254902 ]],
         [[0.44705883, 0.45490196, 0.45490196],
        [0.65882355, 0.654902  , 0.654902  ],
        [1.        , 1.        , 1.        ],
        ...,
        [1.        , 1.        , 1.        ],
        [1.        , 1.        , 1.        ],
        [0.36078432, 0.49411765, 0.6       ]]], dtype=float32)

效果:
在这里插入图片描述

操作图片

1、上下翻转

fish2 = fish[::-1]
plt.imshow(fish2)

在这里插入图片描述

2、左右翻转

fish3 = fish[::, ::-1]
plt.imshow(fish3)

在这里插入图片描述

3、颜色颠倒

fish4 = fish[::, ::, ::-1]
plt.imshow(fish4)

在这里插入图片描述

4、降低图片精度

fish5 = fish[::4, ::4]
plt.imshow(fish5)

在这里插入图片描述

5、打马赛克

fish6 = fish.copy()
fish6[70:90, 80:120] = 0
plt.imshow(fish6)

在这里插入图片描述

文章来源:https://blog.csdn.net/qq_42349944/article/details/135246768
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。