作者 | 小欣

来源 | Python爱好者集中营

今天是开工第一天,这篇文章可以算作是虎年的第一篇干货技术类文章了,今天小编用Python做了一个网页版的“P图软件”,大致的流程在于我们可以将上传的照片进行黑白处理、铅笔素描处理、模糊化处理等一系列操作,具体如下

下面我们来看一下该整个网页是怎么写的

网页左侧的工具栏部分

首先第一步在于导入我们所需要用到的模块,代码如下

import streamlit as st
import numpy as np
import cv2
from PIL import Image, ImageEnhance

我们先设计到网页当中的标题和左边的工具栏,左边的工具栏部分代码如下

st.sidebar.markdown('<p class="font">My First Photo Converter App</p>', unsafe_allow_html=True)
with st.sidebar.expander("About the App"):st.write("""Use this simple app to convert your favorite photo to a pencil sketch, a grayscale image or an image with blurring effect.  \n  \nThis app was created by Junxin as a side project to learn Streamlit and computer vision. Hope you enjoy!""")

首先在工具栏当中添加的是关于该应用的介绍,通过调用streamlit模块当中的sidebar方法来生成一个下拉框,在通过点击“+”键来打开,

然后则是5个单选框,代码如下

filter = st.sidebar.radio('Covert your photo to:', ['Original', 'Gray Image', 'Black and White', 'Pencil Sketch', 'Blur Effect'])

单选框是通过sidebar方法来实现的,当中添加上分别是哪些的单选项,

紧接着是最后的“感谢反馈”的部分,代码如下

st.sidebar.title(' ')
st.sidebar.markdown(' ')
st.sidebar.subheader('Please help us improve!')
with st.sidebar.form(key='columns_in_form',clear_on_submit=True): rating=st.slider("Please rate the app", min_value=1, max_value=5, value=3,help='Drag the slider to rate the app. This is a 1-5 rating scale where 5 is the highest rating')text=st.text_input(label='Please leave your feedback here')submitted = st.form_submit_button('Submit')if submitted:.......

网页正文的标题部分

标题部分的代码如下

with col1:st.markdown(""" <style> .font {font-size:35px ; font-family: 'Cooper Black'; color: #FF9633;} </style> """, unsafe_allow_html=True)st.markdown('<p class="font">Upload your photo here...</p>', unsafe_allow_html=True)

当然除此之外,我们需要的是上传图片的功能,代码如下

uploaded_file = st.file_uploader("", type=['jpg', 'png', 'jpeg'])

这里调用的是streamlit模块当中的file_uploader方法,其中允许上传的有三种文件格式,分别是jpgpng以及jpeg

接下去便是上传图片的处理逻辑部分,代码如下,

with col2:filter = st.sidebar.radio('Covert your photo to:', ['Original', 'Gray Image', 'Black and White', 'Pencil Sketch', 'Blur Effect'])if filter == 'Gray Image':converted_img = np.array(image.convert('RGB'))gray_scale = cv2.cvtColor(converted_img, cv2.COLOR_RGB2GRAY)......elif filter == 'Black and White':......elif filter == 'Pencil Sketch':......elif filter == 'Blur Effect':......else:st.image(image, width=300)

资讯

谷歌使出禁用2G大招

资讯

大型模型语言能够理解吗?

技术

创意十足的Python命令行工具

资讯

游戏圈地震级消息,微软收购动视暴雪

分享

点收藏

点点赞

点在看

