近期接触到Basler等工业相机的SDK编程,调用其SDK进行二次开发,网上找了一些资料,整理如下,作为学习笔记以便以后翻阅。

1.工业相机编程模型和流程

不同的工业相机提供不同的编程接口(SDK),尽管不同接口不同相机间编程接口各不相同,他们实际的API结构和编程模型很相似,了解了这些再对工业相机编程就很简单了。

DMA技术

DMA(Direct Memory Access)是一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。整个数据传输操作在一个称为"DMA控制器"的控制下进行的。CPU除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高。

对于工业相机来说,当CMOS或CCD芯片曝光然后将数据转到相机缓存后,这时候DMA会负责将缓存中数据保存到硬盘上指定位置,正好满足相机高速大数据的传输。故工业相机一般都会使用DMA来完成实时的数据采集保存

大多数时候,DMA控制器存在各种接口的图像采集卡中,包括1394/GigE/USB/Camera Link等,这些采集卡有自己的时间控制单元完成和相机曝光的同步,并控制DMA的存取行为。

工作流程

当相机工作时,就是连续的采集-处理-采集-处理…的过程,但是这就存在一个问题,如果采集的速度比处理速度快,处理不过来,怎么办?在实际中,我们使用队列来解决这个问题,当前帧没有处理完,下一帧到来时直接放入队列等待当前处理完成后再处理它。如下图:

在这里插入图片描述
这里使用三个队列完成采集和处理同步。

DMA队列:当CMOS或CCD芯片曝光然后将数据转到相机缓存后,这时候DMA会负责将缓存中数据写入到“DMA队列”头Buffer中。

准备队列:一旦“DMA队列”头Buffer被填充完成,会被加到“准备队列”尾后,这时候会发送中断通知用户程序:当前又有一帧数据采集完成,您看着处理吧。

处理队列:当用户接收到中断会自动跳转到中断函数中,使用GetFrame拿取“准备队列”头Buffer,然后加到当前用户程序“处理队列”尾,用户程序从“处理队列”头拿取Buffer处理完成后使用PutFrame将Buffer再添加到原始的“DMA队列”尾。

需要说明如下几点:

1.这里的初始队列为1-10,都是初始分配为DMA队列的,这个内存分配和释放过程有的SDK是自己负责的,有的则需要用户自己分配和释放,SDK只负责托管使用。

2.一般最开始注册一个中断处理函数,当“准备队列”填充完成会自动跳转到中断函数中,借此完成同步操作。也可以是用户自己维护同步结构体,使用查询和等待的方式判断“准备队列”头是否填充完成,是否该用户程序获取数据和处理了。

3.如果用户处理任务非常简单,可以去掉“处理队列”,每次直接GetFrame->处理->PutFrame。如果用户处理任务比较复杂而不希望出现丢帧的现象,则需要用户使用“处理队列”来保存所有可用的Buffer。

4.这里队列也只是能够解决处理速度比采集速度慢少许的情况,主要是对不同处理速度做平均来保证采集和处理同步。如果每一帧的处理时间太长,这时候“DMA队列” Buffer全部转移到“处理队列” Buffer,就会出现异常情况,这时不同的相机会有不同的处理方法。

其中数据传输和显示流程
在这里插入图片描述
如上图,每个相机可能有不同的流采集器(Grab Streamer)或同一接口上安装了多个相机(也即对应多个流采集器),对应多个通道(Channel)。对每个通道来说,在实际采集时数据传输实际上是拆分成如图的数据包(Packet) RawData形式传递的,内存中存储形式为一维数组,在每一帧图像的起始存在不同的标识表明一帧的开始和结束,每一个Packet都有标识表明当前所属的通道。为了显示图像,用户程序需要重新将一维数组数据拼装成图像形式,这一过程由用户完成,通常可借助OpenCV或MIL等图像处理包完成该操作。

编程模型和流程

对于相机来说,常见编程时我们关注三个对象——相机对象、采集对象、参数对象。

相机对象(Camera Object):负责相机的连接、断开等工作。

采集对象(Grab Streamer):负责相机的采集队列分配、相机单帧、连续采集。

参数对象(Parameter Object):负责相机参数的设置。

不同的SDK可能安排不一样,一般来说要么是三种对象的功能合并到“相机对象”中,要么是分为三种对象,其实采集对象和参数对象都是在“相机对象”上封装而来。

通用编程流程如下图:
在这里插入图片描述
可以看到,相机编程需要做三方面工作:

