自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ljc

  • 博客(38)
  • 资源 (17)
  • 收藏
  • 关注

原创 真正解决jellyfin硬解码转码

前段时间入手一个DS423+集成显卡UHD600,搭了一个jellyfin,发现网上关于硬解码的教程基本都存在问题,没有真正解决我的硬解码问题。最重要的ffmpeg路径设置成空,jellyfin就会使用系统默认的ffmpeg。意思就是把默认的ffmpeg替换成新下载的。然后就可以关闭ssh进行jellyfin设置了。这个根据自己的CPU架构选择相应的版本。下载安装jellyfin这里就不叙述,网上都能找到大量教程,直接进入设置。下好之后点击手动安装就可以安装成功了。至此,就可以愉快的转码4K了。

2023-11-08 18:17:08 10033 5

转载 解决vscode中golang插件安装失败方法

在学习go的过程中,使用的是vscode,但是一直提示安装相关插件失败,然后上网查方法,基本上是叫你建立golang.org目录什么的,结果全是错的

2022-03-08 12:38:30 718

原创 虚拟双能量减影-实现骨肉分离

虚拟双能量减影使用两种不同的kV曝光两次,获得两种不同对比度的图像,并可进行图像处理的数字摄影方法。从高kV图像中减去低kV图像中的骨骼结构影,从而产生“软组织图像”,这个过程叫“双能量减影”。实际应用中由于受限于拍摄时间,并且重复拍摄会造成对患者吸收更多剂量的射线。虚拟双能量减影通过单张图像模拟双能量减影的效果。首先通过人工智能方式训练骨骼图像,然后对骨骼进行微调,最后把原始图像减去微调后的骨骼图像就得到无骨骼残影的软组织图像。原始图像人工智能训练得到骨骼图像未做微调.

2021-10-27 17:42:27 2422 1

原创 四、C++调用slomo模型

上一章《训练模型调用及转换》把训练好的模型转换为c++可以通过libTorch调用的模型。想了解windows C++调用libTorch可以看《C++(libTorch)调用pytroch预训练模型》,本章不在介绍。 首先调用torch::jit::load()把训练模型加载进来。 预测图像是使用opencv的cv::imread()进行读取。然后通过torch::from_blob转化为torch张量。 接下来把两张图像张量进行合并进行预测。输出...

2020-06-28 18:22:56 341

转载 Win10+VS2017+PyTorch(libtorch) C++ 基本应用

0.下载准备下载安装VS2017或VS2015下载安装opencv可以参考博客:VS2017配置opencv教程 ,该博客中写的很详细安装cmake记得把bin目录添加到环境变量path中,例如我的:E:\SoftEnv\CMake\bin下载libtorch下载地址:PyTorch libtorch ,这个根据自己情况选择下载,因为我自己的是cuda10,并且我选择使用release版本,所以我的选择如下:1.PyTorch模型转换为Torch脚本PyTorch模型从Pytho

2020-06-28 17:06:00 928 2

原创 三、训练模型调用及转换

上一章《slomo部分源码分析》为了提高测试速度降低GPU显存的要求对源码进行部分修改。本章实现训练模型的调用及转换为torch.jit模型。首先通过torch.load()加载上一章训练好的模型,读取两张测试图,并转化为灰度图,把两个转换过的灰度图通过torch.cat()合并后进行预测,同时通过torch.jit保存模型。以下是这部分的代码:device = torch.device("cuda" if torch.cuda.is_available() else "cpu")model =

2020-06-28 16:41:40 773

原创 二、slomo部分源码分析

上篇文章《super slomo介绍》已经对slomo进行大概的介绍。 本章对该源码进行一个简单分析,由于本人笔记本显存不够,因此对该源码进行部分修改,可以减少显存占用和训练速度的提升。并且后续使用C++来调用训练好的模型并实现双向光流和中间帧合成。 源码地址:https://github.com/avinashpaliwal/Super-SloMo,官方WIKI有具体的安装过程,不在做介绍。 源码通过torch来实现基于U-NET的神经网络结构和...

