今天小编用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)

END

各位伙伴们好,詹帅本帅搭建了一个个人博客和小程序,汇集各种干货和资源,也方便大家阅读,感兴趣的小伙伴请移步小程序体验一下哦!(欢迎提建议)

推荐阅读

牛逼!Python常用数据类型的基本操作(长文系列第①篇)

牛逼!Python的判断、循环和各种表达式(长文系列第②篇)

牛逼!Python函数和文件操作(长文系列第③篇)

牛逼!Python错误、异常和模块(长文系列第④篇)

用Python写了一个网页版的美图秀秀,惊呆了相关推荐

  1. Python 写了一个网页版的「P图软件」,惊呆了!

    作者 | 小欣 来源 | Python爱好者集中营 今天是开工第一天,这篇文章可以算作是虎年的第一篇干货技术类文章了,今天小编用Python做了一个网页版的"P图软件",大致的流程 ...

  2. python 制作自己的新闻_新闻-十行代码,用Python做一个迷你版的美图秀秀

    十行代码,用Python做一个迷你版的美图秀秀 2020-02-28 10:16:08 作者: 匿名 浏览量:65次 美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以P掉图片中脸上的一些瑕疵,让 ...

  3. 十行代码,我用Python做一个迷你版的美图秀秀!

    美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以P掉图片中脸上的一些瑕疵,让人变得更加的美丽.今天小编就带领大家来借助Python和Flask来实现一个美图秀秀的网页设计,大家只需要通过网页上传 ...

  4. python 两点曲线_十行代码,用Python做一个迷你版的美图秀秀

    美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以P掉图片中脸上的一些瑕疵,让人变得更加的美丽.今天小编就带领大家来借助Python和Flask来实现一个美图秀秀的网页设计,大家只需要通过网页上传 ...

  5. 【Python】我用十行代码做了一个迷你版的美图秀秀

     前言 美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以P掉图片中脸上的一些瑕疵,让人变得更加的美丽.今天就带领大家来借助Python和Flask来实现一个美图秀秀的网页设计,大家只需要通过网页 ...

  6. 十行代码,用Python做一个迷你版的美图秀秀

    美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以P掉图片中脸上的一些瑕疵,让人变得更加的美丽.今天小编就带领大家来借助Python和Flask来实现一个美图秀秀的网页设计,大家只需要通过网页上传 ...

  7. linux裁剪图片的软件,【美图秀秀Linux版】美图秀秀Linux版下载 v1.0.0.0 免费最新版-趣致软件园...

    美图秀秀Linux版是一款专门针对linux系统所推出的图片处理及美化工具,用户通过这款软件可以对图片进行简单的处理,比如说:调清晰度.加水印以及一键裁剪等等,这样就能够为用户的工作生活带来极大的便利 ...

  8. 美图秀秀网页版新功能上线 新增磨皮祛痘

    在人物照片的后期处理中,磨皮祛痘向来是一个比较重要的环节,特别是人像自拍.写真照等.不过,别以为这是件多么难做的事儿,因为美图秀秀网页版新上线了"磨皮祛痘"功能,也就是说以后不用东 ...

  9. typescript用什么软件写_用TypeScript写了个低配版H5美图工具

    前言 最近两月在学习canvas时候,发现很多有意思的技术能力,特别是在图像处理这一领域.让我想起大学课堂教学的<数字图像处理>(冈萨雷斯 版本).但是很遗憾的是,大学上完课应付考试后全部 ...

最新文章

  1. 【2018.2.25】c++预习练习
  2. R语言ggplot2可视化(facet图)使得第一个子图的坐标轴范围一致
  3. AutoFac使用方法总结:Part III
  4. 编排管理成容器云关键,Kubernetes和Swarm该选谁
  5. HTML form 标签的 action 属性
  6. java学习(96):线程的睡眠
  7. 机器学习之LDA主题模型算法
  8. JAVA服务器没回应_Java Socket为什么服务器无法回复客户端
  9. 贝莱德集团CEO劳伦斯·芬克: 伟大的公司,都有一个长期战略
  10. c++语言boolean例子,C++语言——99个常见编程编程 学习小结
  11. Java面试题全集(上)
  12. FastDFS文件上传
  13. 几何公差基础知识之垂直度
  14. pytracking系列跟踪算法的配置(LWL, KYS, PrDiMP, DiMP and ATOM Trackers)(windows10版本)
  15. OAuth三方授权登录
  16. C++ delete指针需置空
  17. 用ClickHouse在GitHub上数星星
  18. VCS建立仿真生成DVE波形
  19. 计算机软件总体上分为,计算机软件分为哪两大类?它们各自的作用是什么?
  20. [语义分割]SPP、空洞卷积与ASPP总结

热门文章

  1. 六、redis主从同步
  2. 若依框架隐藏侧边导航栏
  3. 项目--点击按钮显示资料,点击空白处隐藏资料
  4. Go语言学习 2.在校学生GoLand资格认证(认证已实践成功方法)
  5. c语言奥运会志愿者报名系统,北京冬奥会和冬残奥会志愿者全球招募启动!
  6. 【哈佛精神】业余时间
  7. 荣耀 X40i什么时候发布 荣耀 X40i配置如何
  8. Word下划线对齐(解决下划线随字数增加而延长的问题)
  9. 傀儡娃娃作者 李欢:插画艺术IP的商业化之路 | 点评家
  10. 2023年7月十大热门后端编程语言排行榜