自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(303)
  • 资源 (6)
  • 收藏
  • 关注

原创 VTK 观察者&命令模式: vtkCallbackCommand

#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>class vtkRenderer;class vtkImageViewer2;c.

2021-01-16 19:00:10 947

原创 VTK图像裁剪: vtkExtractVOI

原始图像裁剪一半示例#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>class vtkRenderer;class vtkIm

2021-01-16 18:01:06 1020

原创 VTK vtkLight

示例vtkLight的简单用法#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>#include <vtkRenderer.h

2021-01-16 17:55:55 189

原创 VTK Actor的属性

#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>#include <vtkRenderer.h>#include ...

2021-01-16 17:51:05 1682

原创 VTK 图像画布

#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>class vtkRenderer;class vtkImageCanvas...

2021-01-16 17:46:47 302

原创 QT VTK 信号和槽关联

该示例主要显示鼠标的实时位置#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>class vtkRenderer;class v.

2021-01-16 17:35:59 755 2

原创 QT Vtk 显示MHD图像

#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>class vtkRenderer;class vtkImageViewer2;.

2021-01-16 17:31:06 227

原创 QT + VTK 显示图像

主要代码如下#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>class vtkRenderer;class vtkImageV

2021-01-16 17:26:26 1357 2

原创 cpp文件中的inline和static修饰函数

(1)导致重定义# 分别在test.cpp 和 test1.cpp中定义相同的函数print#include <iostream>void print(){ std::cout << __FILE__ << " ==> " << __FUNCTION__ << std::endl;}(2) 在cpp中增加static/inline限制时,避免了重定义,但是,为什么inline会起作用呢?#include &.

2020-12-12 09:10:10 303

原创 Protobuf 中的类型检查

在使用protobuffer时,如果定义一个消息如下:enum my_enum{enum_type1 =1,enum_type2 =2}message my_msg{ required my_enum test_enum = 1}那么,在protoc生成的代码中,在赋值时 set_test_enum(const my_enum value) 的第一行代码会进行判断,判断value是否为对应的枚举数值,否则,会报错。同时,在c++中,以前认识存在...

2020-12-12 08:53:17 1206

原创 C++ 指针释放检查

在一些编译器中,支持sizeof()返回0,所以,会用到是否为合法类型,否则会导致中断触发#include <iostream>using namespace std;template<typename T>inline void checked_delete(T* x) noexcept{ typedef char type_must_be_complete[sizeof(T) ? 1 : -1]; (void) sizeof(type_must.

2020-12-06 17:58:02 1523

原创 C++ std::cout 输出颜色

#include <iostream>#include <vector>#include <string>using namespace std;#define WINDOWS_SYSTEM (0)#define LINUX_STSTEM (1)#define SYSTEM_TYPE (1)#if SYSTEM_TYPE == WINDOWS_SYSTEM#include <iostream>#include <windows..

2020-12-06 12:15:55 4351

原创 简单任务池