2020-06-28 15:48:20 509

转载 一、super slomo介绍

本专题文章对super slomo进行一系列操作,降低训练时间、预测时间、导出训练模型、C++调用模型进行预测等。本章对其进行一个简单介绍,来自互联网。2018年CVPR的论文《Super SloMo: High Quality Estimation of Multiple Intermediate Frames for Video Interpolation 》. 探讨了如何将普通设备录制的视频转换为高帧率慢动作视频。这项工作的原理是在临近的两帧之间补充额外的画面帧。让我们先来看一下效果:原视频为

2020-06-28 11:01:17 3106

转载 五J2EE模式2

前端控制器模式前端控制器模式(Front Controller Pattern)是用来提供一个集中的请求处理机制,所有的请求都将由一个单一的处理程序处理。该处理程序可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。以下是这种设计模式的实体。前端控制器(Front Controller)- 处理应用程序所有类型请求的单个处理程序,应用程序可以是基于 web 的应用程序,也可以是基于桌面的应用程序。 调度器(Dispatcher)- 前端控制器可能使用一个调度器对象来调度请求..

2020-06-05 14:05:26 163

转载 五J2EE模式1

MVC 模式MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。Model(模型)- 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。 View(视图)- 视图代表模型包含的数据的可视化。 Controller(控制器)- 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。实现我们将创建一个作为模型的Student对象...

2020-06-05 13:50:43 148

转载 四行为型模式3

空对象模式在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查。Null 对象不是检查空值,而是反应一个不做任何动作的关系。这样的 Null 对象也可以在数据不可用的时候提供默认的行为。在空对象模式中,我们创建一个指定各种要执行的操作的抽象类和扩展该类的实体类,还创建一个未对该类做任何实现的空对象类,该空对象类将无缝地使用在需要检查空值的地方。实现我们将创建一个定义操作(在这里,是客户的名称)的AbstractCustomer抽象类,和扩..

2020-06-05 13:32:56 177

转载 四行为型模式2

中介者模式中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。介绍意图:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。主要解决:对象与对象之间存在大量的关联关系,这样势必会导致系统的结构变得很复杂,同时若一个对象发生改变,我们也需要跟踪与之相关联的对象,同时做出相应

2020-06-05 13:19:58 190

转载 四行为型模式1

责任链模式顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。介绍意图:避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。

2020-06-05 13:07:47 167

转载 三结构型模式2

装饰器模式装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。我们通过下面的实例来演示装饰器模式的用法。其中,我们将把一个形状装饰上不同的颜色,同时又不改变形状类。介绍意图:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。主要解决:一般的,

2020-06-05 12:57:00 151

转载 三结构型模式1

适配器模式适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。我们通过下面的实例来演示适配器模式的使用。其中,音频播放器设备只能播放 mp3 文件,通过使用一个更高级的音频播放器来播放 vlc 和 mp4 文件。

2020-06-05 12:00:41 275

转载 二创建型模式

工厂模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。介绍意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选择的问题。何时使用:我们明确地计划不同条件下创建不同实例时。如何解决:让其子类实现工厂接口,

2020-06-05 11:34:34 219

转载 设计模式简介

设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖

2020-06-05 11:01:14 113

原创 MFC实现网页嵌入视频下载(策略模式)

有时候需要做个PPT需要一些视频素材,或者从某些网站观看一些无网页广告的视频,然而这些视频本身嵌入到网页中,为了方便从网页中导出视频,做了一个下载工具。首先上图展示效果: 这里对里面使用的知识点进行说明:使用CHttpConnection相关http操作的方式进行原始网页的代码下载并初步解析。 为解决有些网站通过js动态加载视频,使用WebBrows...

2020-04-16 11:47:50 972

原创 MFC实现阻塞等待动画