1.初始化操作

首先初始化相机驱动Com环境,然后遍历得到当前的相机列表,根据相机ID或List 编号选择对应相机。

之后连接指定相机,首先设置本次采集的相机参数(帧速、图像大小、缩放比等),然后是分配和注册当前DMA队列,这里有的是用户完成,有的是SDK完成。

之后,先开启DMA逻辑等待相机采图,然后使相机开始工作采图,整个系统就按照之前工作流程运作起来了,许多SDK将“开启DMA”和“相机开始工作”合并为“开始采集”。

2.结束操作

先停止相机工作再关闭DMA逻辑,许多SDK将“关闭DMA”和“相机停止工作”合并为“结束采集”。

然后清理DMA队列,和分配时对应,这里有的是用户完成,有的是SDK完成。

最后断开相机并清理工作环境。

3.中断响应操作

当相机一帧采集完成后,自动跳转进入中断回调函数,这里分了两种中断回调函数。

第一种为简单的取Buffer(GetFrame)->处理->放回(PutFrame)。

第二种结合Windows的消息队列,在此处再给一个“处理队列”,给处理一个缓冲时间。

这里的处理包括常见的图像处理、计算和显示及RawData拼装为图像等用到Buffer的地方。

前面也说过,常用的是中断响应处理,除此之外,自己去查询Buffer填充状态并作相关同步操作在某些场合也会用到,这个请查询不同相机SDK给出的同步方案。

差不多所有的工业相机SDK都是这样的编程模型和流程,AVT 1394相机和Basler Camera Link相机和AVT GigE相机相关代码在笔者网站可下载,还有之前讲的Basler Pylon SDK相机编程,他们基本流程都是一样,恕不详述!

转载自: http://blog.csdn.net/wenzhou1219

2. 工业相机SDK接口使用总结

相机调用

我们利用相机采集图像,首先要对相机进行相关参数设置及控制,这需要对相机的SDK包比较了解,一般相机厂家都会提供相机SDK,其中包含用户手册和调用Demo,这些都大大降低了调用门槛,提高了二次开发用户的效率。目前用过Balser、海康、大华等相机,其实都是一个套路,一般都是按照下面几个步骤进行的。

1)枚举设备

2)创建句柄

3)打开设备

4)开始抓图

5)获取一帧并保存图像

6)停止抓图

7)关闭设备

8)销毁句柄

相机同步

若是开发过程中用到双目或者多目的话,则需要外接同步触发器或者外部触发信号,通过相机同步触发线来实现同步问题。以实际应用过的Basler acA1300-200uc为例,其相机同步触发线具体类型如下:

1 -—— +12 VDC 红

2 —— I/O Input 1 黄

3 —— VCC(加电阻) 蓝

4 —— I/O Out 1 绿

6 —— DCcam Power GND 黑

0000—— I/O GND 白

3. Basler Pylon工业相机SDK的使用

Pylon库有C++ .Net等各种封装版本,一般用C++版本,功能全面效率高,但对于不同接口(GigE USB3.0 CameraLink)的相机必须对应使用不同的类,不同接口之间不能通用。

基于GenAPI通用相机抽象接口使用的是Node结构,以字符串形式访问相机参数,可以统一管理不同接口类型的相机。但效率低,使用不方便。

Pylon高层用C++封装,形成本地相机对象。

如何管理多个相机,最靠谱的方法是按相机ID标定顺序,需要读一个配置文件,比如XML或JSON,然而一开始不知道ID,需要先遍历枚举出来。

4.Pylon 以实时图像采集讲解PylonC SDK使用流程

一般的对于提供硬件编程来说,硬件生产厂家都会提供好SDK使用的手册和实例。手册中一般包括安装和配置流程,一些基本概念的介绍,SDK每个函数使用,SDK使用流程和实例(有些硬件实例直接写在手册中,有些会以单独文件存在,还有的两者皆有)。对于上位机软件开发人员来说拿到一个硬件上位机编程任务,首先应该阅读了解其SDK概念,再按照其介绍的SDK开发流程阅读其提供的实例,修改相应的实例为自己所用,有不懂的函数查询一下其用法即可。有些开发人员习惯性的去记其API,这是费时费力的做法,并不推荐。下面主要以实时图像采集讲解Basler相机的PylonC SDK的使用流程。