简单的线程池的实现int run_thread5(int from, int to){ std::cout << __FUNCTION__ << ", currentTime E = " << std::chrono::time_point_cast<std::chrono::milliseconds>(std::chrono::system_clock::now()).time_since_epoch().count() << s

2020-11-28 14:20:40 294

原创 future

std::future为我们提供了一种方式,能够让我们轻松知道一个异步任务的执行情况,通常,我们在应用过程中,我们可以在提交任务的时候,返回一个std::future,并且在合适的时候检查和等待任务结束,解决异步通信之间信息传递的问题#include <iostream>#include <future>#include <thread>#include <condition_variable>#include <mutex>#i.

2020-11-28 13:00:50 79

原创 条件变量wait

(1) wait(lock): 调用时即阻塞线程,并且调用lock.unlock()(2) wait(lock, conditions): 调用时检查conditions,如果为false,则阻塞线程,并且调用lock.unlock(), 否则,继续执行、(3) wait_for(lock, time_duration, conditions): 调用时,检查条件是否满足:(1) conditions返回true; (2) 时间超时,如果不满足(1)(2)中的一个条件,则阻塞线程,并调用lock..

2020-11-28 11:27:21 3449

原创 c++ std::enable_shared_from_this

在很多应用中,我们可能希望对象永远都存在,特别是在一些异步执行的程序中,回调函数的传入是需要保证对象指针的有效性的,所以,我们一般都是传入共享指针,我们就用到了std::enable_shared_from_this,这样可以通过成员函数返回该对象的共享指针,而不会出现多个共享指针管理相同对象的问题(如果你使用了std::shared_ptr<T>(this),那么,自然就会出现多个共享指针管理相同对象,这个是引入的根本原因)class testA : public std::enable

2020-11-21 11:33:02 462

原创 c++ 不可复制对象

该类对象一般是用于代码唯一性的内容,例如: std::mutex, ofstream, ifstream这类,关于std::ofstream可能很多人没有注意到,我们的函数是不同通过传值的方式传入参数的,例如:void print(const std::ofstream os); // 这样是错误的, 因为ofstream代表一个正在写的文件,如果允许传值,那么,会出现两个对象(其中一个是临时对象)管理相同的文件,那么,在临时对象析构的时候,通常,我们都会在析构函数中关闭文件,如下为c++ qt 实现的

2020-11-21 10:38:54 444

原创 c++ 共享指针:make_shared

记得刚开始使用共享指针的时候,不理解共享指针的reset(), std::make_shared<T>(args....)和构造函数: 实际上本质上是一样的,都是将一个指针交给共享指针对象管理,只是std::make_shared<T>(args...)在自身构造函数中,利用传输的参数构造一个对象指针给生成的共享指针对象,即,在构造共享指针的同时分配关联的指针#include <iostream>#include <memory>using name

2020-11-21 10:18:29 1037

原创 C++ 指针和const的讨论

该博客主要关于指针的相关信息,包含普通指针和共享指针以及const的讨论#include <iostream>#include <memory>using namespace std;// 对于普通类型指针#define PTR(X) X* // 普通指针#define CONST_PTR(X) const X* // 指针内容不可修改#define PTR_CONST(X) X* const ...

2020-11-21 10:01:01 87

原创 std::bind 和 成员函数中的重载函数

#include <iostream>#include <functional>class testBind{public: void print(int num) { std::cout << "num = " << num << std::endl; } void prin...

2020-05-02 12:26:57 2406

原创 std::bind 可变参数模板函数

#include <iostream>#include <string>#include <functional>using namespace std;class TestBindVar{public: template<typename... T> void Init(T&... args) ...

2020-05-02 11:53:21 2368

原创 C++函数类型和函数指针

函数类型(FuncType)和函数指针(FuncPointer) 函数指针: 指向函数的的指针,和普通的指针无本质区别函数类型: 由函数返回值类型/函数参数类型决定,和函数名称无关例如:对于函数: bool my_function(int a, const std::string& str)函数类型(FuncType): bool(int, const std::str...

2020-05-01 11:03:58 1213

原创 std::bind和std::function

在C++11中增加的新特性,为C++编程提供了极大的方便,可以用来替换的函数指针,当然,对比函数指针,std::function更加简单,因为它更像一个对象;如下代码显示了几种常用的形式,分别为类普通成员函数,类静态函数,普通静态函数和普通函数,注意,在示例中普通静态函数和普通函数的生存周期相同,可见范围也是相同的,所以,并无太多差别(在该示例中)#include <iostrea...

2020-05-01 09:26:57 211

原创 websocket++序列: Server

websocket服务器主要包含: (1) 设置日志级别 (2) 初始化asio (3) 设置默认Handler (4) 进行监听...

2020-04-12 17:39:15 492

原创 websocket++序列: Client

关于websocketpp 示例注释(https://docs.websocketpp.org/md_tutorials_utility_client_utility_client.html), 实际上是熟悉endpoint和connection,并且,两者之间关系: endpoint中关于connection相关配置在创建时拷贝道connection中,如果endpoint配置进行更新时,并不影...

2020-04-12 17:39:07 991

原创 websocket++序列: Config

1. Core Configs1.1 Policies:Typedef Name Effect concurrency_type Concurrency policy: 并行策略 elog_type Error logger type: 错误日志类型 alog_type Access logger type: 接入日志类型 request_type...

2020-04-12 17:38:58 232

原创 websocket++序列: Logger

1. 日志类型1.1 类别日志类型 说明 websocketpp::log::alevel 接入日志,默认只有debug/development日志 websocketpp::log::elevel 错误日志 1.2 日志策略 日志策略 备注 websocketpp::log::basic 基本日志策略,写日志到std::ostream,...

2020-04-12 17:38:50 435

原创 websocket++序列: Handler

1. Connection Handlers: 同连接相关的Handler Event Signature Version Socket Initial: 套接字初始化 socket_init(connection_hdl, asio::ip::tcp::socket&) >0.3.0 Asio Transport TCP established...

2020-04-12 17:38:42 699

原创 boost::asio序列: TCP通信

基于在UDP通信的相同原因,我们将原始的boost::asio示例进行修改,以保证能够在自己的PC上能够运行:1. TCP同步客户端#include <iostream>#include <boost/array.hpp>#include <boost/asio.hpp>using boost::asio::ip::tcp;int main...

2020-04-12 17:38:31 1296

原创 boost::asio序列: UDP 通信

为了能够测试,我将原来boost的示例中的端口13更改为60013,因为在13端口为daytime服务的专用端口: 如果强制使用运行时将会导致权限错误(ubuntu16.04)1. 同步UDP 客户端#include <iostream>#include <boost/array.hpp>#include <boost/asio.hpp>us...

2020-04-12 17:38:21 2417

原创 boost::asio序列: 多线程

示例代码中,在原来boost::asio代码基础上,增加了打印线程id的代码,方便理解多线程执行boost::asio::io_context::run()(或 boost::asio::io_service::run())的特点,同时,在这个示例中,学习boost::asio::io_context::strand的作用,就是,控制执行的顺序,先加入的先执行#include <io...

2020-04-12 17:38:12 1502

原创 boost::asio序列: boost::bind 和 std::bind 和 class member function

1. boost::bind => class member function#include <iostream>#include <boost/asio.hpp>#include <boost/bind.hpp>#include <boost/date_time/posix_time/posix_time.hpp>clas...

2020-04-11 16:00:08 268

原创 boost::asio序列: boost::bind 和 std::bind

1. 采用boost::bind#include <iostream>#include <boost/asio.hpp>#include <boost/bind.hpp>#include <boost/date_time/posix_time/posix_time.hpp>void print(const boost::system:...

2020-04-11 15:52:55 1272

原创 boost::asio序列: 计时器

以下两个示例都是使用计时器的例子,超时时长设置为5秒1. 使用计时器同步等待超时#include <iostream>#include <boost/asio.hpp>#include <boost/date_time/posix_time/posix_time.hpp>int main(){ // 如果采用boost旧版本,则: boo...

2020-04-11 15:38:02 182

原创 Boost::Asio 序列: 域名解析

// #include <QCoreApplication>/* * ModuleName: Main * Description: Boost::asio::ip::tcp::resolver * Author: hsw * Date: 2020-04-11 * */#include <iostream>#include <boost/asio...

2020-04-11 15:25:15 462

原创 boost::asio 序列19: basic_resolver

explicit basic_resolver(const executor_type& ex) 和 template <typename ExecutionContext> explicit basic_resolver(ExecutionContext& context, typename enable_if&...

2020-04-11 15:21:46 319

原创 boost::asio 序列18:basic_socket_acceptor

explicit basic_socket_acceptor(const executor_type& ex) 和 template <typename ExecutionContext> explicit basic_socket_acceptor(ExecutionContext& context, typen...

2020-04-11 15:21:37 594 1

原创 boost::asio 序列16: tcp::socket 和 udp::socket & socket_basic

reactive_socket_service_base execution_context_service_base<reative_socket_service<Porotocol>> \ ...

2020-04-11 15:21:26 399

原创 boost::asio序列17: basic_datagram_socket 和 basic_stream_socket

explicit basic_datagram_socket(const executor_type& ex) 和 template <typename ExecutionContext> explicit basic_datagram_socket(ExecutionContext& context, typ...

2020-04-11 15:21:17 538

原创 boost::asio序列13: io_object_executor

实现I/O handler的投递// Wrap the (potentially polymorphic) executor so that we can bypass it when// dispatching on a target executor that has a native I/O implementation.template <typename Executo...

2020-04-11 15:21:05 425

OpenCV + Contribute部分windows编译的release版本

在windows上利用MinGW编译器编译的OpenCV 3.4版本的release版本,包含Contribute部分

2019-01-16

LLNet模型实现

实现基于稀疏自动编码器的图像同时增强和图像去噪,该资源包含自己处理的样本数据

2018-05-24

GPS分析工具

该工具以QT为开发工具,在windows下可用的GPS NMEA数据转google Earth的KML文件格式数据的工具

2018-03-29

SimpleCaptureScreen

Matlab中调用Java函数实现截屏,重而能够在matlab程序中轻松实现屏幕截取的功能

2018-03-22

c++&qt;&windows;背景减除算法

包含43种背景减除算法,支持视频和图像序列两种格式,可以同时显示图像、前景、背景三种成分(https://github.com/andrewssobral/bgslibrary)

2018-01-09

蒙特卡罗的一个例子

用蒙特卡罗计算函数积分,我已经运行过了的,能够使用,仅供学习参照

2011-12-15

空空如也

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

TA关注的人

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