等待动画是友好的用户交互不可获取的功能,本文实现了基于MFC的等待动画。首先进行分析:等待动画需要独立于业务 等待动画需要阻塞当前窗口 动画背景透明(非必须)为了达到以上效果我们选用模式对话框+线程的方式来实现。思路是:模式对话框显示动画效果,业务线程绑定到模态对话框上,线程结束时模态对话框随之结束。首先展示效果:为了进行线程的绑定,我们使用《一种实用的c++线程管理方...

2020-04-08 18:16:08 1413

原创 二.gsoap简单使用(解决中文乱码、代码冗余、可控释放)

上篇:c++访问webservice(gsoap简单使用) 上篇文章使用gsoap命令行生成代理的方式进行webservice的访问。但在使用中存在一些问题,比如中文乱码、调用接口方式存在代码冗余(实现每个接口都要进行参数初始化、代理初始化及接口调用、结果判断及返回)、实例对象会被代理类释放等问题。 为了解决这些问题,可以采用宏的方式。下面是我实现的一个管理...

2020-03-11 20:13:53 402

原创 一种实用的c++线程管理方式

线程是我们编程中使用非常频繁的操作。线程本身难度不大,但实际使用中往往棘手,特别是在大量使用中,会遇到线程间同步、关闭释放、跨线程通讯、启动大量线程时耗时等问题。同时多处使用还会产生大量的冗余代码。下面实现一个静态库来解决线程使用中遇到的问题。 使用时需要载入JCThreadManager.h头文件和引入JCThreadManager.lib。使用过程很简单:...

2020-02-25 16:35:57 728

原创 (四)SpringCloud断路由

上篇:(三)SpringCloud服务测试 上篇基本测试了SpringCloud的负载均衡。本篇就继续介绍下断路由(Hystrix)。Hystrix可以解决单服务出现故障或资源过度消耗从而造的的雪崩问题。Hystrix本身提供了服务熔断、服务降级功能。而Feign又集成了Hystrix,这里就使用Feign来演示对Hystrix的支持。 默认情况下Hystr...

2020-02-20 14:33:03 537

原创 (三)SpringCloud服务测试

上篇:(二)SpringCloud业务实现上篇对相应的业务做了功能实现,只差最后的配置部分就可以进行测试。SpringCloud有两种配置application.properties和application.yml,这里使用application.yml进行配置。首先是eurekaserver部分的配置:server: port: 8000eureka: instance:...

2020-02-19 14:30:37 860

原创 (二)SpringCloud业务实现

上篇:(一)搭建SpringCloud上篇文章已经初步完成搭建SpringCloud。接下来,要实现api-pay和api-user两个接口。我们假设用户进行支付时会优先调用用户接口进行用户信息查询。这时需要在用户接口定义用户模型:这里的port是调用服务的端口号,用来在后面演示负载均衡使用。然后创建IUser接口和IPay接口,每个接口只有一个方法。public interf...

2020-02-19 10:40:15 202

原创 (一)搭建SpringCloud

SpringCloud是基于SpringBoot的框架集合。可以通过它进行分布式开发,它整合了发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等功能特征,极大简化开发流程。这篇文章使用springboot2.2版本进行springcloud的搭建工作。开发工具可选择使用eclipse、idea。这里使用的idea,因为idea的Spring Initializr工具方便spring关于...

2020-02-18 17:54:56 198

原创 (二)手写操作系统-32位保护模式导入C语言

首先,非常感谢《30天自制操作系统》这本书,为我解决了非常多的困惑并提供了一些工具的源码,以便于我用来修改并兼容中文汇编。 因此这篇文章用中文汇编的方式展示书上32位保护模式和C语言的导入(后面开发可能不这样写)。下面直接贴上源码:柱面数 等 10 装载 0x7c00 跳 主体 字 0...

2020-02-07 20:02:00 311 1

原创 (一)手写操作系统-中文汇编

