Python实现马赛克图片处理

news/2025/1/18 4:46:33/

文章目录

  • 读取图片代码
    • 1、导入使用包
    • 2、读取图片
  • 操作图片
    • 1、上下翻转
    • 2、左右翻转
    • 3、颜色颠倒
    • 4、降低图片精度
    • 5、打马赛克

说明: 在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)

在这里插入图片描述


http://www.ppmy.cn/news/1285515.html

相关文章

亚马逊鲲鹏系统一款自动化全能软件

亚马逊鲲鹏系统是一款专为亚马逊买家提供全方位功能的自动化软件。它不仅可以轻松实现自动注册、养号、测评、QA等一系列操作,更在用户关心的账号关联问题上做出了创新性的解决方案。有的朋友可能对全自动化操作心存疑虑,担心可能引起关联从而导致封号&a…

K8S学习指南(48)-k8s的pod驱逐

文章目录 引言什么是Pod的驱逐?驱逐的原因1. 节点故障2. 资源不足 驱逐策略1. 优雅终止2. PodDisruptionBudget 实际应用示例结论 引言 Kubernetes(K8s)是一款开源的容器编排平台,具有强大的调度和管理能力。在容器化应用部署到K…

实施阶段(2023年12月)

【项目活动3】通过游戏体验,发现我们设计的小程序只能PK一次,如果要多次PK,又该如何修改程序呢? 师引导:重复多次PK涉及到哪种算法结构? 学生复习:循环语句。 师生共同复习循环结构算法,重点…

Evidential Deep Learning to Quantify Classification Uncertainty

本片文章发表于NeurIPS 2018。 文章链接:https://arxiv.org/abs/1806.01768 一、概述 近年来,神经网络在不同领域取得了革命性的进步,尤其是在dropout、normalization以及skip connection等方法被提出之后,撼动了整个机器学习领…

mac安装k8s环境

安装kubectl brew install kubectl 确认一下安装的版本 kubectl version --client 如果想在本地运行kubernetes 需要安装minikube brew install minikube 需要注意安装minikube需要本地的docker服务是启动的 启动 默认连接的是google的仓库 minikube start 指定阿…

【开题报告】基于SpringBoot的茶文化宣传网站设计与实现

1.研究背景和意义 1.1研究背景 茶文化是中国传统文化的重要组成部分,具有悠久的历史和丰富的内涵。茶文化不仅是一种饮食文化,更是一种生活方式和精神追求。然而,在当今快节奏的生活中,茶文化逐渐被人们所忽视。为了加强对茶文化…

SONiC和ONL所依赖的Debian版本说明

Debian 的最新几个版本 下一代 Debian 正式发行版的代号为 trixie — 测试(testing)版 Debian 12 (bookworm) — 当前的稳定(stable)版 Debian 11 (bullseye) — 当前的旧的稳定(oldstable)版 Debian 10&a…

QML —— Tcp网络通信实例(qml前端,C++后端。附完整源码)

示例 - 效果 实例 - 源码 main.qml import QtQuick 2.12 import QtQuick.Window 2.12 import QtQuick