shevin

  • Checkout
    • Confirmation
    • Order History
    • Receipt
    • Transaction Failed
  • サンプルページ
Illustration of a bird flying.
  • 传奇源码对于素材处理

    这个代码,要说好呢,还是有很多的可以学习的地方的,不过很多地方也是实现得比较粗糙。 要对真彩色支持,首先要了解到: 1、它是16位增强色的,是没有调色板的。具体原理后述。 2、它的素材也是针对增强色设计的,字节可直接用于增强色模式,不可直接用于真彩色模式。 认识到了这两点,基本知道该怎么做了。 先说说增强色模式,现在一般的传奇3私服,会提供一个登录器,登录器除了IP代理之外,还有一个作用就是在运行程序时,把电脑设置成增强色模式,不然按现代的机器,真彩色模式运行,把增强色的数据直接当成rgb颜色渲染,会花屏。 增强色用2个字节(WORD)表示一个颜色,r分量占5位,g分量占6位,b分量占5位,共计16位。 因此每个分量有一个位掩码和一个位移码,对这个WORD数据作用掩码和位移,就可以取出对应的分量的颜色值。当电脑在增强色模式下时,这个操作是自动进行的。 取出rgb分量,还是不能将其用于表示rgb,原因是精度不一样导致的数据单位不一样。 真彩色中,一个分量是一个字节,即8位,而增强色中,一个分量是5或者6位。因此,需要做一个缩放。 例如,红色,在真彩色中,r分量是0xff,而在增强色中,r是二进制11111。 因此,r和b分量需要乘以8,g分量需要乘以4。然后,就可以组合成rgb真彩色了。 因为程序的素材本身就不是真彩色的,因此,我们只需要对surface的操作进行真彩色的支持即可。 首先dx设备要设置成32位深度的,然后,对surface的取色彩操作,要认为是直接在取真彩色的数据,并且在取出计算分量时,相应的要除以8,或4,缩放到增强色的空间。对surface的写入色彩操作,要认为是在写真彩色数据,所以要先把WORD的增强色变换到DWORD的真彩色rgb,然后在写入。另外,因为色彩深度不一样,对surface的pitch处理时要考虑到,因为它是以字节为单位的。

    November 29, 2023
  • [论文素材]plc

    基于QT图形视图框架的PLC梯形图编辑器的设计 企业:和利时集团     领域:PLC /PAC/PCC/RTU     领域:智能制造     点击数:2404     发布时间:2021-05-17 16:19:54 分享到: 针对自主可控可编程控制器上位机组态软件的梯形图编程需求,本文设计了一种梯形图语言编辑器。它基于QT下的图形视图框架,对接口进行了二次封装与扩展,实现了梯形图中各组件的创建、绘制与管理等功能。该梯形图编辑器已成功应用于和利时推出的新一代自主可控PLC编程软件平台,为PLC系统的梯形图逻辑组态提供了支持。 1 引言 PLC作为工业控制系统的重要组成部分,是现代工业自动化的重要支柱。2006年,国务院在发布的《国家中长期科学和技术发展规划纲要(2006-2020年)》中提出建设“核高基”重大科技专项,2015年又提出“中国制造2025”。在此背景下,国产化、自主化已经成为PLC市场发展的重要趋势。QT开发框架因其出色的跨平台性和代码开源的特点,成为开发自主可控软件的优良选择。 IEC 61131-3是旨在规范可编程控制器(Programmable Logic Controller,简称PLC)编程语言的国际标准,经过十多年的发展和完善,已被广大PLC使用者和生产厂商所认可和支持[1]。它是国际电工委员会(IEC)定义的PLC编程系统规范,也是工业控制领域的通用标准。梯形图(Ladder Diagram, LD)被称为PLC的第一编程语言,凭借其直观易学的优点,成为最广泛的编程语言[2]。它作为IEC 61131-3规定的PLC编程语言之一,沿袭自继电器控制电路的术语和符号,具有形象、实用等特点,被称为是“面向生产过程的编程语言”。 和利时推出的新一代自主可控编程软件平台AutoThink V4提供了对梯形图语言的编程支持,完整的LD编程组态支持包括前端的编辑和管理,以及后端的编译和执行。本文主要介绍LD前端编辑器的设计和实现。 2 QT下图形视图框架的介绍 2.1 框架组成 图形视图框架(The Graphic View Framework)是QT中基于MVC(Model View Controller)的软件设计模型开发出来的一个图元管理与交互平台。图1为框架的结构图,它由三部分组成: (1)场景(QGraphicsScene) 场景是图元对象存储和管理的容器,也是图元存在的逻辑场所,我们创建的图元只有添加到场景中才能进行显示和操作。 (2)视图(QGraphicsView) 视图是整个框架的对外交互接口,负责将场景中特定区域的内容显示出来。在实际使用中,可以对一个场景只添加一个视图,也可以将多个视图附加到同一个场景来显示其不同区域或不同缩放旋转变换下的状况。 (3)图元(QGraphicsItem) 图元是场景中的最基本元件,单个图元支持各种事件响应,多个图元之间可以生成父子组合等层级关系。 图1 图形视图框架结构 2.2 框架特点 (1)图元管理 QT图形视图架构使用了BSP(二叉空间分割树)的数据结构来组织和管理其中的图元,能够支持大场景下百万数量级别的2D图元的快速查找、排序以及实时显示。 (2)坐标系统 图形视图框架中存在三个坐标系统:场景坐标、视图坐标及图元坐标,每个系统都以自己的中心点为原点分别管理自己的坐标,三套系统之间使用映射来进行坐标转换。 (3)图形渲染 框架设计的坐标系统使每个图元仅需负责自己的图形渲染,图形视图框架基于仿射矩阵变换的运算处理能够快速响应缩放、旋转等高级渲染需求。 除此之外,框架支持图元间的z-order深度排序、碰撞检测,以及动画、OpenGL等高级应用,便于之后的高级应用扩展 。 (4)事件处理 图形视图框架中包含一套事件传播架构,支持对场景中图元进行双精度的精确交互[3] 。 3 LD编辑器在AutoThink V4组态软件中的功能 AutoThink V4是和利时研发的自主可控可编程控制系统的上位机软件,它作为系统中的控制算法组态工具,运行于工程师站中,技术人员通过它来进行现场工程的逻辑设备组态。AutoThink V4基于QT环境进行开发,整体模块结构如图2所示,其中框架管理和变量管理主要负责软件的UI展示与人机交互,IEC组态与硬件配置负责编程语言与硬件模块及协议的组态,数据源通过组态、语法分析、指令翻译等一系列处理,经过编译生成二进制形式的目标文件,最终通过在线模块下发给PLC下位机执行指令。 LD组态模块是IEC组态部分的子模块,分为前端编辑器及后端逻辑转换与处理两部分。梯形图编辑器负责梯形图中元件的创建、删除、选中、绘制、语法检查等管理操作,编辑器中的组态数据经过语法检查无误后,将被LD后端转换为一种预定好的中间语法结构传递给编译模块进行处理,生成目标文件下装到硬件设备端,并在在线监控状态下通过编辑器进行调试。 […]

    November 17, 2023
  • Protected: 明洲记

    There is no excerpt because this is a protected post.

    August 31, 2023
  • 资料

    materialise magics 设备运控部分由西门子plc实现,具体三个电机分别控制供料仓平台升降,打印仓平台升降以及铺粉刮板动作; 实际核心3d打印部分是通过电子枪来调整打印点位的;所以传统运动轴xyz这里都用不上了,这里z是固化死的相对0.05,xy具体点位区域通过电子枪改变磁场实现点的偏移;进一步可推测g代码实际是传送给了电子枪的控制器,实现控制;这样如果要买第三方电子枪必须要拿到对应的控制代码才能实现g代码解析介入。 电子枪如果不开放源码,必须要求电子枪能提供控制接口快速按指令进行xy位置偏转; 除去电子枪部分其他真空管理部分和高压电源管理部分都是可以第三方嵌入的封闭系统,软件开发量几乎可以忽略; 针对电子枪汪博给出两个建议:1.买一套研究拆解实现仿制;2.招三个人,光学电子磁场电子方面的专业人士还得懂材料才可以;另外汪博也提到过国外有6家也可以尝试联系下; 基于现场情况确认,我昨日所发软件规划是没有理解当前枪的市场因素的,是按3做的默认设计,不符合电子枪市场现实;

    August 22, 2023
  • Protected: 记录3

    There is no excerpt because this is a protected post.

    July 30, 2023
  • Protected: 记录2

    There is no excerpt because this is a protected post.

    June 27, 2023
  • Protected: 记录

    There is no excerpt because this is a protected post.

    May 11, 2023
  • [转]相机像素尺寸(像元大小)和成像系统分辨率之间的关系 转载

    相机像素尺寸(像元大小)和成像系统分辨率之间的关系 在显微成像系统中,常常会用分辨率来评价其成像能力的好坏。这里的分辨率通常是指光学系统的极限分辨率以及成像探测器的图像分辨率。最终图像所呈现出的实际分辨率,取决于二者的综合影响。过高的光学分辨率如果没有足够精细的图像分辨率来体现,则实际分辨率会降低到图像分辨率以下;如果相机解析能力过高但光学系统的分辨率低,同样也看不清物体的精细结构。所以在选择相机的时候,我们也不妨根据自己这套系统需要达到的分辨率来综合考虑一下(实操性的结论部分请直接移动到文章最下方)。  1. 光学系统的分辨率 光学系统的分辨率,是指“物”在经过光学系统后的“像”在细节上能被分辨的最小距离。一般我们会用光学系统所能分辨的两个像点的最小距离来表示,大于这个距离的两个像点就能被识别为两个点,而小于这个距离的两个点经过光系统后就会被识别为一个点。而对于黑白图样(荧光样品其实也是一种黑白图样)来说,这个分辨能力也可以用单位距离里内能够分辨的黑白线对数来表示,间隔越宽的黑白条纹越容易分别(想象一下细胞的Lamellipodia和Filopodia的差别)。 图一   从”物”到”像”的失真 存在这个分辨率的原因是因为光学系统的衍射和像差导致从“物”到“像”的过程中会发生“失真”。这种失真是空间上高频信号丢失所导致的(光学系统可以看作是一个空间上的低通滤波器,只能允许一定带宽范围内的空间频率信号通过),通俗的理解就是削弱了由“黑”到“白”过渡的锐度和对比度,使其变得平滑和模糊。下图所示,黑白条纹的真实灰度可以用一个方波信号表示。在经过光学系统之后,如图像 A 和下方波形所示,原始信号被“平滑”,方波的每一个峰都展宽成一个贝塞尔峰,黑白相交处的信号变化斜率下降到一个固定水平(这个斜率的下降就是以该系统带宽所做的滤波效果)。当我们将原始条纹变的密集(增加空间频率),该系统仍以固定带宽进行滤波,这样这些被展宽的峰就会互相交叠,损失重叠部分的对比度从而产生图像B的效果。如果我们换一个带宽更宽的系统 2,其信号的高频部分会被更好的保留,表现为黑白交界处的信号变化斜率更大,对比度也越接近真实情况,如图像 B’。 回归到我们熟悉的生物荧光成像,上述分辨率的概念通过瑞利判据与样品的发射光波长和光学系统的数值孔径相联系起来。即在传统宽场荧光下,光学系统的极限分辨率 d = 0.6λ/NA,波长越短,NA值越大,分辨率越高(可以理解为对空间高频信号的保留越充分)。 2. 相机的图像分辨率 说完了光学系统的分辨率之后我们来看看相机的图像分辨率。图像分辨率比较好理解,就是单位距离内的像用多少个像素来显示。以我们的ORCA-Flash4.0为例,芯片的像元大小为 6.5 μm,在 40X物镜的放大倍率下,1 μm的物经光学系统放大为 40 μm的像,这样的像会由 40/6.5 = 6.15 个像素来显示,所以图像分辨率为 6.15 pixel/μm。反推回实际物体,则图像中的一个像素点表示的实际距离为 1/6.15 = 162 nm (其实就是像元尺寸/放大倍数)。根据这个原理,我们可以得出像元尺寸越小,其图像分辨率越高。 3. 相机采样与光学分辨率的匹配关系 那么要使整个系统达到光学上的极限分辨率,我们要如何选择成像系统使其图像分辨率相匹配呢? 这里还需要借助上图中黑白条纹的例子。图中不管是图像 A,B还是 B‘,其图像在x方向上的灰度都可以用图像下方的波形图来展示。相机的芯片则会在该方向上以像元尺寸为单位距离均匀对曲线作积分,得到每个像素的数值。这个过程就是对一个连续信号的离散采样。因为芯片上的像素以固定的距离排列,所以这个采样在空间上的采样周期 l 对应的就是像元尺寸(更准确的说是两像素中心点的间距,因为需要考虑芯片的填充因子),其频率就是单位距离内像素点的个数。上述黑白条纹图样的空间频率就是白色/黑色条纹重复出现的频率,而其条纹间距就是他们在空间上的周期 d。频率越高,这个周期 d 就越短。根据Nyquist采样定理(可参考:https://www.zhihu.com/question/24490634),我们需要以连续信号最高频率的2倍作为离散采样的频率,才能刚好还原连续信号的特征。因此我们所需要的芯片采样周期 l,就应该小于等于条纹间距 d 的一半。同样类推到相距很近的两个物点也是如此。如此这样一来我们就能够将光学极限分辨率和像元尺寸联系在一起了。对于生物成像系统,光学上的极限分辨率就是荧光信号变化的最大频率所对应的空间周期 d = 0.6λ/NA,因此像元尺寸 l = […]

    April 22, 2023
  • Levenberg-Marquardt nonlinear least squares algorithms

    http://users.ics.forth.gr/~lourakis/levmar/index.html#download 先前做雷达标定用matlab导出这个算法调用,感觉也很爽,今天突然看到c++版本的,值得推荐,可以去上述地址下载。

    April 15, 2023
  • [转]gamma值

    广义的GAMMA值 Gamma值的广义定义就是输入值和输出值的Gamma幂指数关系,用来补偿人眼对自然亮度的非线性感知。 Gamma为了解决人眼对自然亮度非线性感知的问题,其二是因为记录存储的有限性。 人眼感觉黑->白范围“有限”,灯泡可以无限,但感觉会趋于一个有限制值; 分析:此时输入是灯泡的强度,输出是人眼的感觉,大自然中,感觉的差别阈限随原来刺激量的变化而变化,这是著名的韦伯定律。 当物理亮度达到白色的20%左右的时候,人的心目中已经感受到中灰色(即0.5处)的概念。而剩下的一半高光区的灰阶,需要用白色80%的物理能量才能照亮成白色。根据输入和输出的关系,可确定此时的Gamma大约在1.8~2.5,而现在大多数用2.2。 所以,GAMMA值的应用非常多,如图像的拍摄中的相机的GAMMA、图像显示中的显示器的GAMMA、图像输出中的打印机、印刷机等GAMMA等,不同设备的GAMMA描述的都是此设备的信号值对应的亮暗关系,而且,这些关系都是非线性的。 显示器的GAMMA值 显示器的Gamma值表示了输入信号的颜色值以及发光的亮度之间的关系,也就是输出时从黑到白的亮度过渡。同样,其也是非线性关系的。使用不同的Gamma值:1.0(线性响应),1.8~2.2(较暗的图像),3.0(过暗的图像)显示同一幅图像: 可见,较低的Gamma值(1.0)有一个较亮,较平稳的显示;而较高的Gamma值(2.2)有更高对比度的较暗的显示。现在显示器一般用8位深的RGB来记录数字图像,所以最大的数据存储量就是28 * 28 * 28 = 16,777,216,如果使用线性的方式进行存储自然中的亮度,那可能根本不够用。所以拍摄的图像先用GAMMA进行压缩,保留了大部分的中间和暗调细节,再通过GAMMA释放(校正)并显示,展示给人眼看见,保证了人眼在显示器上感觉和自然中相同。 什么是GAMMA值为1.0线性响应? 对于采集设备,如相机或者扫描仪,Gamma为1.0的时候,图像不存在压缩和释放,直接将原自然高动态亮度1:1输出为高动态显示信号,如果不对图像进行GAMMA校正,整体图像会显得更亮,会失去更多的中间调和暗调,同时图像文件的大小也会更大。如我们熟知的RAW工作流程就是一种线性GAMMA流程。 显示器的GAMMA值标准是多少? GAMMA值没有标准,如果要正确的找到GAMMA的标准,只能通过每台显示器的调整GAMMA更适合人眼的感觉,即感觉白-黑之间的渐变平滑,而且中间灰处于0.5中间的位置。 一般而言,显示器的GAMMA值会在1.8~2.5之间。由于最初的CRT显示器的GAMMA采用2.2,所以现在大部分显示器还是沿用2.2作为推荐的GAMMA值,但Mac中使用1.8。没有对与错,最正确的方法则是通过灰介自己找到最佳的GAMMA值。 未使用GAMMA校正和使用1.8GAMMA校正的图像对比 打印机、印刷机GAMMA值? 流程中的所有设备都有它们自己独有的Gamma特性,这也是为什么用Gamma查找表(LUTs)来生成显示器的Gamma以匹配其它设备的Gamma。如专业的扫描仪的Gamma值一直都是1.0,这样可以在扫描过程中得到最大的线性响应,而便宜的扫描仪则使用较高的Gamma值来避免多余的暗调噪声。 对于胶印,GAMMA是CMYK比例和人眼的亮度刺激关系,也就是密度值大小,所以我们通常使用“网点扩大”或者“TVI”,而不是“Gamma”,但是两者同理。它是设备的阶调响应以及中间调的主要影响因素,这点与Gamma类似。印刷机的网点扩大有点像1.7,1.8的Gamma。但是实际的值取决于印刷机、纸张、油墨等。相关的因素比显示器的GAMMA校正多很多。 印刷机GAMMA与显示器的GAMMA的比较 事实上,如果观察一幅印刷图像,你实际会看到低亮度和高光部分的压缩,因此,在曲线图上,印刷图像的色调曲线或Gamma曲线会呈现S形。 显示器的Gamma曲线在端点只会沿着一个方向伸展,这取决于显示器的模拟状况。这就是为什么显示器上的图像一直比印刷图像呈现出更大的对比度的原因。

    April 15, 2023
←Previous Page
1 … 4 5 6 7 8 … 10
Next Page→

shevin

Proudly powered by WordPress