草庐IT

图片转素描风格处理软件详解(Python实现,含UI界面及代码)

思绪无限 2023-03-28 原文

摘要:本文主要介绍图片转素描风格的\(\color{#4285f4}{P}\color{#ea4335}{y}\color{#fbbc05}{t}\color{#4285f4}{h}\color{#34a853}{o}\color{#ea4335}{n}\)软件设计,图像处理部分基于\(\color{#4285f4}{O}\color{#ea4335}{p}\color{#fbbc05}{e}\color{#4285f4}{n}\color{#34a853}{C}\color{#ea4335}{V}\)实现,采用\(\color{#4285f4}{P}\color{#ea4335}{y}\color{#fbbc05}{Q}\color{#4285f4}{t}\color{#34a853}{5}\)进行界面设计,可通过调整界面参数改善图像效果,详细代码将在下篇博文中介绍,所有涉及的完整程序文件(包含pyUI界面、图标等)也会一并给出。素描作为一种表现风格独具艺术特色,手绘的素描画需要一定美术功底,但我们可以使用程序轻松将一幅图像转换为素描,具体实现细节将在本系列博文中详细介绍。

@

➷点击跳转至博文所有涉及的完整代码文件下载页☇


前言

    经常能看到许多修图软件上有图像艺术风格化的功能,如水彩画、素描画等,有了个自己实现个素描化处理程序的想法,正好今天是1024程序员节,写篇博文纪念下吧。

    这篇博文将对软件的基本功能和用法进行介绍,至于具体的实现我将通过几篇博文进行详细讲述,同时会出一期视频演示,还请大家多多关注了。详细代码将在下篇博文中介绍,所有涉及的完整程序文件(包含pyUI界面、图标等)也会一并给出,敬请期待!


1. 选择图片

    设计好的UI界面如下图所示:

    点击右侧选择图表可弹出文件选择框供用户选择图片文件:

2. 素描处理

    选择图片后,自动进行素描化处理:

    滑动插件调节参数值,以获得更优效果:

3. 保存图片

    点击菜单,选择保存素描化后的图片:

    点击保存后,图片自动保存到当前文件夹中:

    演示效果如下动图所示:


下载链接
    若您想获得博文中涉及的实现完整全部程序文件(包括数据集,py, UI文件等,如下图),这里已打包上传至博主的面包多下载资源中。本资源已上传至面包多网站,由于种种原因只能请感兴趣的自行搜索其位置,已将所有涉及的文件同时打包到里面,点击即可运行,完整文件下载链接如下:

下载链接:https://mbd.pub/o/bread/mbd-aZmblJw=

本资源已经过调试通过,下载后可通过Python环境运行;另外本程序也通过打包编译成exe文件,可双击runMain.exe文件直接运行所有功能(无需Python环境)。


结束语

    由于博主能力有限,博文中提及的方法即使经过试验,也难免会有疏漏之处。希望您能热心指出其中的错误,以便下次修改时能以一个更完美更严谨的样子,呈现在大家面前。同时如果有更好的实现方法也请您不吝赐教。详细代码将在下篇博文中介绍,所有涉及的完整程序文件(包含pyUI界面、图标等)也会一并给出,敬请期待!

有关图片转素描风格处理软件详解(Python实现,含UI界面及代码)的更多相关文章

  1. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  2. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  3. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  4. ruby - 如何指定 Rack 处理程序 - 2

    Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack

  5. ruby-on-rails - Rails 源代码 : initialize hash in a weird way? - 2

    在rails源中:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb可以看到以下内容@load_hooks=Hash.new{|h,k|h[k]=[]}在IRB中,它只是初始化一个空哈希。和做有什么区别@load_hooks=Hash.new 最佳答案 查看rubydocumentationforHashnew→new_hashclicktotogglesourcenew(obj)→new_has

  6. ruby - 如何根据特征实现 FactoryGirl 的条件行为 - 2

    我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden

  7. ruby-on-rails - 浏览 Ruby 源代码 - 2

    我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru

  8. ruby - 模块嵌套代码风格偏好 - 2

    我的假设是moduleAmoduleBendend和moduleA::Bend是一样的。我能够从thisblog找到解决方案,thisSOthread和andthisSOthread.为什么以及什么时候应该更喜欢紧凑语法A::B而不是另一个,因为它显然有一个缺点?我有一种直觉,它可能与性能有关,因为在更多命名空间中查找常量需要更多计算。但是我无法通过对普通类进行基准测试来验证这一点。 最佳答案 这两种写作方法经常被混淆。首先要说的是,据我所知,没有可衡量的性能差异。(在下面的书面示例中不断查找)最明显的区别,可能也是最著名的,是你的

  9. ruby - 寻找通过阅读代码确定编程语言的ruby gem? - 2

    几个月前,我读了一篇关于ruby​​gem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:

  10. ruby-on-rails - Ruby on Rails - 为文本区域和图片生成列 - 2

    我是Rails的新手,所以请原谅简单的问题。我正在为一家公司创建一个网站。那家公司想在网站上展示它的客户。我想让客户自己管理这个。我正在为“客户”生成一个表格,我想要的三列是:公司名称、公司描述和Logo。对于名称,我使用的是name:string但不确定如何在脚本/生成脚手架终端命令中最好地创建描述列(因为我打算将其设置为文本区域)和图片。我怀疑描述(我想成为一个文本区域)应该仍然是描述:字符串,然后以实际形式进行调整。不确定如何处理图片字段。那么……说来话长:我在脚手架命令中输入什么来生成描述和图片列? 最佳答案 对于“文本”数

随机推荐