当前位置: 首页 > 软件库 > Web3 > 区块链 >

blur-api-cpp

授权协议 MIT License
开发语言
所属分类 Web3、 区块链
软件类型 开源软件
地区 不详
投 递 者 花永昌
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Disclaimer

This repository was forked from https://github.com/cinemast/libjson-rpc-cpp, and is inspired by https://github.com/minium/bitcoin-api-cpp.

As a result, THE README BELOW is a direct copy of that from cinemast/libjson-rpc-cpp.

Please see INSTRUCTIONS.md for information on compiling this library & the BlurAPI stub server.


I am currently working on a new C++17 implementation -> json-rpc-cxx.

Master Develop |

libjson-rpc-cpp

This framework provides cross platform JSON-RPC (remote procedure call) support for C++.It is fully JSON-RPC 2.0 & 1.0 compatible.

libjson-rpc-cpp logo

5 good reasons for using libjson-rpc-cpp in your next RPC project

  • Full JSON-RPC 2.0 & partial JSON-RPC 1.0 client and server Support.
  • jsonrpcstub - a tool that generates stub-classes for your JSON-RPC client and server applications.
  • Ready to use HTTP + TCP server and client to provide simple interfaces for your JSON-RPC application.
  • Cross platform build support for Linux and OS X.
  • Super liberal MIT-License.

Other good reasons to use libjson-rpc-cpp

  • Easy to use cmake cross platform build system.
  • Clean and simple architecture, which makes it easy to extend.
  • Continuously tested under MacOS, and various linux distributions.
  • Automated testing using make test.
  • Useful Examples provided. e.g. XBMC Remote using json-rpc client part and stub generator.
  • The stubgenerator currently supports C++, JavaScript, and Python.

Overview

Install the framework

Debian (stretch) and Ubuntu (15.10 or later)

sudo apt-get install libjsonrpccpp-dev libjsonrpccpp-tools

Fedora

sudo dnf install libjson-rpc-cpp-devel libjson-rpc-cpp-tools

Arch Linux

For Arch Linux there is a PKGBUILD provided in the AUR.

sudo aura -A libjson-rpc-cpp

Gentoo Linux

sudo emerge dev-cpp/libjson-rpc-cpp

Mac OS X

For OS X a Brew package is available:

brew install libjson-rpc-cpp

Windows

There is a ready to use compiled package here.Just download execute the installer EXE.

Build from source

Install the dependencies

UNIX

For Debian and Arch GNU/Linux based systems, all dependencies are available via the package manager.For OS X all dependencies are available in Brew

Build

git clone git://github.com/cinemast/libjson-rpc-cpp.git
mkdir -p libjson-rpc-cpp/build
cd libjson-rpc-cpp/build
cmake .. && make
sudo make install
sudo ldconfig          #only required for linux

That's it!

If you are not happy with it, simply uninstall it from your system using (inside the build the directory):

sudo make uninstall

Build options:

Default configuration should be fine for most systems, but here are available compilation flags:

  • -DCOMPILE_TESTS=NO disables unit test suite.
  • -DCOMPILE_STUBGEN=NO disables building the stubgenerator.
  • -DCOMPILE_EXAMPLES=NO disables examples.
  • -DHTTP_SERVER=NO disable the libmicrohttpd webserver.
  • -DHTTP_CLIENT=NO disable the curl client.
  • -DREDIS_SERVER=NO disable the redis server connector.
  • -DREDIS_CLIENT=NO disable the redis client connector.
  • -DUNIX_DOMAIN_SOCKET_SERVER=YES enable the unix domain socket server connector.
  • -DUNIX_DOMAIN_SOCKET_CLIENT=YES enable the unix domain socket client connector.
  • -DFILE_DESCRIPTOR_SERVER=NO disable the file descriptor server connector.
  • -DFILE_DESCRIPTOR_CLIENT=NO disable the file descriptor client connector.
  • -DTCP_SOCKET_SERVER=NO disable the tcp socket server connector.
  • -DTCP_SOCKET_CLIENT=NO disable the tcp socket client connector.

Using the framework

This example will show the most simple way to create a rpc server and client. If you only need the server, ignore step 4. If you only need the client, ignore step 3. You can find all resources of this sample in the src/examples directory of this repository.

Step 1: Writing the specification file

[
	{
		"name": "sayHello",
		"params": {
			"name": "Peter"
		},
		"returns" : "Hello Peter"
	},
	{
		"name" : "notifyServer"
	}
]