PylonC SDK的使用的总体流程图如下:
在这里插入图片描述
下面是其中对于不同的工作要求,加载相机对象和卸载相机对象是通用的。而要使用其他模块,如事件对象时,相应的改为加载事件对象和卸载事件对象,以及使用事件对象完成相关任务即可。编程时一定要对整个流程做好规划,特别是硬件编程时一定留意内存泄露,前面分配的资源一定要在后面释放。

下面是五个大流程的详细解析,需要的地方已经加以说明,并注解了需要用到的函数:

加载相机对象
在这里插入图片描述
卸载相机对象
在这里插入图片描述
加载数据流抓取对象
在这里插入图片描述
卸载数据流抓取对象
在这里插入图片描述
单帧或连续抓图过程
在这里插入图片描述
按照以上介绍的流程即可实现实时图像采集

(源代码下载链接:http://download.csdn.net/download/wenzhou1219/8721495 (点击阅读原文进入) 。很多人问我要源代码,翻了以前的程序文件夹找到了这个程序,演示了利用Pylon SDK进行相机采集的过程,使用MIL完成界面显示,采集部分封装成了类,可以直接重用。测试相机为Basler相机。注意Pylon仅完成Raw Data的采集,使用MIL的MbufPut完成图像数据的重组,然后MIL自动显示。

转自:http://blog.csdn.net/wenzhou1219 )

在工业控制当中,用到basler工业相机sdk编程,主要是使用c或者c++,当项目庞大时,又需要良好的用户界面,用C++是不错的选择。
以实例和看过的一些参照讲讲PylonCppSDK使用流程,
首先,同C一样,这里给出一个bolg链接,写的不错,http://blog.csdn.net/wenzhou1219/article/details/7543420。
从中我们知道,总的开发流程图如下:
在这里插入图片描述
那么,用C++开发也大抵如此。
这里我们看一个basler的cpp sample,

This sample illustrates how to grab and process images using the CInstantCamera class.
// Include files to use the PYLON API.
*#include <pylon/PylonIncludes.h>
*#ifdef PYLON_WIN_BUILD*
*#    include <pylon/PylonGUI.h>*
*#endif**// Namespace for using pylon objects.
using namespace Pylon;// Namespace for using cout.
using namespace std;// Number of images to be grabbed.
static const uint32_t c_countOfImagesToGrab = 100;int main(int argc, char* argv[])
{// The exit code of the sample application.int exitCode = 0;// Automagically call PylonInitialize and PylonTerminate to ensure the pylon runtime system// is initialized during the lifetime of this object.Pylon::PylonAutoInitTerm autoInitTerm;try{// Create an instant camera object with the camera device found first.CInstantCamera camera( CTlFactory::GetInstance().CreateFirstDevice());// Print the model name of the camera.cout << "Using device " << camera.GetDeviceInfo().GetModelName() << endl;// The parameter MaxNumBuffer can be used to control the count of buffers// allocated for grabbing. The default value of this parameter is 10.camera.MaxNumBuffer = 5;// Start the grabbing of c_countOfImagesToGrab images.// The camera device is parameterized with a default configuration which// sets up free-running continuous acquisition.camera.StartGrabbing( c_countOfImagesToGrab);// This smart pointer will receive the grab result data.CGrabResultPtr ptrGrabResult;// Camera.StopGrabbing() is called automatically by the RetrieveResult() method// when c_countOfImagesToGrab images have been retrieved.while ( camera.IsGrabbing()){// Wait for an image and then retrieve it. A timeout of 5000 ms is used.camera.RetrieveResult( 5000, ptrGrabResult, TimeoutHandling_ThrowException);// Image grabbed successfully?if (ptrGrabResult->GrabSucceeded()){// Access the image data.cout << "SizeX: " << ptrGrabResult->GetWidth() << endl;cout << "SizeY: " << ptrGrabResult->GetHeight() << endl;const uint8_t *pImageBuffer = (uint8_t *) ptrGrabResult->GetBuffer();cout << "Gray value of first pixel: " << (uint32_t) pImageBuffer[0] << endl << endl;*#ifdef PYLON_WIN_BUILD*// Display the grabbed image.Pylon::DisplayImage(1, ptrGrabResult);
*#endif*}else{cout << "Error: " << ptrGrabResult->GetErrorCode() << " " << ptrGrabResult->GetErrorDescription() << endl;}}}catch (GenICam::GenericException &e){// Error handling.cerr << "An exception occurred." << endl<< e.GetDescription() << endl;exitCode = 1;}// Comment the following two lines to disable waiting on exit.cerr << endl << "Press Enter to exit." << endl;while( cin.get() != '\n');return exitCode;
}

把这个和上面的流程图对比理解,再看看文档和sdk的结构,理解起来就容易多了。

另附:
5.关于使用维视工业相机 SDK 采集图像的问题

问:最近一直在研究怎么用相机的SDK采集图像且能实时采集。用的维视MV-1300UC,它提供了DEMO,还有说明文档(一些函数的定义),我发现例子里面没有给出类,就直接定义类中的函数,看不明白。有开发经验的老师吗?给点指导,自己一个人学习一点进展也没有,谢谢!

答:

工业相机的SDK,为了通用性应该提供的是C接口

既然如此,例子中的类应该就只限那个例子有效,并不是使用该相机必须的

只要你看懂了每个函数的功能,用不着照抄例子中使用的类

有包含文件(.h)和静态链接库(.lib)我看了例子都没有看到主函数基本都是void 类名::函数名(){ }这种形式。

所以说你的问题在于看不懂例程,而不是看不懂相机开发包

一般工控领域提供的例程都是MFC程序,你到里面找main函数当然找不到

问:哦,这样啊,老师你有这方面的经验吗?这个东西我都弄了两周了,还是无从下手,难怪我还一直找主函数。给的说明文档我都看了好几遍了,感觉例子里面用到的也不多,自己想把里面的函数单独拿出来来实现功能,参数经常发生错误。

答:你说的这款相机我没用过。

建议你简单学习一下MFC。工控方面的编程用MFC比较多,毕竟搞工控的都不是专业程序员,没精力去专研那些复杂先进的软件技术,MFC算是最普及最简单的图形界面库了。

相机的话,应该是程序启动时【Open】,关闭时【Close】,采集图像前需要【设置采集参数】,采集单幅图像可以随时【采集】,采集连续图像的话需要【Start】和【Stop】,Start前要【设置连续采集参数】大多还需要【设置回调函数】。你可以去找这些功能的函数以及它们在例程中的位置和用法,配合MFC简单编程的学习,应该能快一点上手吧。

转自:CSDN论坛

6.工业相机SDK之opencv二次开发

做视觉的第一步是选好相机镜头等硬件设备,接下来就是将自己开发的算法在硬件上实现。我最近做一个项目,实现了一下Opencv在相机SDK上的运用,下面小结一下具体实现步骤.

  1. 安装相机自带的驱动和SDK开发包;

  2. 用VS2010新建一个工程,配置好SDK的动态链接库(或者静态),具体动态链接库的使用可参见孙鑫的那本书,这里不多说;

  3. 调用SDK开发包中的函数建立相机和PC机件的链接;

  4. 建立视频流数据,设立一个回调函数(具体参见各SDK),并将数据拷贝到Mat中的data中;

  5. 有了opencv中的Mat数据结构,接下来就可以实现我们的各种算法了。

我使用的是LuCam相机,由于时间关系没有研究很深入

转自:http://blog.sina.com.cn/s/blog_662c78590100zslr.htm

致谢:
https://blog.csdn.net/Jack_Sarah/article/details/79994724
https://blog.csdn.net/qq_22511953/article/details/45743321
https://blog.csdn.net/wenzhou1219/article/details/45874779

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Erlang学习笔记:异常处理

    异常 try … catch erlang中存在try…catch异常处理表达式,且这个表达式有值。 语法如下:try FuncOrExpressionSequence ofPattern1 [when Guard1] -> Expression1;Pattern2 [when Guard2] -> Expression2;catchExceptionType: ExPattern1 [when ExGuard1] -> ExExp…...

    2024/5/6 6:33:18
  2. Erlang学习笔记(一)

    Erlang虽然目前还不是主流语言,但有可能在未来一段时间发挥重要的作用.即使你不用Erlang,也可以从Erlang的设计和Erlang的社区的智慧中得到启发,就算是从开启思路,全面认识计算本质和并行计算特性的角度出发,Erlang也值得了解. 死锁,竞态,越来越多的锁带来了越来越复杂的问题…...

    2024/4/21 10:12:20
  3. 智能视频监控软件

    2013.01-2013.04用C#写了一个视频监控软件,Smart Vision—基于IP Camera的智能视频监控系统软件,此为项目总结。此软件正式开源:https://github.com/linbojin/SmartVision —— 2014.04.28 Copyright © Linbo.me所参考的开源项目 1、底层视频连接:Camera Vision -…...

    2024/5/6 16:09:04
  4. Erlang数据类型详细介绍(3)

    Erlang 中的列表是通过链表实现的,表示列表的 Eterm 就是这个链表的起点。列表 Eterm 中除去 2 位标签 01 之外,剩下的高 62 位表示指向列表中第一个元素的指针的高 62 位。我们在生成一个列表的时候,会采用这样的语法:L = [Head | Tail],Head 表示要添加到头部的单个元素…...

    2024/4/23 21:28:26
  5. 新收集整理的图像处理网址http://www.china-vision.net/blog/user1/8/archives/2006/2006113224912.shtml

    图像处理相关网站图像处理教学网站(英文)http://www.imageprocessingplace.com/朱虹图像工作室http://xautdiph.51.net/Files/LinkFile/Index.htm中国图像图像学会http://www.csig.org.cn/中国图像图形网http://www.image2003.com/中国图像图形学报http://www.cjig.cn/image …...

    2024/4/21 10:12:15
  6. 运行Erlang的程序

    运行Erlang程序的方式:1) 在Erlang shell 中编译执行2) Shell 脚本执行,例Hello.sh#!/bin/shErl –noshell –pa /home/abel/practice/erlang/code –s hllstart –s init stop3) 作为Escript 运行,例#!/usr/bin/env escriptMain(args)->Io:format(“Hell…...

    2024/4/21 10:12:14
  7. Erlang Edoc文档生成

    1.要生成类似于erlang的文档 , 模块的代码注释必须按照erlang的规则走。Erlang edoc 2.edoc不支持中文 , edoc_layout.erl 源码是charset=ISO-8859-1字符集 , 如果团队英文水平较高,可以无视这个... 去erlang源码查找edoc_layout.erl文件,然后复制一份 , 需要修改的如下代码。…...

    2024/5/4 4:05:54
  8. 常用软件

    美国AWR VSS系统设计仿真软件美国AWR Microwave Office2006 射频微波仿真软件美国AWR Visual System Simulator2006系统仿真软件Materials Studio材料模拟软件MICS/PRO 2005 日本的内田墓石设计软件紫瑞CADISE TCAD (PC version)Delcam.powerinspectcomprehensive meta analysi…...

    2024/4/21 10:12:13
  9. 主要的数据仓库开发软件及软件功能比较

    IBM、Oracle、Sybase、CA、NCR、Informix、Microsoft、和SAS等有实力的公司相继(通过收购或研发的途径)推出了自己的数据仓库解决方案,BO和Brio等专业软件公司也在前端在线分析处理工具市场上占有一席之地。下面针对这些数据仓库解决方案的性能和特点做分析和比较。IBM IBM公…...

    2024/4/21 10:12:15
  10. erlang热更新会kill掉进程吗?

    我的个人博客网站云诺说上线啦!所有文章都搬到新地址了,点击围观吧!问题:erlang热更新会kill掉还在调用old 代码的进程吗?前几天在跟人讨论erlang模块热更新时对方认为不会kill掉还在调用‘old’代码的进程,原因是这会破坏掉erlang的稳定性,这样热更也就完全没有了意义!…...

    2024/5/4 4:52:20
  11. CV之OpenCV:OpenCV库涉及概念、常见函数、常用案例、HALCON软件简介之详细攻略

    CV之OpenCV:OpenCV库涉及概念、常见函数、常用案例、HALCON软件简介之详细攻略目录CV入门OpenCV使用过程1、基本教程OpenCV的相关概念...

    2024/4/22 17:20:20
  12. Golang和Erlang的协程调度

    Go 语言和 Erlang 都是面向并发应用的语言,都采用轻量级线程和消息传递模型。尽管Go在语法上也支持共享,但必须以通信的方式同步方能保证其正确性。Erlang则是完全不支持进程间的共享,状态信息完全需要依靠消息彼此传递。从底层来看,在 Google 官方编译器中,Go 语言的 Gor…...

    2024/4/20 16:36:25
  13. keil5软件仿真出现unknown signal解决方法。

    用keil uvision5软件仿真时,MDK Logic Analyzer添加current logic analyzer signals时总是显示Unknown Signal?解决方法如下:Debug选项设置如下:其中Parameter的设置根据自己建立项目时选的开发板型号填写。在添加就不会出现Unknown Signal。...

    2024/5/4 0:05:10
  14. Erlang中的fun函数使用详解

    先看一个Erlang的规定:在Eralng中,同一个模块中的两个函数,如果她们同名但是它们的目(arity)不同,这样的两个函数被认为是完全不同的两个函数。通常情况下,这样的函数被用作辅助函数。 fun函数就是一个匿名函数(因为他自己没有名字),但就这个匿名函数,用处却是很大…...

    2024/4/24 16:14:59
  15. Erlang 聊天室程序( 一)

    为了熟悉Erlang的套接字编程开始编写一个“聊天室”程序。基本流程如下:1.服务器启动监听指定端口2.启动一个gen_server 作为聊天室进程,里面使用ets 保持当前所有客户端连接信息,并负责将某个客户端的消息广播到所有在线客户端3.服务器接受客户端连接,并绑定到一个gen_ser…...

    2024/4/20 17:49:44
  16. Erlang中的二进制位串(2)

    了解完 Erlang 的基本特性之后,就进入了基本语法的学习,但这部分着实让我费了点力气,因为和之前接触过的编程语言(C,C++,JAVA,C#)太不一样了,有很多新的理念,这儿我记录一下 Erlang 中一个很有特色的语言元素——二进制位串。 二进制串就是无符号8位字节序列,用于存放和…...

    2024/5/4 10:17:54
  17. Ubuntu 安装流程图工具asta

    asta asta是一款画流程图、时序图比较专业的软件。 官网 从官网下载astah professional安装包。下载 wget http://cdn.change-vision.com/files/astah-professional_8.0.0.d641d4-0_all.deb执行后需要一段时间下载。 安装 安装使用dpkg命令: sudo dpkg -i astah-professional_…...

    2024/5/4 12:53:57
  18. 安装Rabbitmq和安装erlang

    1 安装Erlang 下载erlang安装包,然后安装。原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,下载地址:http://www.erlang.org/downloads。下载*.exe安装包,点击安装,配置环境变量。测试是否安装成功:2 安装RabbitMQ下载地址:https://www.rabbitmq.com/download…...

    2024/4/20 2:59:34
  19. Keil5的安装破解,包含MDK-ARM和C51

    说明 Keil μVision5是一款微型控制器软件开发平台,是受广大单片机软件工程师爱戴的集成开发环境。如果你是商业用途,请购买正版。对于大多数学习者而言,更多的是选择破解软件,我在这里提供软件的安装破解教程,希望能帮助一些初学者。大多数开发者会用到STM32和C51单片机,…...

    2024/4/20 17:49:46
  20. 更改erlang起始工作目录

    erlang程序设计中介绍使用.erlang文件配置默认工作目录,但是到了5.8版本不行了,找了一下,发现了这个简单的方法。 在Erlang图标点右击鼠标,选择弹出菜单项“属性”,然后修改“Erlang 属性”对话框中 “起始位置”的值,原值为“(Erlang安装路径)/usr”,改为你想要的工作目…...

    2024/4/20 17:49:45

最新文章

  1. SpringBoot优雅地定制JSON响应数据

    提示&#xff1a;文章若有错误&#xff0c;欢迎评论区指正&#x1f36d; 文章目录 前言 一、如何使用JsonView这个注解&#xff1f; 二、应用场景 三、实战案例 注解方式 编程方式 总结 前言 最近在学习过程中发现了Jackson库的JsonView也可以改变JSON的输出结构&#xff0c;…...

    2024/5/6 16:18:34
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/6 9:38:23
  3. 【Easy云盘 | 第十三篇】分享模块(获取目录信息、获取文件信息、创建下载链接)

    文章目录 4.4.7获取目录信息4.4.8获取文件信息4.4.9创建下载链接 4.4.7获取目录信息 明天做 4.4.8获取文件信息 明天做 4.4.9创建下载链接 明天做...

    2024/5/5 8:46:28
  4. BetterZip for Mac2024最新mac解压缩软件

    作为一名软件专家&#xff0c;对于市面上各类软件都有较为深入的了解&#xff0c;下面介绍的是一款适用于Mac系统的解压缩软件——BetterZip&#xff0c;将从其功能特点、使用方法、用户体验及适用人群等方面进行详细介绍。 BetterZip5-安装包绿色版下载如下&#xff1a; htt…...

    2024/5/5 8:31:36
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/4 23:54:56
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/4 23:54:56
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/6 9:21:00
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/4 23:55:06
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/4 23:55:01
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57