深度神经网络下的风格迁移模型

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
斯坦福大学李飞飞团队的风格迁移模型是一种基于深度学习的图像处理技术,可以将一张图像的风格转移到另一张图像上。该模型最初由Gatys等人提出,后来被李飞飞团队进一步优化和改进。该模型在图像处理领域具有广泛的应用,例如艺术风格转换、视频风格迁移等。

原图

10种模型可以在这里下载:
深度神经网络下的风格迁移模型资源-CSDN文库
处理代码:http://blog.csdn.net/uruseibest

    '风格序号
    Dim styleindex As Integer = 0
    '风格迁移
    Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
        '需要测试的图像文件
        Dim m As New Mat("C:\learnEmgucv\tower.jpg", ImreadModes.Color)

        Dim hm As Single = m.Height
        Dim wm As Single = m.Width
        '10种风格迁移
        Dim styles(9) As String
        styles(0) = "C:\learnEmgucv\styletransfer\eccv16\starry_night.t7"
        styles(1) = "C:\learnEmgucv\styletransfer\eccv16\composition_vii.t7"
        styles(2) = "C:\learnEmgucv\styletransfer\eccv16\la_muse.t7"
        styles(3) = "C:\learnEmgucv\styletransfer\eccv16\the_wave.t7"
        styles(4) = "C:\learnEmgucv\styletransfer\instance_norm\candy.t7"
        styles(5) = "C:\learnEmgucv\styletransfer\instance_norm\feathers.t7"
        styles(6) = "C:\learnEmgucv\styletransfer\instance_norm\la_muse.t7"
        styles(7) = "C:\learnEmgucv\styletransfer\instance_norm\mosaic.t7"
        styles(8) = "C:\learnEmgucv\styletransfer\instance_norm\the_scream.t7"
        styles(9) = "C:\learnEmgucv\styletransfer\instance_norm\udnie.t7"
       'https://blog.csdn.net/uruseibest
        Dim net As Dnn.Net
        net = DnnInvoke.ReadNet(styles(styleindex))

        Dim blob As Mat
        blob = DnnInvoke.BlobFromImage(m, 1.0, New Drawing.Size(wm, hm), New MCvScalar(0, 0, 0), False, False)

        net.SetInput(blob)

        Dim mout As New Mat
        mout = net.Forward()

        '返回一个四维数组
        Dim fout(,,,) As Single
        fout = mout.GetData()
        '返回维度:
        '第1维:图像数量,这里是1  https://blog.csdn.net/uruseibest
        '第2维:通道数量   '3
        '第3维:高度    '
        '第4维:宽度    '
        '在实际中需要将第2维、第3维、第4维提取出来组成一个图像

        Dim channels As Integer = fout.GetLength(1)
        Dim height As Integer = fout.GetLength(2)
        Dim width As Integer = fout.GetLength(3)

        Dim vm As New VectorOfMat
        For i As Integer = 0 To channels - 1
            '取出每个通道
            Dim matr As New Matrix(Of Integer)(New Size(width, height))
            For j As Integer = 0 To height - 1
                For k As Integer = 0 To width - 1
                    matr(j, k) = CInt(fout(0, i, j, k))
                Next
            Next
            '将每个通道图像加入到VectorOfMat,总共3个通道
            vm.Push(matr.Mat)
        Next
        'https://blog.csdn.net/uruseibest
        Dim outputmat As New Mat
        '合并通道
        CvInvoke.Merge(vm, outputmat)

        ImageBox1.Image = outputmat

        If styleindex = 9 Then styleindex = 0 Else styleindex += 1
End Sub

处理后的图片:http://blog.csdn.net/uruseibest

由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。

学习更多vb.net知识,请参看vb.net 教程 目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/176519.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

现在的投资环境有利黄金代理商吗?

和其他比较传统的黄金投资工具相比,现货黄金的优势在于它50倍的杠杆、T0的双向交易机制,以及全天接近24小时的交易时间。近年来全球地缘政治冲突频发,未来美国经济可能陷入衰退,这些都是利好黄金市场因素,不难预计人们…

创业新选择:社区牛奶直供站的成本低、灵活性高

创业新选择:社区牛奶直供站的成本低、灵活性高 相较于传统的实体店铺而言,选择社区牛奶直供站作为创业方式具有明显的优势。首先,社区牛奶直供站的创业成本大大降低。相较于租赁店面和支付昂贵的装修费用,创业者可以将更多的资金用…

VR全景航拍要注意什么,航拍图片如何处理

引言: VR全景航拍技术是当前摄影和航拍领域的新潮流。它采用虚拟现实技术,通过360度全景镜头捕捉画面,可以为观众提供身临其境的视觉体验。在宣传展示中,利用VR全景航拍技术可以为品牌宣传带来更加生动、震撼的视觉效果。 一、航拍注意事项 …

2023感恩节大促:跨境卖家如何借助海外网红营销赢得市场关注

随着全球贸易的日益发展,跨境电商行业变得愈发竞争激烈,各家卖家纷纷寻找新的营销策略以在大促期间脱颖而出。在2023年感恩节即将来临之际,海外网红营销成为许多卖家关注的热点。本文Nox聚星将和大家探讨跨境卖家如何充分利用海外网红营销&am…