The type of a return value or parameter is defined by the literal assigned to it. The generated stubs will will use the "returns" type to validate the response. In this example you can see how to specify methods and notifications.

Step 2: Generate the stubs for client and server

Call jsonrpcstub:

jsonrpcstub spec.json --cpp-server=AbstractStubServer --cpp-client=StubClient
mkdir -p gen
mv abstractstubserver.h gen
mv stubclient.ch gen

This generates an AbstractStubServer and a StubClient class and moves them to the gen folder.

Step 3: implement the abstract server stub

Extend the abstract server stub and implement all pure virtual (abstract) methods defined in spec.json.

See src/examples/stubserver.cpp

In the main function the concrete server is instantiated and started. That is all for the server. Any JSON-RPC 2.0 compliant client can now connect to your server.

Compile the server with:

g++ stubserver.cpp -ljsoncpp -lmicrohttpd -ljsonrpccpp-common -ljsonrpccpp-server -o sampleserver

Step 4: Create the client application

See src/examples/stubclient.cpp

Compile the client with:

g++ stubclient.cpp -ljsoncpp -lcurl -ljsonrpccpp-common -ljsonrpccpp-client -o sampleclient

Contributions

Please take a look at CONTRIBUTING.md

You can also donate via

Changelogs

Changelogs can be found here.

API compatibility

We do our best to keep the API/ABI stable, to prevent problems when updating this framework.A compatiblity report can be found here.

License

This framework is licensed under MIT.All of this libraries dependencies are licensed under MIT compatible licenses.

References

If you use this library and find it useful, I would be very pleased if you let me know about it.

  • tutorial_code 目录结构 └─tutorial_code ├─calib3d │ ├─camera_calibration │ │ camera_calibration.cpp │ │ in_VID5.xml │ │ out_camera_data.yml │ │ VID5.xml

  • opencv之GaussianBlur()函数 2018年04月17日 16:42:50 duwangthefirst 阅读数:1507 标签: opencvGaussianFilter高斯滤波图像去噪图像平滑 更多 个人分类: OpenCV 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/duwangthefirst/article/detail

  • 概述 medianBlur()函数使用中值滤波器来平滑图像。 API说明 C++ API: void cv::medianBlur ( InputArray src, (原始图像) OutputArray dst, (目标图像) int ksize (孔径线性尺寸:必须是大于1的奇数,例如3、5、7…) ) python API: dst = cv.medianBlur( src, ksize[,

  • 一、概述         各种图像质量分析(IQA)算法的实现:         均方误差 (MSE)、峰值信噪比 (PSNR)、结构相似性 (SSIM)、梯度幅度相似度偏差 (GMSD)、无参考图像空间质量评估 (BRISQUE)         一般来说,GMSD 算法应该产生最好的全参考 IQA 结果。         所有算法都可以通过更简单的静态compute方法访问,或者通过静态cre

  • 安装CUDA10.1和tensorflow2.2 CUDA10.1就不说了,主要是我们服务器本来就有-> 0.0 为什么是2.2呢,个人喜好。。 下载tensorflow源码 git clone https://github.com/tensorflow/tensorflow.git cd tensorflow/ git checkout r2.2 ./configure bazel build

 相关资料
  • 一般来说,模糊意味着变得不清楚,在将模糊效果应用于节点时,它变得不清楚。 Box Blur是JavaFX提供的一种模糊效果。 在此效果中,为了将模糊应用于节点,使用简单的盒式过滤器。 包javafx.scene.effect名为BoxBlur的类表示BoxBlur效果,该类包含四个属性,它们是 - height - 此属性是double类型,表示效果的垂直大小。 width - 此属性是doubl

  • UIView-Blur 可通过仅仅两行代码对 UIView 进行模糊化处理。

  • This repository is under contruction There are files in here from many different projects, including but not limited to BLUR, BTC, KMD, and XMR. Please retain proper licensing if you reuse any files,

  • MBProgressHUD Blur 给广泛使用的HUD类库MBProgressHUD添加上模糊背景,类似iOS7的HUD效果。

  • 给弹出视图遮住的背景视图加上模糊效果。一般来说,弹出视图所遮住的背景主视图会加上阴暗效果,从而突出显示弹出视图。这份代码能够为背景视图加上模糊的效果。 [Code4App.com]

  • Lens Blur 是通过使用 Nokia Imaging SDK InteractiveForegroundSegmenter 和 LensBlurEffect 来模糊图像指定区域的应用程序。