前段时间想写个简易操作系统模式。觉得用汉字汇编去写操作系统岂不是更有意思。于是借鉴NASM做一个简易中文汇编,用来解析过程中用到的一些基本指令,为了后续的方便,暂时叫做NAJC。下面通过一个案例展示下: 装载 0x7c00 跳 主体 字 0x90 字 "NAJC " 双字 512...

2020-02-02 19:09:13 2479 6

原创 MFC实现ffmpeg流媒体数据推送与接收(2.使用命令行推流)

上篇我们获取到了我们要推流的设备名称。接下来我们就通过ffmpeg.exe推送rtmp到nginx服务器。

2017-08-09 11:52:52 1310

原创 MFC实现ffmpeg流媒体数据推送与接收(1.获取设备)

本篇文章是基于ffmpeg的一个应用实例。做过流媒体的同学对于ffmepg比较了解,这里就不做介绍。直接进入实例分析: 我们这次实现ffmpeg.exe解析桌面,摄像头,麦克风设备推送rtmp流到nginx,通过代码从流媒体服务器接收数据流解析并播放。那么第一步我们就要获取我们设备。桌面我们可以使用gdigrab来获取,考虑一些原因摄像头麦克风使用的dshow。那么本节就用MFC代码获取dshow相关的设备名称。

2017-08-09 10:20:06 1057

原创 .net解决iis无法访问磁盘映射

前段时间用到iis服务器读写磁盘映射文件,发现权限问题导致无法找到磁盘。这里只需要在iis用代码映射下就可以访问了。

2017-06-16 11:10:11 4321 3

原创 wpf实现可编辑listview二(通过委托回调自定义控件消息)

上篇通过自定义listview子项模版完成了可编辑的listview。这里为了解决一个问题(编辑完成后通知已经完成,方便同一时间数据保存或者更新)继续对源码进行修改。这里首先想到的就是委托,使用委托比发送命令更加容易多处扩展。

2017-04-21 17:42:40 1882

原创 wpf实现可编辑listview

本篇实现了wpf的listview在item中通过与TextBox的绑定完成列表的可编辑功能。网上找了一些方法最终发现msdn提供的一套方案比较好,就在基础上做些修改,使得TextBox长度改变更加流畅及UI与数据源的双向更新。

2017-04-05 16:33:40 7983

转载 值得推荐的C/C++框架和库 (真的很强大)

值得学习的C语言开源项目

2017-03-09 16:44:41 334

原创 c++访问webservice(gsoap简单使用)

c++访问webservice(goap简单使用)

2017-02-28 11:37:16 6304

原创 vc++实现反射式数据库模版(4.实现数据库模版)

前三节参照MFC实现了数据模型的序列化工作。这一节就利用ADO完成数据库模版,这里实现增加和查询功能,有兴趣可以自己参照完成删除和更新。 由于查询结果可能是一个集合,这里我们把数据模型设计成链表,只需在基类增加TDObject* m_pNextObject;指向下个数据模型的指针。 参照软件设计原则,我们把业务对象和业务逻辑分开。建立TDLogic做为我们的数据操作模版。

2017-02-24 12:09:23 319

原创 vc++实现反射式数据库模版(3.序列化、反序列化与消息映射)

前两节模拟实现了MFC的运行时类识别与动态创建,就是为了这节做工作的。因为我们的目的就是把对象中的数据转化成字符串,前提是我们对对象的结构是未知的,通过一种通用的方式方便快捷无重复的实现我们的想法。 首先简单介绍下MFC序列化。MFC把DECLARE_SERIAL与IMPLEMENT_SERIAL做为序列化初始化宏与实现宏。两个宏在动态创建基础上重写了>>运算符,通过调用虚函数Serialize(Carchive&ar)对成员变量进行读取及写入。如果我们像MFC序列化一样把自己成员也通过一个虚函数读取写

2017-02-23 11:53:52 524

原创 vc++实现反射式数据库模版(2.动态创建)

