python实现图片马赛克处理

阿里云2000元红包!本站用户参与享受九折优惠!

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

1、代码

  • 导入使用包
import numpy as np
import matplotlib as plt
%matplotlib inline

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

读取图片:

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)

效果:


download.png

2、操作图片

  • 上下翻转
fish2 = fish[::-1]
plt.imshow(fish2)


download.png

  • 左右翻转
fish3 = fish[::, ::-1]
plt.imshow(fish3)


download.png

  • 颜色颠倒
fish4 = fish[::, ::, ::-1]
plt.imshow(fish4)


download.png

  • 降低图片精度
fish5 = fish[::4, ::4]
plt.imshow(fish5)


download.png

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


download.png
https://www.jianshu.com/p/16025aa9b9e7

Python量化投资网携手4326手游为资深游戏玩家推荐:《冒险家集结!《我的世界》Minecon嘉年华约你不见不散

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论