Python 写了一个网页版的「P图软件」,惊呆了!相关推荐

  1. 用Python写了一个网页版的美图秀秀,惊呆了

    今天小编用Python做了一个网页版的"P图软件",大致的流程在于我们可以将上传的照片进行黑白处理.铅笔素描处理.模糊化处理等一系列操作,具体如下 下面我们来看一下该整个网页是怎么 ...

  2. python写机器人程序_用Python写的一个多线程机器人聊天程序

    本人是从事php开发的, 近来想通过php实现即时通讯(兼容windows).后来发现实现起来特别麻烦, 就想到python.听说这家伙在什么地方都能发挥作用.所以想用python来做通讯模块...所 ...

  3. [html] 如果让你实现一个网页版的办公表格(类似excel),你觉得是否可行?如果可行应该怎么做?

    [html] 如果让你实现一个网页版的办公表格(类似excel),你觉得是否可行?如果可行应该怎么做? 尝试过写,底层还是用table,td,tr. 难点在于范围性选择单元格,横纵单元格合并互相不影响 ...

  4. 我用Python写了一个成语接龙的游戏,并把它部署到了手机上

    我用Python写了一个成语接龙的游戏,并把它部署到了手机上 成语大全数据 6月高考的前一天,我发布的一篇文章,决战高考,帮你秒变成语之王,当时只是把 http://chengyu.haoshiwen ...

  5. 为了帮学姐完成了钢琴家梦想,我用Python写了一个自动弹钢琴脚本,轻松弹奏出《天空之城》

    人生苦短,我用Python 絮叨絮叨 效果展示 功能实现 代码实现 准备演奏 絮叨絮叨 事情是这样的,学姐马上要毕业了,前两天跟我彻夜长谈,还说自己一直有个钢琴家的梦想. 这不为了帮学姐圆梦,在我经过 ...

  6. 为了帮女神完成钢琴家梦想,我用Python写了一个自动弹钢琴脚本,轻松弹奏出各种钢琴曲!

    事情是这样的,女神马上要毕业了,前两天跟我彻夜长谈,还说自己一直有个钢琴家的梦想. 这不为了帮女神圆梦,在我经过一番苦思冥想之后,终于用Python写了一个自动弹钢琴脚本,不会钢琴的都能成为钢琴家. ...

  7. python写采集程序_用python写的一个wordpress的采集程序

    在学习python的过程中,经过不断的尝试及努力,终于完成了第一个像样的python程序,虽然还有很多需要优化的地方,但是目前基本上实现了我所要求的功能,先贴一下程序代码: 具体代码如下: #! /u ...

  8. 用 python 写了一个日记本

    写一个随机任务抽取器 一.前言 二.逻辑构思 2.1 目标实现 2.2 搭建开发环境 2.3 Pyinstaller 打包 三.效果展示 3.1 初始化和添加日记 3.2 查看日记 3.3 删除日记 ...

  9. python卖水果_小姨开水果店的,所以今天用Python写了一个水果店小系统!

    原标题:小姨开水果店的,所以今天用Python写了一个水果店小系统! 前言 今天晚上才刚下班,小姨就提了我最爱吃的榴莲过来,说不吃就坏了. 我一眼就看破了她的用意,哈哈哈 我这个小姨也是一起长大的,她 ...

最新文章

  1. Git指南-Git-flow开发流程
  2. Itext导出pdf文件
  3. 第48讲:分布式利器 Scrapy-Redis 原理
  4. 浅谈 RocketMQ、Kafka、Pulsar 的事务消息
  5. SploitFun Linux x86 Exploit 开发系列教程
  6. sql服务器内存不足_SQL Server内存性能指标–第2部分–可用字节,总服务器和目标服务器内存
  7. 设计模式学习笔记之二:观察者模式
  8. 俄罗斯方块Python
  9. 使用Python Tkinter开发GPGGA的坐标转换工具
  10. 安卓QQ协议抓包教程
  11. Jmeter使用技巧集锦大全
  12. 设置合适的密码策略chage命令
  13. mac ubuntu双系统EFI分区修复,内置磁盘分区修复
  14. 深度linux已连网但无法访问互联网,wifi已连接但无法访问互联网怎么办?
  15. PAT乙级10019题——C语言
  16. windows7 安装哪个版本的vs_轻钢龙骨vs木龙骨 吊顶安装选哪个好,看完立刻做出了选择...
  17. poi实现word文档转pdf格式
  18. 什么是IP?IP为什么要隔离?浏览器如何实现IP隔离?
  19. Linux下clock_gettime函数详解
  20. 成都网络推广浅析怎样让网站的文章能够快速收录?

热门文章

  1. 集群概述及原理笔记(1)
  2. 开源 免费 java CMS - FreeCMS1.9 全文检索
  3. 基于animation.css实现动画旋转特效
  4. php_mongo.dll下载(php操作mongoDB需要)
  5. 基于HTML5的电信网管3D机房监控应用
  6. 性能优化之Java(Android)代码优化
  7. 2-7-PatchesAdministration
  8. ESX上ORACLE 10.2RAC(4.在REHAT4.7中安装ORACLE RAC)
  9. 阅读Book: MultiObjective using Evolutionary Algorithms (1) --prologue 单目标和多目标的不同
  10. 问题二:相关性怎么引入?