为何说要用到动态创建呢,因为我们不仅需要insert还需要select,我们把查询到的结果反向填充到类和对象中,就需要实例化我们的类。然后把填充好的对象返回出去就可以使用得到的对象了,多么灵活。实现动态创建我们所做的只需要在运行时类识别基础上增加动态创建相应的操作就可以了

2017-02-22 16:18:46 315

原创 vc++实现反射式数据库模版(1.运行时类识别)

前段时间写一个web应用,当然c#和java已经提供现成框架倒也方便,不过由于种种原因客户端需要MFC实现。在这里就介绍下怎么一步步完成这个功能。遇到的最大问题就是实现众多类模型的增删改查。

2017-02-22 14:16:33 531

修改后的slomo.zip

对super slomo修改,减少显存占用和训练速度的提升,便于本机电脑测试,同时附带训练模型转换为torch模型,结合文章使用,

2020-06-28

JCVideoDown.exe

有时候需要做个PPT需要一些视频素材,或者从某些网站观看一些无网页广告的视频,然而这些视频本身嵌入到网页中,为了方便从网页中导出视频,做了一个下载工具。

2020-04-16

JCTestWaitDlg.zip

等待动画是友好的用户交互不可获取的功能,本文实现了基于MFC的等待动画。 1. 等待动画需要独立于业务 2. 等待动画需要阻塞当前窗口 3. 动画背景透明(非必须)

2020-04-08

c++访问webservice gsoap管理

使用gsoap命令行生成代理的方式进行webservice的访问。但在使用中存在一些问题,比如中文乱码、调用接口方式存在代码冗余(实现每个接口都要进行参数初始化、代理初始化及接口调用、结果判断及返回)、实例对象会被代理类释放等问题。 为了解决这些问题,可以采用宏的方式。下面是我实现的一个管理类

2020-03-11

c++线程管理同步类库

线程是我们编程中使用非常频繁的操作。线程本身难度不大,但实际使用中往往棘手,特别是在大量使用中,会遇到线程间同步、关闭释放、跨线程通讯、启动大量线程时耗时等问题。同时多处使用还会产生大量的冗余代码。下面实现一个静态库来解决线程使用中遇到的问题。

2020-02-25

SpringCloud使用Feign做断路由

springcloud相关搭建测试,使用eureka作为注册中心,通过feign进行服务访问,feign做断路由。结合文章使用

2020-02-20

springcloud

springcloud相关搭建测试,使用eureka作为注册中心,通过feign进行服务访问。作为文章的附件

2020-02-18

(二)32位保护模式导入C语言源码.zip

本资源是文章中提到的资源,文章地址位:https://mp.csdn.net/postedit/104214937

2020-02-07

中文汇编NAJC演示版

近期写个操作系统解解乏困。前几天突然想到,用汉字汇编去写操作系统岂不是更有趣味。于是借鉴NASM做一个简易中文汇编,用来解析过程中用到的一些基本指令,取名NAJC。目前属于演示版。

2020-02-02

MFC实现ffmpeg流媒体数据推送与接收(2.推流)

MFC实现ffmpeg流媒体数据推送与接收(2.推流)

2017-08-09

wpf实现可编辑listview(新版)

修正上次BUG,在绑定时指定width

2017-08-09

wpf实现可编辑listview二(通过委托回调自定义控件消息)

通过委托回调自定义控件消息,结合文章使用

2017-04-21

wpf实现可编辑listview

wpf实现可编辑listview

2017-04-05

c++访问webservice(gsoap简单使用)

c++利用gsoap访问webservice,结合文章使用

2017-02-28

vc++实现反射式数据库模版(4.实现数据库模版)

完成数据库模版,与文章配合使用

2017-02-24

vc++实现反射式数据库模版(3.序列化、反序列化与消息映射)

参照MFC实现序列化,结合文章使用

2017-02-23

vc++实现反射式数据库模版(2.动态创建)

模拟MFC实现动态创建,结合文章使用

2017-02-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除