Python 写了一个网页版的「P图软件」,惊呆了!
作者 | 小欣
来源 | 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
方法,其中允许上传的有三种文件格式,分别是jpg
、png
以及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图软件」,惊呆了!相关推荐
- 用Python写了一个网页版的美图秀秀,惊呆了
今天小编用Python做了一个网页版的"P图软件",大致的流程在于我们可以将上传的照片进行黑白处理.铅笔素描处理.模糊化处理等一系列操作,具体如下 下面我们来看一下该整个网页是怎么 ...
- python写机器人程序_用Python写的一个多线程机器人聊天程序
本人是从事php开发的, 近来想通过php实现即时通讯(兼容windows).后来发现实现起来特别麻烦, 就想到python.听说这家伙在什么地方都能发挥作用.所以想用python来做通讯模块...所 ...
- [html] 如果让你实现一个网页版的办公表格(类似excel),你觉得是否可行?如果可行应该怎么做?
[html] 如果让你实现一个网页版的办公表格(类似excel),你觉得是否可行?如果可行应该怎么做? 尝试过写,底层还是用table,td,tr. 难点在于范围性选择单元格,横纵单元格合并互相不影响 ...
- 我用Python写了一个成语接龙的游戏,并把它部署到了手机上
我用Python写了一个成语接龙的游戏,并把它部署到了手机上 成语大全数据 6月高考的前一天,我发布的一篇文章,决战高考,帮你秒变成语之王,当时只是把 http://chengyu.haoshiwen ...
- 为了帮学姐完成了钢琴家梦想,我用Python写了一个自动弹钢琴脚本,轻松弹奏出《天空之城》
人生苦短,我用Python 絮叨絮叨 效果展示 功能实现 代码实现 准备演奏 絮叨絮叨 事情是这样的,学姐马上要毕业了,前两天跟我彻夜长谈,还说自己一直有个钢琴家的梦想. 这不为了帮学姐圆梦,在我经过 ...
- 为了帮女神完成钢琴家梦想,我用Python写了一个自动弹钢琴脚本,轻松弹奏出各种钢琴曲!
事情是这样的,女神马上要毕业了,前两天跟我彻夜长谈,还说自己一直有个钢琴家的梦想. 这不为了帮女神圆梦,在我经过一番苦思冥想之后,终于用Python写了一个自动弹钢琴脚本,不会钢琴的都能成为钢琴家. ...
- python写采集程序_用python写的一个wordpress的采集程序
在学习python的过程中,经过不断的尝试及努力,终于完成了第一个像样的python程序,虽然还有很多需要优化的地方,但是目前基本上实现了我所要求的功能,先贴一下程序代码: 具体代码如下: #! /u ...
- 用 python 写了一个日记本
写一个随机任务抽取器 一.前言 二.逻辑构思 2.1 目标实现 2.2 搭建开发环境 2.3 Pyinstaller 打包 三.效果展示 3.1 初始化和添加日记 3.2 查看日记 3.3 删除日记 ...
- python卖水果_小姨开水果店的,所以今天用Python写了一个水果店小系统!
原标题:小姨开水果店的,所以今天用Python写了一个水果店小系统! 前言 今天晚上才刚下班,小姨就提了我最爱吃的榴莲过来,说不吃就坏了. 我一眼就看破了她的用意,哈哈哈 我这个小姨也是一起长大的,她 ...
最新文章
- Git指南-Git-flow开发流程
- Itext导出pdf文件
- 第48讲:分布式利器 Scrapy-Redis 原理
- 浅谈 RocketMQ、Kafka、Pulsar 的事务消息
- SploitFun Linux x86 Exploit 开发系列教程
- sql服务器内存不足_SQL Server内存性能指标–第2部分–可用字节,总服务器和目标服务器内存
- 设计模式学习笔记之二:观察者模式
- 俄罗斯方块Python
- 使用Python Tkinter开发GPGGA的坐标转换工具
- 安卓QQ协议抓包教程
- Jmeter使用技巧集锦大全
- 设置合适的密码策略chage命令
- mac ubuntu双系统EFI分区修复,内置磁盘分区修复
- 深度linux已连网但无法访问互联网,wifi已连接但无法访问互联网怎么办?
- PAT乙级10019题——C语言
- windows7 安装哪个版本的vs_轻钢龙骨vs木龙骨 吊顶安装选哪个好,看完立刻做出了选择...
- poi实现word文档转pdf格式
- 什么是IP?IP为什么要隔离?浏览器如何实现IP隔离?
- Linux下clock_gettime函数详解
- 成都网络推广浅析怎样让网站的文章能够快速收录?
热门文章
- 集群概述及原理笔记(1)
- 开源 免费 java CMS - FreeCMS1.9 全文检索
- 基于animation.css实现动画旋转特效
- php_mongo.dll下载(php操作mongoDB需要)
- 基于HTML5的电信网管3D机房监控应用
- 性能优化之Java(Android)代码优化
- 2-7-PatchesAdministration
- ESX上ORACLE 10.2RAC(4.在REHAT4.7中安装ORACLE RAC)
- 阅读Book: MultiObjective using Evolutionary Algorithms (1) --prologue 单目标和多目标的不同
- 问题二:相关性怎么引入?