登录
首页 » Others » PictureEx使用及图片居中等修改

PictureEx使用及图片居中等修改

于 2020-12-22 发布
0 153
下载积分: 1 下载次数: 0

代码说明:

最近项目中要显示gif动态图片,偶然中发现一个不错的类PictureEx,显示gif非常的溜。在博客作了介绍:https://blog.csdn.net/xxm524/article/details/80785856不过也发现它不支持图片居中、图片按原比例显示能操作,因此做了一些小的修改来支持。由于网上介绍PictureEx类的文章太多了,这里不再赘述,只介绍图片居中显示和图片铺满控件的修改。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 盲信号处理中的盲源分离经典FASTICA算法
    盲信号处理中的关于盲源分离的经典算法,基于FASTICA的盲源分离算法
    2021-05-06下载
    积分:1
  • 反向传播算法推导—全连接神经网络
    反向传播算法是人工神经网络训练时采用的一种通用方法,在现代深度学习中得到了大 规模的应用。全连接神经网络(多层感知器模型,MLP),卷积神经网络(CNN),循环神 经网络(RNN)中都有它的实现版本。算法从多元复合函数求导的链式法则导出,递推的 计算神经网络每一层参数的梯度值。算法名称中的“误差”是指损失函数对神经网络每一层 临时输出值的梯度。反向传播算法从神经网络的输出层开始,利用递推公式根据后一层的误 差计算本层的误差,通过误差计算本层参数的梯度值,然后将差项传播到前一层(w, x,)+b这个神经元接受的输入信号为向量(),向量()为输入向量的组合权重,为徧置项,是标量。神经儿对输入冋量进行加权求和,并加上偏置项最后经过激活函数变换产生输出为表述简洁,我们把公式写成向量和矩阵形式。对每个神经元,它接受的来自前一层神经元的输入为向量,本节点的权重向量为,偏置项为,该神经元的输出值为先计算输入向量与权重向量的内积,加上偏置项,再送入一个函数进行变换,得到输出这个函数称为激活函数,典型的是函数。为什么需要激活函数以及什么样的函数可以充当激活函数,在之前的公众号文章“理解神经网终的激活函数”中已经进行了介绍。神绎网络一般有多个层。第一层为输入层,对应输入向量,神绎元的数量等于特征向量的维数,这个层不对数据进行处理,只是将输入向量送入下一层中进行计算。中间为隐含层,可能有多个。最后是输出层,神经元的数量等于要分类的类别数,输出层的输岀值被用来做分类预测。下面我们来看一个简单神经网络的例了,如下图所示这个网络有层。第一层是输入层,对应的输入向量为,有个神经元,写成分量形式为(),它不对数据做任何处理,直接原样送入下一层。中间层有个神经元,接受的输入数据为向量,输出向量为,写成分量形式为。第三个层为输出层,接受的输入数据为向量,输出向量为,写成分量形式为()。第一层到第层的权重矩阵为(,第二层到第三层的权重矩阵为()。权重矩阵的每一行为一个权重向量,是层所有神经元到本层某一个神经儿的连接权重,这里的上标表小层数如果激活函数选用函数,则第二层神经元的输出值为+(-(+0)+(1+(0)(-(()第三层神经元的输出值为如果把代入上面二式中,可以将输出向量表示成输出向量的函数。通过调整权重矩阵和偏置项可以实现不同的函数映射,因此神经网终就是一个复合函数需要解决的·个核心问题是·旦神经网络的结构(即神经元层数,每层神经元数量)桷定之后,怎样得到权重矩阵和偏置项。这些参数是通过训练得到的,这是本文推导的核心任务个简单的例子首先以前面的层神经网络为例,推导损失函数对神经网络所有参数梯度的计算方法假设训练样本集中有个样本()。其中为输入向量,为标签向量。现在要确定神经网络的映射函数:什么样的函数能很好的解释这批训练栟本?答案是神经网络的预测输出要尽可能的接近样本的标签值,即在训练集上最小化预测误差,如果使用均方误差,则优化的目标为:∑‖()-其中()和都是向量,求和项内部是向量的范数平方,即各个分量的平方和。上面的误差也称为欧氏距离损失函数,除此之外还可以使用其他损失函数,如交叉熵、对比损失等。优化目标函数的自变量是各层的权重矩阵和梯度向量,一般情况下无法保证目标函数是凸函数,因此这不是一个凸优化问题,有陷入局部极小值和鞍点的风险(对于这些概念和问题之前的公众号文章“理解梯度下降法”,“理解凸优化”中己经做了详细介绍)这是神经网络之前一直被诟病的一个问题。可以使用梯度下降法进行求解,使用梯度下降法需要计算出损失函数对所有权重矩阵、偏置向量的梯度值,接下来的关键是这些梯度值的计算。在这里我们先将问题简化,只考虑对单个样本的损失函数()-‖后面如果不加说明,都使用这种单样木的损失函数。如果计算出了对单个样木损失函数的棁度值,对这些梯度值计算均值即可得到整个目标函数的梯度值。和(要被代入到网络的后一层中,是复合函数的内层变量,我们先考虑外层的和。权重矩阵是一个x的矩阵,它的两个行分别为向量(和是个维的列向量,它的两个元素为()和()。网络的输入是向量,第一层映射之后的输出是向量首先计算损失函数对权重矩阵每个元素的偏导数,将欧氏距离损尖函数展开,有((+))(())6(如果,即对权重矩阵第行的元素求导,上式分了中的后半部分对来说是常数。根据链式法则有S()+()O如果,即对矩阵第二行的元素求导,类似的有:可以统一写成可以发现,第一个下标决定了权重矩阵的第行和偏置向量的第个分量,第二个下标决定了向量的第个分量。这可以看成是一个列向量与一个行向量相乘的结果,写成矩阵形式为上式中乘法⊙为向量对应元素相乘,第二个乘法是矩阵乘法。是个维列向量,+也是一个维列向量,两个向量执行⊙运算的结果还是个维列向量。是一个元素的列向量,其转置为维行向量,前面这个:维列向量与的乘积为的矩阵,这正好与矩阵的尺寸相等。在上面的公式中,权重的偏导数在求和项中由部分组成,分别是网络输出值与真实标签值的误差激活区数的导数+(),本层的输入值。神经网络的输出值、激活函数的导数值本层的输入值都可以在正向传播吋得到,因此可以晑效的计算出来。对所有训练样本的偏导数计算均值,可以得到总的偏导数对偏置项的偏导数为:如果上式分子中的后半部分对来说是常数,有:()⊥()如果类似的有这可以统写成:写成矩阵形式为偏置项的导数由两部分组成,分别是神经网络预测值与真实值之间的误差,激活函数的导数值,与权重矩阵的偏导数相比唯一的区别是少了。接下来计算对和的偏导数,由于是复合函数的内层,情况更为复杂。()是个的短阵,它的个行向量为(),(,(,(。偏置项()是维向量,个分量分别是(),(,(),(。首先计算损失函数对的元素的偏导数:而上式分子中的两部分都有,因此都与有关。为了表述简活,我们令:根据链式法则有:其巾((和和都是标量和()是两个()向量的内积,的每一个分量都是()的函数。接下来计算和这里的一是个向量,衣示的每个分量分别对求导。当时有:后面个分量相对于求导变量(都是常数。类似的当时有:()0)(()和时的结果以此类推。综合起来有:同理有:()十如果令合并得到()()[()-)。()。()写成矩阵形式为()最后计算偏置项的偏导数()类似的我们得到:合并后得到()写成矩阵形式为:(0)至此,我得到了这个简单网络对所有参数的偏导数,接下来我们将这种做法推广到更般的情况。从上面的结果可以看岀一个规律,输出层的权重矩阵和偏置向量梯度计算公式中共用了()-)()对」隐含层也有类似的结果完整的算法现在考虑一般的情况。假设有个训练样本(),其中为输入向量,为标签向量。训练的目标是最小化样木标签值与神经网络预测值之闩的误差,如果使用均方误差,则优化的目标为:其中为神经网络所有参数的集合,包括各层的权重和偏置。这个最优化问题是·个不带约束条件的问题,可以用梯度下降法求解。上面的误差函数定义在整个训练样本集上,梯度下降法每一次迭代利用了所有训练样本,称为批量棁度卜降法。如果样木数量很大,每次迭代都用所有样木进计算成木太高。为了解决这个问题,可以采用单样本梯度下降法,我们将上面的损失函数写成对单个样本的损失函数之和:定义对单个样本()的损失函数为)=-()如果采用单个样本进行迭代,梯度下降法第次迭代时参数的更新公式为:nV如果要用所有样本进行迭代,根据单个样本的损失函数梯度计算总损失梯度即可,即所有样本梯度的均值用梯度下降法求解需要初始化优化变量的值。一般初始化为一个随机数,如用正态分布(a)产生这些随机数,其中G是一个很小的正数到日前为止还有一个关键问题没有解决:日标函数是一个多层的复合函数,因为神经网络中每一层都有权重矩阵和偏置向量,且每一层的输出将会作为下一层的输入。因此,直接计算损失函数对所有权重和偏置的梚度很复杂,需要使用复合函数的求导公式进行递推计算几个重要的结论在进行推导之前,我们首先来看下面几种复合函数的求导。又如下线性映射函数:其中是维向量,是×的矩阵,是维向量。问题:假设有函数,如果把看成常数,看成的函数,如何根据函数对的梯度值Ⅴ计算函数对的梯度值Ⅴ?根据链式法则,由于只和有关,和其他的≠无关,因此有:c∑(对于的所有元素有:写成矩阵形式为:问题:如果将看成常数,将看成的函数,如何根据V计算Ⅴ?由于任意的和所有的都有关系,根据链式法则有写成矩阵形式为这是一个对称的结果,在计算函数映射时用矩阵乘以向量得到,在求梯度时用矩阵的转置乘以的梯度得到的梯度。问题:如果有向量到向量的映射:
    2020-12-09下载
    积分:1
  • 北京航空航天大学研究生数值分析计算实习大作业,二三全。2014年1月。
    北京航空航天大学研究生数学必修课程,数值积分大作业。
    2020-12-03下载
    积分:1
  • C# 个人博客网站
    C# 做的一个博客网站,你可以拿去参考 vs2010的
    2020-12-03下载
    积分:1
  • 基于QT的电子地图设计与实现
    毕业设计是基于QT的电子地图设计与实现 ,用于C语言的开发。2010届本科生毕业设计目录摘要ABSTRACT前言.1.1概述1.2研究背景1.3研究目标1.4需求分析1.41用户需求分析1.4.2功能需求分析1.5本章小结2qT简介2.1QT的背景介绍2.2qT实现的结构原理.2.3 QT GraphicsⅤ iew Framework简介2.3.1 Graphics view层次结构2.3. 2 QGraphicsItem2.4QT应用程序的实现2.5本章小结3 mapinfo绘制电了地图3.1 Mapinfo professiona1简介122010届本科生毕业设计3.2 Mapinfo地图图表3.3 Mapinfo地图图层与图元.143.3.1地图图层.3.3.2地图图元3.4地图的来源3.5电了地图绘制3.5.1 Mapinfo professional地图绘制工具3.5.2 Mapinfo professional绘制地图3.6来MIF和求.MID文件3.7本章小结204系统框架描述214.1系统模块申非214.2主要功能4.3平台简介224.4UP- TECHPXA270-S核心模块资源234.5本章小结.....245详细设计,,255.1程序流程图...255.2界面设计.....275.2.1主窗体设计..,,,,.275.2.2子窗休设计285.3地图的显示..,,,,,,..,,.292010届本科生毕业设计5.3.1地图坐标转换5.3.2地图图元的显示305.3.3显示效果设计.,,,,,,,,,,335.4单源最短路径算法365.4.1 Dijkstra(迪杰斯特拉)算法365.4.2路径节点的存储,,,,,,,375.5木章小结416测试及运行结果6.1测试目标6.2测试预期结果426.3运行结果.6.3.1地图浏览功能.....436.3.2路径规划功能446.4木章小结看鲁457论文总结46参考文献.47谢辞482010届本科生毕业设计前言1.1概述随着新的ARM芯片不断问世以及这些芯片的价格下降,嵌入式产品开始潜移默化的取代早期的些单片机,并在社会各行各业中占有越来越重要的位置,嵌入式产品也由此成为众多工程师选择开发高端产品的芯片首选。QT具备跨平台,易扩展,界面华丽,性能稳定等优点。因此,以嵌入式处理器作为使件半台,以QT作为程序框架,两者的完美结合必将成为未来技术的发展方向1.2研究背景现在,汽车正在普及,道路不断建设,城际间的经济往来更加频繁,活动的区域也越来越大。为了提高生活质量,大量的休活动、探险活动的举行使我并不局限在自己认识的一小块区域中,不认识道路,找不到目的地的情况也屡有发生。就此,各种各样的导航仪逐渐走进我们的生活。无论仆么导航仪最主要的部分都是电子地图。开发电子地图成为了导航仪的关键。根据调査,电了地图制作困难而且价格相当昂贵,给导航伩的开发带来了很多不便。自主绘制电子地图,编写电子地图应用程疗,不管是从经济上还是研究上都具有非常大的意义市面上的嵌入式产品各式各样,用到的嵌入式操作系统自然也是有所不同。如果拥有一个跨平台的程序的话,那将会给我们的开发节省了大量的时间。QT正是一个支持多平台的C+图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Q是完仝面向对象的很容易扩展,并且允许真正地组件编程。所以使用QT作为应用程序框架是一个不错的选择1.3研究目标基于上述背景,开发一个电子地图项目,使用 windOws cD5.0搭配PXA270开发板来构建这个项目。仗用 mapinfo电子地图绘制软件自主绘制电子地图。利用QT4作为系统应用层的程序框架。根据系统的需求,裁减、移植 windOwsce内核。分析系统功能和接口,添加各种驱动程序,如:USB驱动,(∽M口驱动等根据应用程序屮的钶个功能模块,分析各个模块的用户界面接口和对人机交互图2010届本科生毕业设计形化用户界面的接口设计。1.4需求分析1.4.1用户需求分析目前,我们可以通过各种途径接触电子地图,例如以网页形式的电子地图,如 Google地图、 Google earth、百度地图等,以车载GPS导航仪的电子地图,如 garmin饪我游、纽曼、新科、城际通等,还有以手机导航功能出现的电子地图,越来越多的亍杋将支持导航功能,诺基亚2010年在大规模普及手机导航对此,本顶目采用免费版的QT作为程序框架,并且可以跨平台使用,在廾发成本上有着很大的优势。未来几年,配备电子地图的电子产品市场将逐渐走向成熟,市场需求和产品销量会保持大幅增长,产品供应链中的各类企业将获得曰大商机。尤其是随着产品价格的不断下降,这种快速发展的态势公愈加明显。电子地图在中国市场必然会获得更大的发展空间。由此,本项日也适应用户需求,开发电子地图的相关功能:地图显示功能卫星定位功能、路径导航功能、语音提示功能等。1.4.2功能需求分析根据用户需求,和对产品的定位,划分以下功能表1-1用户需求功能支持功能所需硬件1地图显示2实时定位UP- TECHPXA270-S为硬件开发平台3路径导航4语音提示2010届本科生毕业设计攴持功能分析:1.地图显示:显示当前位置地理信息,包括道路、河流、建筑物,以及标志性建筑的名称,可以通过地图了解的所在位置的周边情况。实时定位:通过不断对对COⅧM凵接收到的信息进行分析,获取当前所在位置并且显示在地图的相应位置上3.路径导航:可以设置日的地点,系统将通过路径优先算法显示最优路径,完成导航功能。4.语音提示:通过简单的语言提示来配合路径导航。所需硬件分析:需要的硬件模块在UP一 TECHPXA270-S硬件实验平台上已一应俱全。在此平台上还配制了8英寸的TFT真彩液晶屏,支持640*480的分辨率。UP一 TECHPXA270S在存储系统方面也有着很高的配置,内置了高性能价格比的 NAND FLASH6M内存,支持大谷量的用户差异图形图片和媒休文件的存储。CPU的能力当然是毋庸置疑的, Intel xscale结构芯片的PXA270在各方面都表现了很强悍的能力,在日前市场上来说也是一款很先进的处理器芯片PXA270处理器是 Intel公司目前性能最为强劲的移动处理器,已经成为高端移动设备屮最受欢迎的处理器之一。PXA270最高主频可达624Mz,它引入了X86架构奔腾4系列上的多媒体技术——MⅨ技术,能够大大提升多媒体处理能力,用户通过该技术可以在VGA上面播放高质量的MPG4视频:同时加入了 Inte lSpeedstep动态电源管理技术,在保证CPU性能的情况下,最大限度地降低移动设备功耗。1.5本章小结木章主要介绍本项目的选题背景、意义,选题目标和项目需求分析,根据品市场和本人技术水平情况,按需求划分软件功能模块,还根据软件功能和现有瓷源的性能对使件需求做」详细分析。2010届本科生毕业设计20T简介2.1QT的背景介绍Qt/ Embedded是著名的Qt库开发商 Trolltech公司开发的面向嵌入式系统的Qt版本,开发人员多为KDE项日的核心开发人员。许多基于Qt的XWindow程序可以非常方便地移植到Qt/ Embedded上,与X11版本的Qt在最大程度上接口兼容,延续了在Ⅹ上的强大功能,在底层彻底摒弃了X1ib,仅米用 framebuffer作为底层图形接口。Qt/ Embedded类库完全采用C++封装。丰富的控件资源和较好的可移植性是Qt/ Embedded最为优秀的·方面,使用Ⅹ下的开发工具 Qt Designer可以直接开发基于Qt/ Embedded的UI(用户操作接口)界面。越来越多的第三方软件公司也开始采用Qt/ Embedded廾发嵌入式下的应用软件。2.20T实现的结构原理Qt/ Embedded是 Trolltech公司开发的面向嵌入式系统的Qt版本,与Ⅹ11版本的Qt在最大程度上接口兼容,采用帧缓存( framebuffer)作为底层图形接口。Qt/ Embedded类库完全采用C艹+封装,并且有着丰富的控件资源以及较好的可移植性,大范围的Qt/ Embedded apl可用于多种开发项∏。Qt/ Embedded的实现结构如下:QT的应用程序QT的图形事件QT/EmbeddedFrameBuffer设备驱动操作系统硬件平台图21QT的实现结构图2010届本科生毕业设计Qt/ Embedded的底层图形引擎基于 framebuffer。 Framebuffer驱动程序的实现分为两个方面:一方面是对LCD及其相关部分的初始化,包括画在缓冲区的创建和对DMA通道的设置;另外一方面是对画面缓冲区的读写,具体到代码为read、 write、 Iseek等系统调用接凵。至于将画面缓冲区的内容输出到LCD显示屏上,则由硬件自动完成。对于软件来说是透明的。当对于DMA通道和画面缓冲区设置完成后,DMA开始正常工作,并将缓冲区中的内容不断发送到LCD上。这个过程是基于DMA对于LCD的不断刷新的基于该特性, framebuffer驱动程序必须将画面缓冲区的存储空间(物理空间)重新映射到一个不加高缓存和写缓存的虚拟地址区间中,这样能才保证应用程序通过map将该缓存映射到用户空间后,对于该画面缓存的写操作能够实时的体现在LCD上。QT程序是基于C+编写的,图形用户界面编程同时需要运行效率和高水平的灵活性。Qτ通过结合C+的速度为这一领域提供了Qt对象模型。Qt把下面这些特性添加到了C++当中和被称为信号和槽的非常强大的机制;可查询和可设计的属性项;强大的事件和事件过滤器:根据上下文进行国际化的字符串翻译;完善的时间间隔驱动的计时器等。许多Qt的特性是基于Q0 bject的继承,通过标准C++投术实现的。Q^ pplication是必须构造的吐t主对象,需要在一开始的时候就构造这个对象,并把命令行参数传递给这个对象,每个Qt应用程序有且仪有一个APplication对象,该对象必须在做其他事之前创建,这个对象处理一些底层操作,如事件处理、字符串本地化和控制界面外观等。信号和信号处理函数是(UⅠ应用程序用来响应用户输入的基本机制,乜是所有GUI库的核心特征,Qt的信号处理机制由信号( signa1)和槽(slot)构成,它们相当于GTK+中的信号和回调函数。在Qt中回调函数就叫做槽。信号和槽用于对象间的通讯,它的基本语法为:connect(objectl, signal, object2, slot1)2.3 QT Gr aphics view Framework简介2.3.1 Graphics view层次结构Graphics view提供一个强人的自定义2D平面图元并处理它们之间相互作用的接口,以及将一个这些图元视化的view控件,它支持旋转和缩放。该框架还包含个事件传递机制,允许画布和画布上的图元之问精确
    2020-12-08下载
    积分:1
  • 基于EPM570T100的CPLD开发板
    CPLD开发板程序,VHDL语言,包括计数器例程;Moore状态机例程;可控加减计数器例程;拨码开关及显示例程;按键脉冲例程;消抖按键例程;交通灯控制例程;汉字滚动例程;控制例程;正弦波发生器;温度显示例程等。供初学者学习,学会后可自己制作开发板。
    2020-12-09下载
    积分:1
  • 超级棒的表白源码
    非常不错,推荐给大家。
    2020-06-23下载
    积分:1
  • mimo-ofdm系统
    一、OFDM原理及其实现 1、OFDM技术简介 2、OFDM优缺点 3、OFDM原理及其实现 二、MIMO技术简介 1、MIMO技术简介 2、OFDM和MIMO结合的必要性 三、MIMO-OFDM的信道编码方案 1、新型Walsh编码方案 2、Walsh-Hadamard变换及其在该方法在信源
    2020-12-02下载
    积分:1
  • linux下的简单文件服务器和客户端
    linux下的简单文件服务器和客户端程序
    2020-12-02下载
    积分:1
  • COLLADAMax.dle插件及DaeToGltf工具-2014
    1.安装插件导出DAE模型解压后将插件COLLADAMaxNew.dle文件存放于3ds MAX2014安装目录下的plugins文件夹,本示例地址为:“C:Program FilesAutodesk3ds Max 2014plugins”。重启3ds MAX,打开原始三维模型,选择“导出|Export”,选择文件存放路径、输入文件名称,保存类型选择“OpenCOLLADA(*.DAE)“格式。点击“保存”,弹出“OpenCOLLADA Export”对话框,勾选”copy Images”,点击OK。导出DAE模型操作完成后,DAE格式的模型将存放于目标路径下,其中还包括了一个“
    2020-12-05下载
    积分:1
  • 696518资源总数
  • 104269会员总数
  • 42今日下载