Latex数学符号查表

摘抄自“《一份(不太)简短的 LATEX 2ε 介绍》”,来自该网站http://mirrors.cqu.edu.cn/CTAN/info/lshort/chinese/lshort-zh-cn.pdf

智能污水处理系统有哪些设备

智能污水处理系统通常包括以下设备: 智能医用污水一体化处理设备:包括医用污水处理一体化设备,以及设置于医用污水处理一体化设备的消毒区的微波无极紫外杀菌装置、流量检测器、温度检测器、溶氧浓度检测器、固体颗粒检测器、金属离子检测器…

python中的exec()、eval()以及complie()

嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 1.eval函数 函数的作用: 计算指定表达式的值。 也就是说它要执行的python代码只能是单个表达式(注意eval不支持任何形式的赋值操作&…

CQ 社区版 V2.6.0 发布 | SQL闪回、权限看板、新增数据源人大金仓等

前言 HELLO,大家好,又到了 CloudQuery 社区版发版时间!本次更新版本为 v2.6.0,亮点多多,我们直入主题一起来看! 一、本期亮点 新增 3 种数据源支持 V2.6.0,新增三种国产数据源支持&#xff…

【图像分类】基于深度学习的垃圾分类系统的设计与实现(ResNet网络,附代码和数据集)

写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。(专栏订阅用户订阅专栏后免费提供数据集和源码一份,超级VIP用户不在服务范围之内,不想订阅专栏的兄弟们可以私信…

连线星图:全面了解星图地球数据云!

我们在今年的双11专场直播中,有幸邀请到了星图地球的嘉宾与我们连线,为大家作了一场精彩的分享。 这里,首先感谢星图地球对水经注的大力支持! 现在,我们将嘉宾分享的内容进行简单整理,并以图文的方式与大家…

psutil - Python中用于进程和系统监控的跨平台库

1、简介 psutil(进程和系统实用程序)是一个跨平台库,用于检索 Python 中运行的进程和系统利用率(CPU、内存、磁盘、网络、传感器)的信息。 它主要用于系统监控、分析和限制进程资源以及管理正在运行的进程。 它实现…

法大大携手广西数通科技,助推金融行业数字化变革

自2017年《关于积极推进供应链创新与应用的指导意见》首次对供应链创新发展作出重要部署以来,我国供应链金融业务实现了有效创新发展。数据显示,2022年,我国供应链金融数字化规模达到11万亿元,数字化渗透率约为30%,相比…

【C语法学习】26 - strcmp()函数

文章目录 1 函数原型2 参数3 返回值4 比较机制5 示例5.1 示例1 1 函数原型 strcmp():比较str1指向的字符串和str2指向的字符串,函数原型如下: int strcmp(const char *str1, const char *str2);2 参数 strcmp()函数有两个参数str1和str2&a…

LeetCode算法心得——打家劫舍(记忆化搜索)

大家好,我是晴天学长,准备开始深入动态规划啦,先从记忆化搜索开始,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1) .打家劫舍 你是一个专业的小偷,计划偷窃…

智能配电房环境监控系统

智能配电房环境监控系统是一种用于实时监测和控制配电房环境的系统。依托电易云-智慧电力物联网,通过集成应用物联网技术,实现对配电房内环境的全天候状态监视和智能控制。以下是智能配电房环境监控系统的主要功能: 环境数据实时监测&#xf…

Redis安装及常用命令

一.关系数据库与非关系型数据库 (1)关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。 SQL语句(标准数据查询语言) 就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检…

剪映怎么去除杂音保留人声?一分钟告诉你!

由于周围环境嘈杂,或者录音设备的质量问题,我们在录制视频的时候会不可避免录到杂音,去除杂音保留人声能够使音频文件更加清晰、干净,下面就向大家介绍如何利用剪映做到去除杂音,同时再提供其他两种简便的方法。 方法一…

如何隐藏自己的代码(很酷)

1.引入 幻想当我们成为一名优秀的程序员,有着各大公司想要买我们的代码,但我们并不想要让他们知道我们代码的实现,毕竟一复制便可以解决,这里我们希望有一种方法可以把我们的核心代码给隐藏掉,那我们又应该怎么去实现呢…

Python中控制台如何展示进度条——tqdm库使用

在 Python 中可以使用特定的库来创建控制台进度条,其中 tqdm 是一个常用的选择,它能够方便地显示进度条并跟踪迭代的进度。你可以通过 pip 安装 tqdm 库: pip install tqdm包装迭代器: 使用 tqdm 来包装你的迭代器,比…

YOLOv8改进实战 | 更换主干网络Backbone(六)之轻量化模型VanillaNet进阶篇

前言 轻量化网络设计是一种针对移动设备等资源受限环境的深度学习模型设计方法。下面是一些常见的轻量化网络设计方法: 网络剪枝:移除神经网络中冗余的连接和参数,以达到模型压缩和加速的目的。分组卷积:将卷积操作分解为若干个较小的卷积操作,并将它们分别作用于输入的不…