你好,欢迎进入江苏优软数字科技有限公司官网!

诚信、勤奋、创新、卓越

友好定价、专业客服支持、正版软件一站式服务提供

13262879759

工作日:9:00-22:00

photo to sketch 你以为Jupyter Notebook只能做这些?其实它还能开发网页应用

发布时间:2025-06-26

浏览次数:0

众多同学对此应当有所认知,然而,相当一部分同学依旧局限于对数据分析以及交互式开发的了解。

其实,除了这些之外, 还可以完成很多你意想不到的事情。

工具包的制作、幻灯片的构建、电子书的编纂、博客的撰写、报告的编制、数据看板的搭建、REST API的构建以及网页应用的开发等。

以网页应用开发为例,提及这一领域,众多同学首先联想到的是涉及前端开发、后端编程以及服务部署等一系列复杂环节,这些环节要求开发者掌握HTML、Java等必要技能。

其实,通过 就可以开发一款可部署的网页应用。

下面,就以一个图像处理的网页应用为例给大家演示一下。

准备工作

在进行正式的开发活动之前,需首先完成开发环境的搭建以及工具包的配置等基础准备工作。

环境配置

构建一个独立的虚拟空间,专为此网页应用服务,这样做的优势在于能够确保各应用环境相互独立,有效防止因项目或应用间工具包版本不一而引发的矛盾。

virtualenv sketchenv
source sketchenv/bin/activate

这里的是虚拟环境 的名称,你也可以起其他名称。

安装工具包

下面,就是按照开发网页应用需要的一些工具包:

mljar-mercury
opencv-python-headless
pillow
matplotlib 

其中之一是一款可以将内容转化为网页应用的框架,而其他的几款则是专门用于图像处理的工具集。

正式开始

下面,就正式开始开发工具。

首先,打开一个 的窗口:

jupyter notebook

然后,导入一些需要用到的工具包并对图像进行一下初始设置:

import os
import cv2
from PIL import Image
from matplotlib import pyplot as plt

import matplotlib as mpl
mpl.rcParams['figure.figsize'] = (12,12)
mpl.rcParams['axes.grid'] = False

请确保在一个全新的单元格中输入以下指令,请特别注意,务必单独开启一个新单元格photo to sketch,切勿将这段代码与其它单元格中的内容混合。

image_path = /home/jackpop/文件夹下的/Downloads/子文件夹中的/house.jpg文件
output_dir = "output_images"

是一个要处理图像的路径,是目录名,用于保存处理好的新图像。

在下一个单元中,将定义一个显示图像的函数:

def imshow图像,标题未指定,文件名未提供。:
    if len(image.shape) > 3:
将图像沿指定轴进行压缩处理,赋值给变量image。0)

    plt.imshow(image)
    plt.axis('off')
    if title:
        plt.title(title)
    if fname:
        plt.savefig(fname)

然后,载入图像并显示:

img = cv2.imread(image_path)
RGB图像数据=通过cv2库中的cvtColor函数,将原始图像img从BGR色彩空间转换成RGB色彩空间
imshow(RGB_img)

你会看到下图:

Jupyter Notebook 网页应用开发 _photo to sketch_ Jupyter Notebook 数据处理工具包

现在开始对图像进行处理,生成艺术素描图像:

# 图像转化

将灰度图像进行反转操作,即cv2.bitwise_not(grayed)。
将图像进行高斯模糊处理,具体操作为:通过调用cv2库中的GaussianBlur函数,对反转后的图像进行模糊处理,其中模糊核的大小为指定的参数。1919), sigmaX=0, sigmaY=0)
def blend(x, y):
    return cv2.divide(x, 255 - y, scale=256)
最终结果等于将灰度化图像与模糊化图像进行融合。

# 保存图像
将图片保存至指定目录,使用cv2库的imwrite函数,路径由output_dir与文件名组合而成。"sketch_photo.jpg"), final_result)

# 显示图像
RGB图像等于将最终结果通过cv2.cvtColor函数转换,转换格式从BGR到RGB。
imshow(RGB_img)

经过处理之后,你会看到如下图像:

 Jupyter Notebook 数据处理工具包 _photo to sketch_Jupyter Notebook 网页应用开发

到了这一步,关键性的代码编写已经全部结束,手中已经有了相应的代码,那么,接下来该如何着手开发这个网页应用程序呢?

这就需要使用之前安装好的工具包,正如之前所述,该工具包具备将其他应用转化为网页应用的功能。

首先,执行如下命令:

汞元素监测软件,sketch_app项目文件。

访问浏览器中的网址http://127.0.0.1:8000/,您将看到一个卡片界面,其具体展示如下:

Jupyter Notebook 网页应用开发 _ Jupyter Notebook 数据处理工具包 _photo to sketch

请点击卡片,你会看到它的警告信息,告诉你缺少YAML头。

Jupyter Notebook 网页应用开发 _ Jupyter Notebook 数据处理工具包 _photo to sketch

这实际上关乎到一个相当关键的要素——配置信息,它以yaml格式呈现,主要涵盖了标题以及一系列配置参数。

接下来,请于开头建立一个RAW格式的单元格,并输入相应的yaml配置内容。

---
title: Convert Photo to Sketch 
description: Create sketch from uploaded a photo
show-code: False
params:
    image_path:
        input: file
        label: Please upload a photo
    output_dir:
        output: dir
---

YAML配置包含如下信息:

接着,访问http://127.0.0.1:8000/,您会发现这个网页应用已经准备就绪,可以开始使用photo to sketch,您能够挑选图片、上传图片,并对图片进行相应的处理。

photo to sketch_ Jupyter Notebook 数据处理工具包 _Jupyter Notebook 网页应用开发

若您打算实现长期的系统部署,便可以利用诸如打包工具等手段,将应用软件打包并部署至服务器或云端,此后便能够随时投入使用。

此例仅展示了一种图像处理软件,实际上,借助API接口,我们能够轻松实现翻译、数据展示平台以及PDF编辑等多种功能。


如有侵权请联系删除!

13262879759

微信二维码