开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
博客专区 - 开源中国社区

精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

制作mobi格式的PostgreSQL文档

本人是Kindle的重度用户,喜欢使用Kindle看书,而且一直秉承着学习PostgreSQL首先要完全阅读官方文档的念头,一直在看PDF版的文档,奈何工作和娱乐都是电脑,眼睛早已不堪重负,所以一直萌生了做mobi格式的文档。前期已经手工做了6寸PDF版,奈何人工太长,现利用文档原有的编译方法,进行epub格式转化,进而转为mobi格式。欢迎有需要的下载、收藏。
PGSmith 发布于 4周前 阅读 312 评论 1

73款阿里巴巴开源软件详解!

详细解读阿里巴巴开源技术,包括框架、组件、引擎、数据库/存储、平台/系统、解决方案、工具、中间件、Web Sever、设计等十大类73款!
阿里巴巴

mingw+vs2013静态编译最新ffmpeg与x264

一、 源码包下载 1、 Ffmpeg ``` $ git clone https://git.ffmpeg.org/ffmpeg.git ``` 2、 x264 ``` $ git clone http://git.videolan.org/git/x264.git ``` 或 ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2 下载 二、 编译工具 1、 mingw https://sourceforge.net/projects/mingw/ 在线安装最新版本 2、 yasm http://yasm.tortall.net/Download.html 3、 nasm http://www.nasm.us/pub/nasm/releasebuilds/ 4、 pkg-config, mingw中默认没有 http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-0.23-2.zip http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip只需要用到其中的libglib-2.0-0.dll文件 三、 mingw/msys环境设置 1、 复制 D:\MinGW\msys\1.0\ msys.bat 为 D:\MinGW\msys\1.0\ msys-vs2013.bat,打开文件,在最前面加上:call "D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat" 保存文件 2、 将yasm.exe与nasm.exe放置到d:/MinGW/msys/1.0/bin/中 3、 将pkg-config-0.23-2.zip解压pkg-config.exe与glib_2.18.4-1_win32.zip中的 libglib-2.0-0.dll至d:/MinGW/ms...
caiwang213 发布于 1个月前 阅读 129

数据可视化(三)基于 Graphviz 实现程序化绘图

- OmniGraffle 和 Graphviz - Why draw when you can code? - Graphviz 简介 - 最佳 Graphviz 实践(一):流程图、数据结构图、网络路径 Trace Route - 最佳 Graphviz 实践(二):复杂社会关系链分析(《红楼梦》、《权力的游戏》) - 最佳 Graphviz 实践(三):机器学习算法-决策树(Decision Tree)
RiboseYim 发布于 2个月前 阅读 1969 评论 5 点赞 5

利用Photoshop + Matlab 解析10-bit RAW

很多图像芯片都支持10bit/12bit Bayer RAW的输出,而大部分图像查看软件都无法直接处理这类文件。下面介绍一种办法,供大家参考。
ColorBeans 发布于 3个月前 阅读 143

opencv+python机读卡识别整合版

通过随意一张机读卡的照片,识别其中选择题题号,选项,以及相关数字识别
Digimon 发布于 4个月前 阅读 3210 评论 10 点赞 18

python数据可视化----绘制各种图形

1.环境 系统:windows10 python版本:python3.6.1 使用的库:matplotlib,numpy 2.numpy库产生随机数几种方法 import numpy as np numpy.random rand(d0, d1, ..., dn) In [2]: x=np.random.rand(2,5) In [3]: x Out[3]: array([[ 0.84286554,  0.50007593,  0.66500549,  0.97387807,  0.03993009],        [ 0.46391661,  0.50717355,  0.21527461,  0.92692517,  0.2567891 ]]) randn(d0, d1, ..., dn)查询结果为标准正态分布 In [4]: x=np.random.randn(2,5) In [5]: x Out[5]: array([[-0.77195196,  0.26651203, -0.35045793, -0.0210377 ,  0.89749635],        [-0.20229338,  1.44852833, -0.10858996, -1.65034606, -0.39793635]]) randint(low,high,size) 生成low到high之间(半开区间 [low, high)),size个数据 In [6]: x=np.random.randint(1,8,4) In [7]: x Out[7]: array([4, 4, 2, 7]) random_integers(low,high,size) 生成low到high之间(闭区间 [low, high)),size个数据 In [10]: x=np.random.random_integers(2,10,5) In [11]: x Out[11]: array([7, 4, 5, 4, 2]) 3.散点图 x x轴 y y轴 s 圆点面积 c 颜色 marker 圆...
南寻 发布于 6个月前 阅读 3786 评论 5 点赞 8

SGPlayer 原理详解 - 支持 VR、RTMP 的视频播放框架

# SGPlayer 原理详解 SGPlayer 是一款基于 AVPlayer、FFmpeg 的媒体资源播放器框架。支持全景视频,RTMP、RTSP 等直播流;同时支持 iOS、macOS、tvOS 三个平台。本文将采用图解+说明的方式把关键模块的实现原理介绍给大家。 - 项目地址:[OSChina - SGPlayer](http://git.oschina.net/libobjc/SGPlayer) ## 发起原因 关于视频播放,苹果提供的 AVPlayer 在性能上有着十分出色的表现,在无特需求且资源可控的时,首选一定是它。但随着 VR 和直播的兴起,仅使用 AVPlayer 很多时候已经无法满足需求。出于性能考虑,又不能完全抛弃 AVPlayer,毕竟在点播时有着明显的优势。而在现有的开源项目中,普遍定位比较单一,并不能兼顾 AVPlayer、直播、VR。这样一来,需同时使用3款播放器才能满足需求,即点播使用 AVPlayer,直播使用一个独立的播放器,VR 使用一个独立的播放器。这样处理3套不同的接口和回调事件,着实很让人崩溃!SGPlayer 的出现大大简化了这一过程。 ## 组成结构 和 播放流程 ![SGPlayer](https://coding.net/u/0x010101/p/resource-public/git/raw/master/SGPlayer/SGFFPlayer-playback.jpeg) 上图展示了 SGPlayer 的播放流程和主要组件,下面简单介绍图中各组件...
libobjc 发布于 7个月前 阅读 485 评论 1

谷歌开源图片压缩算法Guetzli实测体验报告

谷歌大神又出开源新技术啦,这次是对JPEG格式的图片采用全新算法重新编码,输出的图片还是JPEG但是图片大小明显缩小,而质量不但没有损失,甚至还更加优化,速速来体验一把。
腾讯云社区 发布于 8个月前 阅读 781 点赞 1

用JAVA写一个简易图片防篡改

图片防止篡改部分 第一步,获取图片的md5字符串,并转为字节数组 //将图片使用md5加密 private static byte[] img2Md5Bytes(File file,String salt) throws Exception{ FileInputStream inputStream=new FileInputStream(file); StringBuilder builder=new StringBuilder(); byte[] bytes=new byte[1024]; int bytesRead; while ((bytesRead=inputStream.read(bytes))!=-1){ builder.append(new String(bytes,0,bytesRead)); } inputStream.close(); builder.append(salt); String md5=md5(builder.toString()); return hexStringToBytes(md5); } //16进制转字节数组 private static byte[] hexStringToBytes(String hexString) { if (hexString == null || hexString.equals("")) { return null; } hexString = hexString.toUpperCase(); int length = hexString.length() / 2; char[] hexChars = hexString.toCharArray(); byte[] d = new byte[length]; for (int i = 0; i < l...
empty_null 发布于 9个月前 阅读 1657 评论 4 点赞 4

基于caffe与MATLAB接口回归分析与可视化

本文内容主要分为两部分,第一部分介绍基于caffe的回归分析,包括了数据准备、配置文件等;第二部分介绍了在MATLAB上进行的可视化。(话说本人最近有个课题需要做场景分类,有兴趣可以共同探讨一下)。
Parser7 发布于 10个月前 阅读 881

opengl的MVP矩阵变换

在3D图形中,要实现物体的移动,场景的移动都离不开矩阵操作,甚至在2D的屏幕上显示3D的图形,靠的也是透视矩阵。
流云1987 发布于 10个月前 阅读 420 评论 1

流媒体:ffmpeg生成HLS的m3u8与ts片段

流媒体:ffmpeg生成HLS的m3u8与ts片段
IamOkay 发布于 10个月前 阅读 2275

流媒体:在CentOS 7 安装ffmpeg流媒体工具

CentOS 7 安装ffmpeg
IamOkay 发布于 10个月前 阅读 667

那些适合日常使用的开源工具和应用(娱乐篇)

本系列文章将针对办公、设计、娱乐、教育等日常使用场景,进行一些开源工具和应用的推荐,希望能对大家有所帮助。优秀的实在太多,篇幅有限,仅列出部分,发现更多可以利用 OSC 的搜索工具。喜欢请关注、收藏、评论,欢迎打赏~~ Part 1:那些适合日常使用的开源工具和应用(办公篇) Part 2:那些适合日常使用的开源工具和应用(设计篇) Part 3:娱乐篇 影视 音乐 游戏 一、影视 1、VLC Media Player VLC Media Player 是知名的开源视频播放器,功能强大,它可以播放来自网络、摄像头、磁盘、光驱的文件,支持包括 MPEG 1/2/4,、H264、 VC-1、DivX、 WMV、 Vorbis、AC3、AAC等格式的解码。且无广告,无跟踪用户的行为。 VLC Media Player 适用 Windows、Linux、OS X、Android、iOS、Windows Phone 等多个平台,可设置成中文。据悉,最新发布的 3.0预览版 还支持 360 度视频,允许查看全景照片。 开源协议:GPLv2 2、MPlayer MPlayer 同样是一款知名的开源视频播放器,支持MPEG / VOB、AVI、Ogg / OGM、VIVO、ASF / WMA / WMV、QT / MOV / MP4、RealMedia、Matroska、PVA文件等多种格式解码。支持通过一些硬件显示 MPEG 解码器板,例如 Siemens DVB、DXR2和DXR3 / Hollyw...
王练 发布于 12个月前 阅读 6873 评论 13 点赞 12

那些适合日常使用的开源工具和应用(设计篇)

本系列文章将针对办公、设计、娱乐、教育等日常使用场景,进行一些开源工具和应用的推荐,希望能对大家有所帮助。优秀的实在太多,篇幅有限,仅列出部分,发现更多可以利用 OSC 的搜索工具。喜欢请关注、收藏、评论,欢迎打赏~~ Part 1:那些适合日常使用的开源工具和应用(办公篇) Part 2:设计篇 平面设计/图像设计 网页设计/网页开发 CAD 设计 影视设计/视频编辑 一、平面设计/图像设计 1、Krita Krita 是一个免费开源绘图工具,是专门为概念艺术家、插图作者、粗面纹理艺术家,和视觉特效行业而设计的。Krita 已经开发了超过10年之久,它提供很多通常和创新性的功能特性来帮助新手和专业人士。 Krita 共有 9 种独特的画笔引擎来定制画笔。每一个引擎都有大量的设置选项,每个画笔引擎被设计成能够满足一种特殊需求,比如颜色涂抹引擎、形状引擎、颗粒引擎、滤镜引擎等等。还可以保存使用过的笔刷设置,用独特标签系统来组织它们。 开源协议:GPL 2、MyPaint MyPaint 是一个图像绘画程序,它支持的压力敏感的绘图板,并配备了一个易于使用的刷子收集。有一个复杂的接口,用于创建自己的画笔,把重点放在刷动力学(变化的速度,压力,或随机) 。画布的大小是无限的,并...
王练 发布于 1年前 阅读 6287 评论 13 点赞 20

在Linux下修复损坏的PDF文件

Recover corrupted PDF file in Linux
bhzhu203 发布于 1年前 阅读 274

GIScript2016-Docker 快速入门

基于Docker的GIScript2016快速使用入门,教你通过Docker快速部署GIScript,使用Jupyter进行基于浏览器的数据分析编程。
openthings 发布于 1年前 阅读 90

AnyRTC全新开源项目助力直播

本次开源的客户端基于RTMP协议的推流拉流客户端,由我司CTO亲自操刀设计,采用跨平台架构一套代码支持Android、iOS、Windows等平台。 直播涉及的流程:『音视频采集->编码->传输->解码->音视频渲染』本项目统统包含,这不是软文,这是实实在在的商业级实战代码;无论是你新手还是老司机,我们都热烈欢迎您前来筑码。 项目特点 1,商业级开源代码,高效稳定 2,超小内存占有率,移动直播针对性极致优化,代码冗余率极低 3,打破平台壁垒,真正的跨平台,一套核心代码支持Android、iOS、Windows等 4,超过200+Android手机、iOS全平台适配,硬件编解码可保证99%的可用性 5,接口极简,推流:2个 拉流:2个 6,底层库C++核心库代码风格采用:Google code style 7,极简内核,无需再去深扒复杂的FFMpeg代码 8,实用主义,那些什么坑什么优化等概念请搜索相关文章 9,OpenH264软件编码,FFMpeg软件解码,FAAC/FAAD软件编解码,适配不同系统的硬件编解码统统包含 10,支持SRS、Nginx-RTMP等标准RTMP服务;同时支持各大CDN厂商的接入   项目地址 GitHub: https://github.com/AnyRTC/AnyRTC-RTMP OSChina: https://git.oschina.net/dynctm/AnyRTC-RTMP...
Eric不爱 发布于 1年前 阅读 978 评论 8 点赞 2

为什么简单的 opengl 代码却没有绘制出形状

# 更新 之前在知乎上发了一个[帖子](https://www.zhihu.com/question/50519439)来询问,有个答主金条回答了而且还带了参考文档,原来在 [specification](https://www.opengl.org/wiki/Vertex_Specification#Vertex_Array_Object) 中有说明(好吧,看见那个一坨我就没有去翻了,后面有问题还是得去这里看看,说不定可以找到答案)。 # 概要 之前调试一个 opengl 小程序时,我写的临时代码无论如何都绘制不出形状来,检查了顶点数据 N 遍后确认顶点数据无误,于是我把注意点转向了 api 的调用,发现无法绘制出来形状和 opengl 版本是有些关系的。于是想写一篇 blog 整理一下。 opengl 历史就不说了,下面的测试代码用两种方式绘制三角形,一种是 opengl 现代模式绘制,另一种是兼容模式绘制。现代模式就是指定了 opengl 最低版本是 3.3 。 # 问题与结论 我遇见的问题如下。 * 为什么我没有创建 vao 就绘制不出三角形?而在 opengles 中确可以。 * 当我使用 vao 时,我可以不用 bo 来缓存顶点属性数据吗? * 如果我想在 opengl 中直接调用 `glVertexAttribPointer` 设置属性后调用 draw 函数绘制(调试时,总是想少写些代码),应该在什么环境下? 写代码测试后结论如下。 * ...
吃辣不放糖 发布于 1年前 阅读 110

几种图像检索中的图像特征提取算法

几种图像检索中的图像特征提取算法
VenyoWang 发布于 1年前 阅读 698

制作mobi格式的PostgreSQL文档

本人是Kindle的重度用户,喜欢使用Kindle看书,而且一直秉承着学习PostgreSQL首先要完全阅读官方文档的念头,一直在看PDF版的文档,奈何工作和娱乐都是电脑,眼睛早已不堪重负,所以一直萌生了做mobi格式的文档。前期已经手工做了6寸PDF版,奈何人工太长,现利用文档原有的编译方法,进行epub格式转化,进而转为mobi格式。欢迎有需要的下载、收藏。
PGSmith 发布于 4周前 阅读 312 评论 1

【更新】支持多种格式音视频的本地.NET组件Audio Sound Recorder for .NET 更新至v9.0.0.0

Audio Sound Recorder for .NET是一款本地.NET组件,它可以轻松把录音功能添加到用Visual Studio.NET和Borland Developer Studio编写的Winforms应用程序中。 【Audio Sound Recorder for .NET v9.0.0.0最新版下载】 Audio Sound Recorder for .NET v9.0.0.0更新内容: 新功能 支持播放声音,同时通过鼠标手动滚动波形滚动条。 支持通过外部编码器FdkAac.exe以AAC+格式记录和导出。 支持播放录制声音。 支持对录制声音进行高速播放,可以将声音保持原始速度。 支持以HLS格式(HTTP Live Streaming)进行流媒体回放。 增加了将Wasapi采集或回送设备的立体声录音会话分为两个单声道输出文件的可能性 增加了切换立体声分离录制会话的单声道输出文件的功能 波形分析仪的新选项   - 波形现在可以基于绝对值显示检测到的峰值   - 更多地控制时间标尺上显示的时间字符串的格式   - 可选的自动垂直缩放功能,用于低音量级别的波形 回放期间显示在波形视觉反馈上的峰值现在通过专用事件报告给容器应用程序。 增加了在录制和回放过程中检索峰值电平和RMS(均方根)电平的支持。 增加了从波形分析仪中检索包含波形峰值的缓冲区的可能性   新属性 EncodeFormats.AACPlus (class)   ...
Harriet666 发布于 1周前

快速了解人工智能结晶之语音转换文字

科技解放生产力,人工智能的应用如今是大热,那么今天就来给各位介绍一下IBM在这方面的一个小的尝试,语音转换文字。咱们来看一看相较于传统的转换,结合Watson的IBM是如何做到让识别率飙升的。
IBM Bluemix

ASP.NET控件Web CAD SDK发布v12版本,支持DWG 2018丨附下载

Web CAD SDK为ASP.NET控件,可用于通过Internet、Intranet、Sharepoint、Office 365 及其他在线 HTML5 启用技术查看DWG和其他CAD文件。该产品不要求安装 AutoCAD® 或其他第三方应用程序或组件,提供该产品时附带 C# 示例。 Web CAD SDK v12点击下载>>> ASP.NET控件Web CAD SDK发布v12版本,用于在Internet,Intranet,SharePoint及其他在线 HTML5 启用技术上查看DWG和其他CAD文件。 支持DWG 2018(最新的DWG版本)是主要的改进之一。这意味着现在你的Web项目能够显示最新的图纸。 此外,Web CAD SDK功能已经变得更加广泛。现在你不仅可以在web上查看图纸,还可以在视觉上进行自定义。例如,你可以以黑白模式显示文件,合并图纸进行比较,并将绘图显示区域以BMP形式复制到剪贴板进行进一步处理。   Web CAD SDK v12的主要改进功能: 支持AutoCAD® DWG 2018 文本搜索 合并图纸与颜色变化 将显示的图像复制到剪贴板 黑白显示模式 改进打印设置 你可以下载Web CAD SDK v12并尝试所有这些新功能>>>...
Harriet666 发布于 3个月前 阅读 37

音频视频组件Audio DJ Studio for .NET更新至v10.0.0.0丨附下载

Audio DJ Studio for .NET是一款多功能的音频视频组件,它可以轻松把声音播放和混音功能添加到用Visual Studio.NET编写的应用程序中。 【Audio DJ Studio for .NET v10.0.0.0最新版下载】 Audio DJ Studio for .NET v10.0.0.0更新内容: 新功能 当通过外部编码器FdkAac.exe作为ShoutCAST和IceCast服务器的源时,添加了对以AAC+(HE-AAC)格式进行流式传输的支持。 支持播放声音,同时通过鼠标手动滚动波形滚动条。 支持从ID3V2标签中检索“PRIV”帧的内容。 自定义流混音器现在可以创建为多声道(最多8个声道),播放器可以连接到混音器的特定扬声器。 自定义流混音器现在支持“环绕模式”,这意味着立体声或单声道音频流可以在流混音器的所有输出通道上进行镜像。 支持以HLS格式(HTTP Live Streaming)进行流媒体回放 回放期间显示在波形视觉反馈上的峰值现在通过专用事件报告给容器应用程序。 增加了对回放、单声道、立体声和多声道音频流的峰值电平和RMS(均方根)电平进行检索的支持。 现在可以通过特定的日期和时间来设置延迟播放。 增加了从波形分析仪中检索包含波形峰值的缓冲区的可能性。 新方法 StreamMixerCreateWithSurround StreamMixerPlayerAddToSpeaker Stre...
Harriet666 发布于 1周前

DWG文件打开乱码怎么办?

有时候我们在网上下载文件的时候,会下载到DWG文件,在我们打开DWG文件时,发现DWG文件出现了乱码的情况,那么我们应该怎么解决?DWG文件打开乱码怎么办?      1.首先要下载一款CAD的编辑软件,要下载那种比较专业的软件,这样方便对其内容进行编辑(小编使用的是迅捷CAD编辑器专业版的,下面的步骤就是按照它的页面讲解的)    2.运行软件,点击“文件”—“打开”按钮。   3.在打开界面当中,选择需要打开的DWG文件,然后点击“打开”按钮,打开出现乱码的DWG文件。    4.一般情况下,这时候打开的DWG文件都不会出现乱码的情况,如果DWG文件还存在乱码情况,那么可以点击“编辑器”—“文字样式”选项,对乱码的文字样式进行修改。 5.在文字样式界面选择想要修改的文字样式,点击“应用”按钮,即可成功解决文字乱码情况,      出现这种情况,有两种原因,一种是打开DWG文件的软件不对,另一张可能是字体格式有误,所说打击不用担心,可以按照上面的方法进行解决!
熊本二号 发布于 1天前 阅读 2

【示例教程】LEADTOOLS中如何载入DICOM文件并压缩

LEADTOOLS可帮您开发出功能强大的文档图像应用程序。其主要功能包括综合图像注释,专业的黑白图像显示(例如灰度级和偏黑),以及专业的黑白图像处理。其它功能包括对黑白图像的性能和内存进行优化,文档图像清理(包括倒置文本,去边界,去打孔机和去线)以及使用LEADTOOLS Fast TWAIN和WIA进行扫描。 本篇文章分享一个基本的LEADTOOLS C#代码示例,讲解如何载入DICOM文件,然后将它压缩保存以减少文件大小。 在压缩时,你将使用jpeg2000压缩类型。一旦初始化了DicomJpeg2000Options选项,就可以开始为新的DICOM文件设置选项了。 有两个枚举,将在这个过程中使用的: CompressionControl-获取或设置指示如何确定所产生的压缩。 CompressionRatio -获取或设置指示压缩比使用整型值。 一旦你有了这些枚举集合的DicomJpeg2000Options选项,你需要给数据集本身的选项。 现在你可以使用ChangeTransferSyntax改变数据集的传输语法。 最后,你可以使用保存方法保存数据集。 通过这些设置,我们可以将DICOM文件从从854kb压缩到36kb。 DicomEngine.Startup(); using (DicomDataSet ds = new DicomDataSet()) { //Load DICOM File ds.Load(input, DicomDataSetLoadFlags.None...
Harriet666 发布于 1周前 阅读 2

数据可视化(三)基于 Graphviz 实现程序化绘图

- OmniGraffle 和 Graphviz - Why draw when you can code? - Graphviz 简介 - 最佳 Graphviz 实践(一):流程图、数据结构图、网络路径 Trace Route - 最佳 Graphviz 实践(二):复杂社会关系链分析(《红楼梦》、《权力的游戏》) - 最佳 Graphviz 实践(三):机器学习算法-决策树(Decision Tree)
RiboseYim 发布于 2个月前 阅读 1969 评论 5 点赞 5

地形3D打印

如何将地形转换为3D打印模型,实现立体输出? 地形3D打印可以创建出非常逼真的仿真实体模型。这里介绍全部基于数字模型的3D地形打印流程,比传统的沙盘的制作精度大幅度提高,而且提供了完整的工具链,可以制作大规模、高精度的地形实体模型。 上图所示,在OpenSCAD中合成模型,然后可以再次输出为STL格式。 地形3D打印攻略 我们这里介绍的地形模型都来自于卫星或者无人机、飞机的实际测量,因此可以拥有超高的精度和真实度。 地形比普通三维模型更为精细、复杂,而且常用于GIS软件中,格式与CAD不一样。因此,首先需要数据格式进行转换,然后将模型转为3D打印可用的实体模型,再输出为STL格式,使用切片软件产生3D打印机的gcode代码,到3D打印机输出,然后进行拼接、整饰、上色等后处理过程。如果没有3D打印机,也可以将模型发给打印店输出(某宝上很多的)。 其中,将地形模型转为3D实体模型最为关键,因为大部分GIS使用的三维模型都是表面模型(说白了就是一张皮,没有厚度等特征,空间结构不封闭),不能用于3D打印输出。SuperMap 9D的三维模型支持实体模型,输出的地形模型可以用于3D打印,可以直接产生STL格式数据。 地形3D打印步骤 1. 下载SRTM,可以从USGS等网站下...
openthings 发布于 2个月前 阅读 134

【示例教程】使用Leadtools对身份证进行识别和表单模板创建

使用Leadtools的表单识别功能可以对固定格式的表单很方便的进行批量识别,生活中常见的身份证、驾驶证、发票等都可以识别出准确的结果。另外通过表单匹配的功能同时也能实现对表单进行自动分类。本篇教程以身份证识别为例,介绍整个识别和创建的流程。 Leadtools 19总套包下载>>> 1、模板创建 1.1制作空白表单 通过photoshop对拍摄到的身份证进行处理,仅保留公共部分的内容和字段,对于身份证照片和个人具体信息都进行清除,结果如下图   1.2使用leadtools表单编辑器编辑模板 打开leadtools开发包安装目录:C:\LEADTOOLS 19\Shortcuts\Forms Recognition & Processing\.NET Class Libraries\Forms (Structured & Unstructured)\Forms Recognition & Processing\Master Forms Editor 运行其中的可执行程序,点击NEXT.,选择载入主表单数据集,载入默认路径,选择professional引擎,进入主界面   添加中文语言支持   添加身份证主表单   向身份证表单添加图像,选择刚才已经制作好的空白图片   添加完成后,可以在主界面的右侧对模板进行编辑 下图是可以在模板中添加的识别类型,本例中,我们主要使用文本和图片两个类型   点击相应的识别类型,在模板上拖动为需要识别...
Harriet666 发布于 1天前 阅读 1

【示例教程】LEADTOOLS中如何通过OCR识别获取每一行文本

LEADTOOLS可帮您开发出功能强大的文档图像应用程序。其主要功能包括综合图像注释,专业的黑白图像显示(例如灰度级和偏黑),以及专业的黑白图像处理。其它功能包括对黑白图像的性能和内存进行优化,文档图像清理(包括倒置文本,去边界,去打孔机和去线)以及使用LEADTOOLS Fast TWAIN和WIA进行扫描。 本篇文介绍如何通过OCR分别识别获取文档的每一行文本。有一种方法类似于我们的IOcrZoneCharacters.GetWords方法可检索文档的每一行。OCR引擎识别的每个字符都有一个位置。我们可以通过OcrCharacter 结构的position 属性访问这个位置。返回一个或多个OcrCharacterPosition 枚举成员: 下面写了一个简单的小例子,用OcrCharacterPosition 来分别识别出每一行的文字。 using (RasterCodecs codecs = new RasterCodecs()) { codecs.Options.RasterizeDocument.Load.XResolution = 300; codecs.Options.RasterizeDocument.Load.YResolution = 300; RasterImage image = codecs.Load(inputFile); using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Professional, false)) { ocrEngine.Startup(null, null, null, @"C:\LEADTOO...
Harriet666 发布于 1周前 阅读 1

Opencv 学习日志(图片 读,写, 保存, 展示)

### 目标: 1. 学习使用OpenCV读写图片 1. 学习使用OpenCV保存图片 1. 学习使用OpenCV和Matplotlib展示图片 ### 1.读图片 使用 cv2.imread(img_path,mode)函数读取图片 - cv2.IMREAD_COLOR : 默认选项 ,加载图像时忽略透明度,mode = 1; - cv2.IMREAD_GRAYSCALE : 加载灰度值图像,mode = 0; - cv2.IMREAD_UNCHANGED : 加载包含alpha通道的图像,mode = -1. ``` import numpy as np import cv2 # 用灰度值模式加载图片 img = cv2.imread('1.jpg',0) ``` 注:如果加载路径出错,加载函数不会有任何提示,但是print(img)会返回None。 ### 2.展示图片 使用cv2.imshow(img_show_name,img)展示图片,窗口会自适应图片大小。 ``` cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows() ``` cv2.waitkey控制显示窗口时间,单位是毫秒。 cv2.destroyAllWindows()销毁所有创建的窗口。 cv2.destroyWindows(img_show_name)销毁特定名字的窗口。 也可以先创建窗口再加载图像: ``` cv2.namedWindow('image', cv2.WINDOW_AUTOSIZE) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows() ``` - cv2.namedWindow(img_show_name,mode)函数 创建一个可以放图片的...
clgo 发布于 3天前 阅读 4

Linux 下编译安装 ffmpeg

作者:Huatian github:https://github.com/Huatian 邮箱: 773512457@qq.com 平台:Fedora 26 (64bit) 1.安装编译需要的依赖软件      gcc、sdl、yasm都是ffmpeg需要依赖的软件。其中sdl最好源码安装,然后配置动态库路径,参见https://my.oschina.net/u/735973/blog/1523411 和 https://my.oschina.net/u/735973/blog/1523418 。 2.下载ffmpeg源码         官网下载页:https://ffmpeg.org/download.html 。本例下载的为3.0.5版本。 3.编译、安装 ./configure --help 会出现很多参数,可以根据自己的实际需求选择;本例的全部命令为: ./configure --enable-shared --disable-static --enable-avcodec --enable-avformat --enable-avdevice --enable-avfilter --enable-swscale --enable-swresample --enable-avresample --enable-gpl --enable-postproc --enable-pthreads --enable-network 接着: make sudo make install 就ok。...
曾经花田错 发布于 3个月前 阅读 18

如何在CAD图中绘制表格

CAD制图是一门非常深奥的技术,因为我们利用CAD制图软件可以绘制许多的图形,如果我们想要在CAD图纸当中添加图表,那么我们应该怎么进行图标绘制操作?如何在CAD图纸里绘制表格?      1.首先要下载一款CAD的编辑软件,要下载那种比较专业的软件,这样方便对其内容进行编辑(小编使用的是迅捷CAD编辑器专业版的,下面的步骤就是按照它的页面讲解的)    2.打开迅捷CAD编辑器,然后点击“文件”—“打开”选项,将需要编辑的CAD文件打开。 3.CAD文件打开后,点击界面上方的“编辑器”选项,然后选择里面的“标签”功能 4.接下来点击CAD图纸之后,就会出现新标签界面,在界面当中输入需要绘制表格行和列,设置完成后,点击“OK”选项。 5.进入便签界面后,点击表格,可以在表格当中输入文字,或者点击上方的“颜色”选项,对表格的颜色进行修改,表格设置完成后,点击右下角的“OK”按钮,那么表格就绘制成功了。      我们通过上述方法进行操作,即可成功的在CAD图纸上绘制表格,想要学习的朋友可以来了解一下!
熊本二号 发布于 7小时前 阅读 1

PMVS论文随笔(1)——关于Unit的概念

该函数是计算将图片上的一个像素反投影到空间的一个指定的面片(patch)上得到的正方形的大小(以世界坐标系中的距离为量度),这个面片满足如下条件——面片的中心位于`coord`, 面片的法线与相片的法线平行但方向相反(也就是论文中初始化patch时的法线计算方法)。
whuhenry 发布于 3天前 阅读 2

CDN视频转码集群的性能调优

    视频业务中要提供视频的转码,切片和缩略图,这类业务有个明显特点,都是高cpu ,高网络吞吐的。下面主要介绍背景,有大批量文件需要 hls 切片,这是个耗cpu 的过程,然后,需要从源拉取切片再推回去,而且整个业务,有时间限制,所以,这里需要平衡cpu ,网络流量和磁盘。     环境介绍:万兆光卡 + 万兆光纤,ssd 硬盘。     首先,速度测试,ffmpeg codec copy (不设置,就不一定是输入的编码,就可能产生解码操作,极大影响性能)切片的速度大概是100M/s ,单机带宽可以打到500M/s。 方案一: cpu 核数线程调用ffmepg,ffmpeg -i 直接指定url 拉,每个线程for 循环推,或者直接ffmpeg推。     这个是最开始想的方案, 结果ffmpeg 边拉边切片,速度比直接切片慢了10倍。这里先download。 方案二, cpu 核数线程调用ffmepg,先download 下载,再切片,循环上传。     结果,cpu 特别低,流量也打不高。根本不能再指定时间完成任务。 方案三,多进程调用ffmpeg, 线程池或者协程池推文件,将上行带宽打高。     最终选择的是多进程+线程池的方式,这里并不是阻塞业务,异步并不会由太大的效果。但是又出了问题,由于网速很快,将iowait打到90%。 ...
caucy 发布于 2周前 阅读 59

OBS编译

xxdd 发布于 1个月前 阅读 69

ffmpeg 调整音视频播放速度

1. 调整视频速率 1.1 原理 调整视频速率的原理为:修改视频的pts,dts  此过程由于不用进行解码编码,所以费时很少 1.2 setpts修改视频速率 ffmpeg -i input.mkv -an -filter:v "setpts=0.5*PTS" output.mkv 1 注意: 调整速度倍率范围[0.25, 4] 如果只调整视频的话最好把音频禁掉 对视频进行加速时,如果不想丢帧,可以用-r 参数指定输出视频FPS ffmpeg -i input.mkv -an -r 60 -filter:v "setpts=2.0*PTS" output.mkv 1 2. 调整音频速率 2.1 原理 简单的方法是调整音频采样率,但是这种方法会改变音色,  一般采用通过对原音进行冲采样,差值等方法。 2.2 atempo filter ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv 1 注意: 倍率调整范围为[0.5, 2.0] 如果需要调整4倍可采用以下方法: ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv 1 3. 同时调整 ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv 1 4. 参考文献 [1] http://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video...
blair排骨 发布于 1周前 阅读 4

扫描识别工具Dynamic Web TWAIN使用教程:建立一个“Hello World”扫描页面

Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。 本文教你Dynamic Web TWAIN中只需3个步骤在5分钟内创建一个Web扫描应用程序的方法! 注意:开始之前,请确保您已经下载并安装了最新版本的Dynamic Web TWAIN。如果还没有安装,请在这里下载Dynamic Web TWAIN最新版。 步骤一:启动一个Web应用程序 1.1 将Dynamsoft的Resources文件夹复制到您的项目中 Resources文件夹通常在C:\Program Files (x86)\Dynamsoft\Dynamic Web TWAIN SDK {Version Number} {Trial}\ 1.2 创建一个空的HTML页面 请将空的html页面与Resources文件夹放在一起,如下所示: 步骤二:将Dynamic Web TWAIN添加到HTML页面 2.1 包含两个Dynamsoft JS文件 2.2 添加一个Dynamic Web TWAIN容器 1 <div id="dwtcontrolContainer"></div> 注意: “dwtcontrolContainer”是div的默认ID。如有必要,您可以在文件dynamsoft.webtwain.config.js中更改它。   步骤三:使用Dynamic Web TWAIN 3.1 添加一个扫描按钮和最小的脚本 <input type="button" value="Scan" onclick="AcquireImage();" /> <...
Harriet666 发布于 9小时前 阅读 1

今日头条挂了~~

ChrisYuan 发布于 2个月前 阅读 151

数据可视化(三)基于 Graphviz 实现程序化绘图

- OmniGraffle 和 Graphviz - Why draw when you can code? - Graphviz 简介 - 最佳 Graphviz 实践(一):流程图、数据结构图、网络路径 Trace Route - 最佳 Graphviz 实践(二):复杂社会关系链分析(《红楼梦》、《权力的游戏》) - 最佳 Graphviz 实践(三):机器学习算法-决策树(Decision Tree)
RiboseYim 发布于 2个月前 阅读 1969 评论 5 点赞 5

OBS编译

xxdd 发布于 1个月前 阅读 69

今日头条挂了~~

ChrisYuan 发布于 2个月前 阅读 151

ASP.NET控件Web CAD SDK发布v12版本,支持DWG 2018丨附下载

Web CAD SDK为ASP.NET控件,可用于通过Internet、Intranet、Sharepoint、Office 365 及其他在线 HTML5 启用技术查看DWG和其他CAD文件。该产品不要求安装 AutoCAD® 或其他第三方应用程序或组件,提供该产品时附带 C# 示例。 Web CAD SDK v12点击下载>>> ASP.NET控件Web CAD SDK发布v12版本,用于在Internet,Intranet,SharePoint及其他在线 HTML5 启用技术上查看DWG和其他CAD文件。 支持DWG 2018(最新的DWG版本)是主要的改进之一。这意味着现在你的Web项目能够显示最新的图纸。 此外,Web CAD SDK功能已经变得更加广泛。现在你不仅可以在web上查看图纸,还可以在视觉上进行自定义。例如,你可以以黑白模式显示文件,合并图纸进行比较,并将绘图显示区域以BMP形式复制到剪贴板进行进一步处理。   Web CAD SDK v12的主要改进功能: 支持AutoCAD® DWG 2018 文本搜索 合并图纸与颜色变化 将显示的图像复制到剪贴板 黑白显示模式 改进打印设置 你可以下载Web CAD SDK v12并尝试所有这些新功能>>>...
Harriet666 发布于 3个月前 阅读 37

GTK+学习笔记 --- hello word

概述 GTK+ 是一组控件集。通过使用包含的控件构建用户界面。GTK+ 是由基于对象化的C语言框架GObject实现。控件是分层次的,window 控件为主容器,然后通过添加一系列按钮、菜单、输入框和其他控件来完成用户界面。如果你要完成复杂的用户界面,这就需要使用GtkBuilder,它是GTK+制定的用来替代手动组装控件的标记描述语言。当然,你也可以使用其他的 UI 构建工具,如 Glade。 GTK+ 是事件驱动的。监听器监听诸如点击一个按钮之类的事件,然后将时间传递给你的程序。 Hello word 下面我们实现一个简单的含有事件回调的应用,它将实现一个 200 x 200 的空白窗口,example-0.c。 #include <gtk/gtk.h> static void activate (GtkApplication* app, gpointer user_data) { GtkWidget *window; window = gtk_application_window_new (app); gtk_window_set_title (GTK_WINDOW (window), "Window"); gtk_window_set_default_size (GTK_WINDOW (window), 200, 200); gtk_widget_show_all (window); } int main (int argc, char **argv) { GtkApplication *app; int status; app = gtk_application_new ("org.gtk.example", G_APPLI...
曾经花田错 发布于 2个月前 阅读 6

Opencv 学习日志(图片 读,写, 保存, 展示)

### 目标: 1. 学习使用OpenCV读写图片 1. 学习使用OpenCV保存图片 1. 学习使用OpenCV和Matplotlib展示图片 ### 1.读图片 使用 cv2.imread(img_path,mode)函数读取图片 - cv2.IMREAD_COLOR : 默认选项 ,加载图像时忽略透明度,mode = 1; - cv2.IMREAD_GRAYSCALE : 加载灰度值图像,mode = 0; - cv2.IMREAD_UNCHANGED : 加载包含alpha通道的图像,mode = -1. ``` import numpy as np import cv2 # 用灰度值模式加载图片 img = cv2.imread('1.jpg',0) ``` 注:如果加载路径出错,加载函数不会有任何提示,但是print(img)会返回None。 ### 2.展示图片 使用cv2.imshow(img_show_name,img)展示图片,窗口会自适应图片大小。 ``` cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows() ``` cv2.waitkey控制显示窗口时间,单位是毫秒。 cv2.destroyAllWindows()销毁所有创建的窗口。 cv2.destroyWindows(img_show_name)销毁特定名字的窗口。 也可以先创建窗口再加载图像: ``` cv2.namedWindow('image', cv2.WINDOW_AUTOSIZE) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows() ``` - cv2.namedWindow(img_show_name,mode)函数 创建一个可以放图片的...
clgo 发布于 3天前 阅读 4

PMVS论文随笔(1)——关于Unit的概念

该函数是计算将图片上的一个像素反投影到空间的一个指定的面片(patch)上得到的正方形的大小(以世界坐标系中的距离为量度),这个面片满足如下条件——面片的中心位于`coord`, 面片的法线与相片的法线平行但方向相反(也就是论文中初始化patch时的法线计算方法)。
whuhenry 发布于 3天前 阅读 2

CDN视频转码集群的性能调优

    视频业务中要提供视频的转码,切片和缩略图,这类业务有个明显特点,都是高cpu ,高网络吞吐的。下面主要介绍背景,有大批量文件需要 hls 切片,这是个耗cpu 的过程,然后,需要从源拉取切片再推回去,而且整个业务,有时间限制,所以,这里需要平衡cpu ,网络流量和磁盘。     环境介绍:万兆光卡 + 万兆光纤,ssd 硬盘。     首先,速度测试,ffmpeg codec copy (不设置,就不一定是输入的编码,就可能产生解码操作,极大影响性能)切片的速度大概是100M/s ,单机带宽可以打到500M/s。 方案一: cpu 核数线程调用ffmepg,ffmpeg -i 直接指定url 拉,每个线程for 循环推,或者直接ffmpeg推。     这个是最开始想的方案, 结果ffmpeg 边拉边切片,速度比直接切片慢了10倍。这里先download。 方案二, cpu 核数线程调用ffmepg,先download 下载,再切片,循环上传。     结果,cpu 特别低,流量也打不高。根本不能再指定时间完成任务。 方案三,多进程调用ffmpeg, 线程池或者协程池推文件,将上行带宽打高。     最终选择的是多进程+线程池的方式,这里并不是阻塞业务,异步并不会由太大的效果。但是又出了问题,由于网速很快,将iowait打到90%。 ...
caucy 发布于 2周前 阅读 59

gphoto 的开源相机控制程序

gphoto2 是一款工作在类unix系统上的开源数码相机控制项目,由来自全世界的开发爱好者共同编写。 其中libgphoto2是一个用于编写操作相机程序的代码库; gphoto是一个由libgphoto2编写的命令行程序; 项目地址: http://www.gphoto.org/
chen_carl 发布于 1个月前 阅读 9

【示例教程】LEADTOOLS中如何载入DICOM文件并压缩

LEADTOOLS可帮您开发出功能强大的文档图像应用程序。其主要功能包括综合图像注释,专业的黑白图像显示(例如灰度级和偏黑),以及专业的黑白图像处理。其它功能包括对黑白图像的性能和内存进行优化,文档图像清理(包括倒置文本,去边界,去打孔机和去线)以及使用LEADTOOLS Fast TWAIN和WIA进行扫描。 本篇文章分享一个基本的LEADTOOLS C#代码示例,讲解如何载入DICOM文件,然后将它压缩保存以减少文件大小。 在压缩时,你将使用jpeg2000压缩类型。一旦初始化了DicomJpeg2000Options选项,就可以开始为新的DICOM文件设置选项了。 有两个枚举,将在这个过程中使用的: CompressionControl-获取或设置指示如何确定所产生的压缩。 CompressionRatio -获取或设置指示压缩比使用整型值。 一旦你有了这些枚举集合的DicomJpeg2000Options选项,你需要给数据集本身的选项。 现在你可以使用ChangeTransferSyntax改变数据集的传输语法。 最后,你可以使用保存方法保存数据集。 通过这些设置,我们可以将DICOM文件从从854kb压缩到36kb。 DicomEngine.Startup(); using (DicomDataSet ds = new DicomDataSet()) { //Load DICOM File ds.Load(input, DicomDataSetLoadFlags.None...
Harriet666 发布于 1周前 阅读 2

MPV播放器的跨平台编译

在Debian操作系统下编译能在windows 64位系统下运行的静态mpv.exe文件。
几点人 发布于 3个月前 阅读 16

制作mobi格式的PostgreSQL文档

本人是Kindle的重度用户,喜欢使用Kindle看书,而且一直秉承着学习PostgreSQL首先要完全阅读官方文档的念头,一直在看PDF版的文档,奈何工作和娱乐都是电脑,眼睛早已不堪重负,所以一直萌生了做mobi格式的文档。前期已经手工做了6寸PDF版,奈何人工太长,现利用文档原有的编译方法,进行epub格式转化,进而转为mobi格式。欢迎有需要的下载、收藏。
PGSmith 发布于 4周前 阅读 312 评论 1

live555 源码分析:RTSPServer 组件结构

前面几篇文章分析了 live555 中 RTSP 的处理逻辑,RTSP 处理有关组件的处理逻辑有点复杂,本文就再来梳理一下它们之间的关系。 live555 中 RTSP 处理有关组件关系如下图: ![](http://upload-images.jianshu.io/upload_images/1315506-5ae0f80b706b414b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 事件和执行流程的源头在 `TaskScheduler`。`GenericMediaServer` 对象在创建的时候,会向 `TaskScheduler` 注册一个 server socket 及处理该 socket 上的事件的处理程序 `GenericMediaServer::incomingConnectionHandler(void* instance, int /*mask*/)`。 当有客户端连接服务器时,触发 server socket 上的事件处理器执行。此时会基于客户端 socket 创建 `ClientConnection` 对象,及 `RTSPClientConnection`。 `RTSPClientConnection` 对象在创建过程中,会将该客户端 socket 及 `ClientConnection` 中处理该 socket 上的事件的处理程序 `GenericMediaServer::ClientConnection::incomingRequestHandler(void* instance, int /*mask*/)` 注册给 `TaskScheduler`。 在客户端发送的 RTSP 请求数据到达之后,`GenericMediaServer::ClientConnection` 会读取这些...
WolfCS 发布于 3个月前 阅读 22

live555 源码分析:子会话 SDP 行生成

如我们在前文 [live555 源码分析:ServerMediaSession](https://www.wolfcstech.com/2017/09/07/live555_src_analysis_servermediasession/) 中看到的,`H264VideoFileServerMediaSubsession` 的继承层次体系如下图: ![](http://upload-images.jianshu.io/upload_images/1315506-e48e136a2a125c08.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 在这个继承层次体系中,`ServerMediaSubsession` 定义了可以对流媒体的单个子会话执行的操作,它有着如下这样的生命周期: ![ServerMediaSubsession 生命周期](http://upload-images.jianshu.io/upload_images/1315506-d620074e60ee3794.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 对于这些操作的实现则是由 `OnDemandServerMediaSubsession` 完成的,本文分析这个类的定义和实现。 我们再来看一下产生 SDP 消息行的 `sdpLines()`,它在处理 RTSP `DESCRIBE` 消息时会用到: ``` char const* OnDemandServerMediaSubsession::sdpLines() { if (fSDPLines == NULL) { // We need to construct a set of SDP lines that describe this // subsession (as a unicast stream). To do so, we first creat...
WolfCS 发布于 3个月前 阅读 40

GTK+学习笔记 --- Packing

当你创建一个应用,你将在window里添加不止一个的控件;这时候如何控制控件的位置和大小就显得很重要了。GTK+ 有一系列的布局容器来控制子控件的布局,更多的容器类请参考  Layout Containers 。 下面的例子展示的是 GtkGrid 如何让你安排几个按钮的布局。 Packing buttons 创建新文件 example-2.c 。 #include <gtk/gtk.h> static void print_hello (GtkWidget *widget, gpointer data) { g_print ("Hello World\n"); } static void activate (GtkApplication *app, gpointer user_data) { GtkWidget *window; GtkWidget *grid; GtkWidget *button; /* create a new window, and set its title */ window = gtk_application_window_new (app); gtk_window_set_title (GTK_WINDOW (window), "Window"); gtk_container_set_border_width (GTK_CONTAINER (window), 10); /* Here we construct the container that is going pack our buttons */ grid = gtk_grid_new (); /* Pack the container in the window */ gtk_container_add (GTK_CONTAINER (window), grid); button = gtk_button_new_with_lab...
曾经花田错 发布于 2个月前 阅读 17

美肤磨皮算法OpenCV3实现

磨皮算法OpenCV3实现
IOTService 发布于 3周前 阅读 9

地形3D打印

如何将地形转换为3D打印模型,实现立体输出? 地形3D打印可以创建出非常逼真的仿真实体模型。这里介绍全部基于数字模型的3D地形打印流程,比传统的沙盘的制作精度大幅度提高,而且提供了完整的工具链,可以制作大规模、高精度的地形实体模型。 上图所示,在OpenSCAD中合成模型,然后可以再次输出为STL格式。 地形3D打印攻略 我们这里介绍的地形模型都来自于卫星或者无人机、飞机的实际测量,因此可以拥有超高的精度和真实度。 地形比普通三维模型更为精细、复杂,而且常用于GIS软件中,格式与CAD不一样。因此,首先需要数据格式进行转换,然后将模型转为3D打印可用的实体模型,再输出为STL格式,使用切片软件产生3D打印机的gcode代码,到3D打印机输出,然后进行拼接、整饰、上色等后处理过程。如果没有3D打印机,也可以将模型发给打印店输出(某宝上很多的)。 其中,将地形模型转为3D实体模型最为关键,因为大部分GIS使用的三维模型都是表面模型(说白了就是一张皮,没有厚度等特征,空间结构不封闭),不能用于3D打印输出。SuperMap 9D的三维模型支持实体模型,输出的地形模型可以用于3D打印,可以直接产生STL格式数据。 地形3D打印步骤 1. 下载SRTM,可以从USGS等网站下...
openthings 发布于 2个月前 阅读 134

Android 图形架构

*每一个开发者都应该了解的关于 Surface,SurfaceHolder,EGLSurface,SurfaceView,GLSurfaceView,SurfaceTexture,TextureView,SurfaceFlinger,和 Vulkan 的东西。* 本页描述 Android 系统级图形架构的必要元素,及应用框架和多媒体系统如何使用它们。重点是图形数据的缓冲区如何在系统中移动。如果你曾经想知道为什么 `SurfaceView` 和 `TextureView` 有着那样的行为,或 `Surface` 和 `EGLSurface` 如何交互,那你就来对地方了。 假设读者熟悉 Android 设备和应用开发。你不需要关于应用框架的详细知识,这里只会提到少量的 API 调用,但这里的资料与其它公开的文档不重叠。目标是提供关于渲染一帧用以输出中牵涉的重要事件的详情,以帮助你在设计应用时做出明智的选择。为了实现这一点,我们从底层开始,描述 UI 类如何工作,而不是它们如何使用。 这一节包含几页,覆盖了从背景资料到 HAL 细节,再到使用案例的所有东西。这里从解释 Android 的图形缓冲区开始,描述合成和显示机制,然后是提供了数据合成器的更高层机制。我们建议你按下面列出的顺序阅读,而不是直接跳到听起来很有趣的主题。 # 底层组件 * [BufferQueue 和 gralloc](https://www.wolfcstech.com/...
WolfCS 发布于 2个月前 阅读 10

“双十一”Guitar Pro 带你高姿态过光棍节

中秋国庆八天小长假,已经过去了一小段时间,大家都已经陆续回到了各自的工作岗位中去,但心思却不如以往那般沉静,比如小编我就是其中的一个,总感觉少点了啥,算算日子,十月过去,便是十一月,不正是一年一度的电商狂欢节“双十一”?想到这,小编已经磨拳接掌了好几番,恨不得一下子把购物车填满才罢休! 说到双十一的火爆程度,就2016年20秒过一亿,52秒过10亿······大家都已经心照不宣了,相信大家都要忍不住高歌一曲了以泄心中的兴奋了吧,说到高歌,今年的双十一又多了一项对玩吉他的小伙伴来说非常棒的福利,它便是吉他的最佳拍档-Guitar Pro 7。 钜惠活动详情如下: 活动时间:2017.11.6-2017.11.13 活动名称:双“11”GuitarPro 7三折来袭 活动入口:http://www.guitarpro.cc/goumai.html 试用下载地址: Guitar Pro 7Mac版本:http://wm.makeding.com/iclk/?zoneid=18318 Guitar Pro 7Win版本: http://wm.makeding.com/iclk/?zoneid=18319   Guitar Pro简介 1.指法谱和总谱的阅读者 Guitar Pro提供了许多阅读特点:三种符号(标准/绘画/削减),变焦和虚拟指/键盘形象化的精确指法。 2.编辑你的作品 用一个或多个工具,并快速使用数字字符,鼠标以及MID...
Abby88 发布于 2周前 阅读 2

【更新】支持多种格式音视频的本地.NET组件Audio Sound Recorder for .NET 更新至v9.0.0.0

Audio Sound Recorder for .NET是一款本地.NET组件,它可以轻松把录音功能添加到用Visual Studio.NET和Borland Developer Studio编写的Winforms应用程序中。 【Audio Sound Recorder for .NET v9.0.0.0最新版下载】 Audio Sound Recorder for .NET v9.0.0.0更新内容: 新功能 支持播放声音,同时通过鼠标手动滚动波形滚动条。 支持通过外部编码器FdkAac.exe以AAC+格式记录和导出。 支持播放录制声音。 支持对录制声音进行高速播放,可以将声音保持原始速度。 支持以HLS格式(HTTP Live Streaming)进行流媒体回放。 增加了将Wasapi采集或回送设备的立体声录音会话分为两个单声道输出文件的可能性 增加了切换立体声分离录制会话的单声道输出文件的功能 波形分析仪的新选项   - 波形现在可以基于绝对值显示检测到的峰值   - 更多地控制时间标尺上显示的时间字符串的格式   - 可选的自动垂直缩放功能,用于低音量级别的波形 回放期间显示在波形视觉反馈上的峰值现在通过专用事件报告给容器应用程序。 增加了在录制和回放过程中检索峰值电平和RMS(均方根)电平的支持。 增加了从波形分析仪中检索包含波形峰值的缓冲区的可能性   新属性 EncodeFormats.AACPlus (class)   ...
Harriet666 发布于 1周前

如何在CAD图中绘制表格

CAD制图是一门非常深奥的技术,因为我们利用CAD制图软件可以绘制许多的图形,如果我们想要在CAD图纸当中添加图表,那么我们应该怎么进行图标绘制操作?如何在CAD图纸里绘制表格?      1.首先要下载一款CAD的编辑软件,要下载那种比较专业的软件,这样方便对其内容进行编辑(小编使用的是迅捷CAD编辑器专业版的,下面的步骤就是按照它的页面讲解的)    2.打开迅捷CAD编辑器,然后点击“文件”—“打开”选项,将需要编辑的CAD文件打开。 3.CAD文件打开后,点击界面上方的“编辑器”选项,然后选择里面的“标签”功能 4.接下来点击CAD图纸之后,就会出现新标签界面,在界面当中输入需要绘制表格行和列,设置完成后,点击“OK”选项。 5.进入便签界面后,点击表格,可以在表格当中输入文字,或者点击上方的“颜色”选项,对表格的颜色进行修改,表格设置完成后,点击右下角的“OK”按钮,那么表格就绘制成功了。      我们通过上述方法进行操作,即可成功的在CAD图纸上绘制表格,想要学习的朋友可以来了解一下!
熊本二号 发布于 7小时前 阅读 1

扫描识别工具Dynamic Web TWAIN使用教程:建立一个“Hello World”扫描页面

Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。 本文教你Dynamic Web TWAIN中只需3个步骤在5分钟内创建一个Web扫描应用程序的方法! 注意:开始之前,请确保您已经下载并安装了最新版本的Dynamic Web TWAIN。如果还没有安装,请在这里下载Dynamic Web TWAIN最新版。 步骤一:启动一个Web应用程序 1.1 将Dynamsoft的Resources文件夹复制到您的项目中 Resources文件夹通常在C:\Program Files (x86)\Dynamsoft\Dynamic Web TWAIN SDK {Version Number} {Trial}\ 1.2 创建一个空的HTML页面 请将空的html页面与Resources文件夹放在一起,如下所示: 步骤二:将Dynamic Web TWAIN添加到HTML页面 2.1 包含两个Dynamsoft JS文件 2.2 添加一个Dynamic Web TWAIN容器 1 <div id="dwtcontrolContainer"></div> 注意: “dwtcontrolContainer”是div的默认ID。如有必要,您可以在文件dynamsoft.webtwain.config.js中更改它。   步骤三:使用Dynamic Web TWAIN 3.1 添加一个扫描按钮和最小的脚本 <input type="button" value="Scan" onclick="AcquireImage();" /> <...
Harriet666 发布于 9小时前 阅读 1

【示例教程】使用Leadtools对身份证进行识别和表单模板创建

使用Leadtools的表单识别功能可以对固定格式的表单很方便的进行批量识别,生活中常见的身份证、驾驶证、发票等都可以识别出准确的结果。另外通过表单匹配的功能同时也能实现对表单进行自动分类。本篇教程以身份证识别为例,介绍整个识别和创建的流程。 Leadtools 19总套包下载>>> 1、模板创建 1.1制作空白表单 通过photoshop对拍摄到的身份证进行处理,仅保留公共部分的内容和字段,对于身份证照片和个人具体信息都进行清除,结果如下图   1.2使用leadtools表单编辑器编辑模板 打开leadtools开发包安装目录:C:\LEADTOOLS 19\Shortcuts\Forms Recognition & Processing\.NET Class Libraries\Forms (Structured & Unstructured)\Forms Recognition & Processing\Master Forms Editor 运行其中的可执行程序,点击NEXT.,选择载入主表单数据集,载入默认路径,选择professional引擎,进入主界面   添加中文语言支持   添加身份证主表单   向身份证表单添加图像,选择刚才已经制作好的空白图片   添加完成后,可以在主界面的右侧对模板进行编辑 下图是可以在模板中添加的识别类型,本例中,我们主要使用文本和图片两个类型   点击相应的识别类型,在模板上拖动为需要识别...
Harriet666 发布于 1天前 阅读 1

DWG文件打开乱码怎么办?

有时候我们在网上下载文件的时候,会下载到DWG文件,在我们打开DWG文件时,发现DWG文件出现了乱码的情况,那么我们应该怎么解决?DWG文件打开乱码怎么办?      1.首先要下载一款CAD的编辑软件,要下载那种比较专业的软件,这样方便对其内容进行编辑(小编使用的是迅捷CAD编辑器专业版的,下面的步骤就是按照它的页面讲解的)    2.运行软件,点击“文件”—“打开”按钮。   3.在打开界面当中,选择需要打开的DWG文件,然后点击“打开”按钮,打开出现乱码的DWG文件。    4.一般情况下,这时候打开的DWG文件都不会出现乱码的情况,如果DWG文件还存在乱码情况,那么可以点击“编辑器”—“文字样式”选项,对乱码的文字样式进行修改。 5.在文字样式界面选择想要修改的文字样式,点击“应用”按钮,即可成功解决文字乱码情况,      出现这种情况,有两种原因,一种是打开DWG文件的软件不对,另一张可能是字体格式有误,所说打击不用担心,可以按照上面的方法进行解决!
熊本二号 发布于 1天前 阅读 2

PMVS论文随笔(1)——关于Unit的概念

该函数是计算将图片上的一个像素反投影到空间的一个指定的面片(patch)上得到的正方形的大小(以世界坐标系中的距离为量度),这个面片满足如下条件——面片的中心位于`coord`, 面片的法线与相片的法线平行但方向相反(也就是论文中初始化patch时的法线计算方法)。
whuhenry 发布于 3天前 阅读 2

Opencv 学习日志(图片 读,写, 保存, 展示)

### 目标: 1. 学习使用OpenCV读写图片 1. 学习使用OpenCV保存图片 1. 学习使用OpenCV和Matplotlib展示图片 ### 1.读图片 使用 cv2.imread(img_path,mode)函数读取图片 - cv2.IMREAD_COLOR : 默认选项 ,加载图像时忽略透明度,mode = 1; - cv2.IMREAD_GRAYSCALE : 加载灰度值图像,mode = 0; - cv2.IMREAD_UNCHANGED : 加载包含alpha通道的图像,mode = -1. ``` import numpy as np import cv2 # 用灰度值模式加载图片 img = cv2.imread('1.jpg',0) ``` 注:如果加载路径出错,加载函数不会有任何提示,但是print(img)会返回None。 ### 2.展示图片 使用cv2.imshow(img_show_name,img)展示图片,窗口会自适应图片大小。 ``` cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows() ``` cv2.waitkey控制显示窗口时间,单位是毫秒。 cv2.destroyAllWindows()销毁所有创建的窗口。 cv2.destroyWindows(img_show_name)销毁特定名字的窗口。 也可以先创建窗口再加载图像: ``` cv2.namedWindow('image', cv2.WINDOW_AUTOSIZE) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows() ``` - cv2.namedWindow(img_show_name,mode)函数 创建一个可以放图片的...
clgo 发布于 3天前 阅读 4

【示例教程】LEADTOOLS中如何载入DICOM文件并压缩

LEADTOOLS可帮您开发出功能强大的文档图像应用程序。其主要功能包括综合图像注释,专业的黑白图像显示(例如灰度级和偏黑),以及专业的黑白图像处理。其它功能包括对黑白图像的性能和内存进行优化,文档图像清理(包括倒置文本,去边界,去打孔机和去线)以及使用LEADTOOLS Fast TWAIN和WIA进行扫描。 本篇文章分享一个基本的LEADTOOLS C#代码示例,讲解如何载入DICOM文件,然后将它压缩保存以减少文件大小。 在压缩时,你将使用jpeg2000压缩类型。一旦初始化了DicomJpeg2000Options选项,就可以开始为新的DICOM文件设置选项了。 有两个枚举,将在这个过程中使用的: CompressionControl-获取或设置指示如何确定所产生的压缩。 CompressionRatio -获取或设置指示压缩比使用整型值。 一旦你有了这些枚举集合的DicomJpeg2000Options选项,你需要给数据集本身的选项。 现在你可以使用ChangeTransferSyntax改变数据集的传输语法。 最后,你可以使用保存方法保存数据集。 通过这些设置,我们可以将DICOM文件从从854kb压缩到36kb。 DicomEngine.Startup(); using (DicomDataSet ds = new DicomDataSet()) { //Load DICOM File ds.Load(input, DicomDataSetLoadFlags.None...
Harriet666 发布于 1周前 阅读 2

音频视频组件Audio DJ Studio for .NET更新至v10.0.0.0丨附下载

Audio DJ Studio for .NET是一款多功能的音频视频组件,它可以轻松把声音播放和混音功能添加到用Visual Studio.NET编写的应用程序中。 【Audio DJ Studio for .NET v10.0.0.0最新版下载】 Audio DJ Studio for .NET v10.0.0.0更新内容: 新功能 当通过外部编码器FdkAac.exe作为ShoutCAST和IceCast服务器的源时,添加了对以AAC+(HE-AAC)格式进行流式传输的支持。 支持播放声音,同时通过鼠标手动滚动波形滚动条。 支持从ID3V2标签中检索“PRIV”帧的内容。 自定义流混音器现在可以创建为多声道(最多8个声道),播放器可以连接到混音器的特定扬声器。 自定义流混音器现在支持“环绕模式”,这意味着立体声或单声道音频流可以在流混音器的所有输出通道上进行镜像。 支持以HLS格式(HTTP Live Streaming)进行流媒体回放 回放期间显示在波形视觉反馈上的峰值现在通过专用事件报告给容器应用程序。 增加了对回放、单声道、立体声和多声道音频流的峰值电平和RMS(均方根)电平进行检索的支持。 现在可以通过特定的日期和时间来设置延迟播放。 增加了从波形分析仪中检索包含波形峰值的缓冲区的可能性。 新方法 StreamMixerCreateWithSurround StreamMixerPlayerAddToSpeaker Stre...
Harriet666 发布于 1周前

【更新】支持多种格式音视频的本地.NET组件Audio Sound Recorder for .NET 更新至v9.0.0.0

Audio Sound Recorder for .NET是一款本地.NET组件,它可以轻松把录音功能添加到用Visual Studio.NET和Borland Developer Studio编写的Winforms应用程序中。 【Audio Sound Recorder for .NET v9.0.0.0最新版下载】 Audio Sound Recorder for .NET v9.0.0.0更新内容: 新功能 支持播放声音,同时通过鼠标手动滚动波形滚动条。 支持通过外部编码器FdkAac.exe以AAC+格式记录和导出。 支持播放录制声音。 支持对录制声音进行高速播放,可以将声音保持原始速度。 支持以HLS格式(HTTP Live Streaming)进行流媒体回放。 增加了将Wasapi采集或回送设备的立体声录音会话分为两个单声道输出文件的可能性 增加了切换立体声分离录制会话的单声道输出文件的功能 波形分析仪的新选项   - 波形现在可以基于绝对值显示检测到的峰值   - 更多地控制时间标尺上显示的时间字符串的格式   - 可选的自动垂直缩放功能,用于低音量级别的波形 回放期间显示在波形视觉反馈上的峰值现在通过专用事件报告给容器应用程序。 增加了在录制和回放过程中检索峰值电平和RMS(均方根)电平的支持。 增加了从波形分析仪中检索包含波形峰值的缓冲区的可能性   新属性 EncodeFormats.AACPlus (class)   ...
Harriet666 发布于 1周前

ffmpeg 调整音视频播放速度

1. 调整视频速率 1.1 原理 调整视频速率的原理为:修改视频的pts,dts  此过程由于不用进行解码编码,所以费时很少 1.2 setpts修改视频速率 ffmpeg -i input.mkv -an -filter:v "setpts=0.5*PTS" output.mkv 1 注意: 调整速度倍率范围[0.25, 4] 如果只调整视频的话最好把音频禁掉 对视频进行加速时,如果不想丢帧,可以用-r 参数指定输出视频FPS ffmpeg -i input.mkv -an -r 60 -filter:v "setpts=2.0*PTS" output.mkv 1 2. 调整音频速率 2.1 原理 简单的方法是调整音频采样率,但是这种方法会改变音色,  一般采用通过对原音进行冲采样,差值等方法。 2.2 atempo filter ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv 1 注意: 倍率调整范围为[0.5, 2.0] 如果需要调整4倍可采用以下方法: ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv 1 3. 同时调整 ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv 1 4. 参考文献 [1] http://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video...
blair排骨 发布于 1周前 阅读 4

photoshop破解工具

给大家一个非常好用的破解工具,amtemupainter点击获取(他可以破解任何版本的adobe工具)
潇晓 发布于 1周前 阅读 6

深入分析:Flash vs. HTML5 網路影音格式落誰家?

董福興 發表於 2010年5月04日 13:00
Jason909 发布于 1周前 阅读 4

FL Studio浏览器菜单你了解多少?

一般情况下我们只要打开FL Studio水果软件就可以看到位于面板左侧的浏览器菜单了。FL Studio浏览器菜单是非常方便使用的,它可以让我们直接在FL Studio内部浏览和访问各种采样、预设文件以及工程信息等等。本篇文章小编将会为大家讲解一下有关FL Studio浏览器菜单的知识,还不会的你们可以来看看哦~ 下载地址:http://wm.makeding.com/iclk/?zoneid=17051 中文网站:http://www.flstudiochina.com/ 首先,我们来看一下浏览器菜单的尊容,如下图所示: 位于浏览器菜单顶部的横排菜单是其标题栏,下图会为大家展示。标题栏中也有一些重要的功能菜单,接下来就让我们一起来看看这些菜单的名称以及作用吧! 浏览器选项:它主要是用来打开浏览器选项菜单; 刷新:如果咋打开FL Studio时改动文件,可以点击该按钮是这些改动在浏览器列表中刷新出来。 全部收拢:可以把浏览器中展开的所有区域都收拢起来; 浏览器快照:浏览器中一共有4个快照用来恢复记录浏览器状态。这4个快照一共可以记录4个状态。点击标题上的倒三角图标可以打开快照菜单来挑选快照;执行快照菜单中的重命名命令可以更改当前快照的名称;执行冻结命令可以冻结当前快照的浏览器的状态,使其不能被修改,其中自动...
Abby88 发布于 1周前 阅读 1

七牛云转码方式(java sdk)

在项目中使用七牛云的js sdk来上传视频文件,这样可以减少服务器压力,但七牛云的转码需要access token,出于安全考虑,在服务端转码比较好。以下搜集试验几种七牛云的转码。 预处理,也就是在生成token的时候policy带预处理接口。空间中只保存一份文档。官方文档参考https://developer.qiniu.com/dora/manual/1248/audio-and-video-transcoding-avthumb #预转持久化 小节 /** * 生成带有上传policy的token * @param key * @return */ public String generateUpTokenWithPolicy(String key) { Auth auth = Auth.create(accessKey, secretKey); String saveAs = UrlSafeBase64.encodeToString(bucket + ":" + key); //saveas接口 参数 String fops = "avthumb/mp4/ab/128k/ar/22050/acodec/libfaac/r/30/vb/300k/vcodec/libx264/s/320x240/autoscale/1/stripmeta/0|saveas/" + saveAs; //处理命令 avthumb 和 saveas 通过管道符 | 进行连接 StringMap putPolicy = new StringMap(); putPolicy.put("persistentOps", fops); putPolicy.put("persistentPipeline", pipeline); String upToken = auth.uploadToken(bucket, key, 6000, putPolicy)...
eyuang 发布于 1周前 阅读 1

【示例教程】LEADTOOLS中如何用H.264压缩视频创建DICOM文件

本篇文章教你如何配置LEADTOOLS DICOM Writer filter,创建一个以使用H.264传输MPEG-2的数据集。 这是一个用LEADTOOLS 19在Visual Studio 2017中构建的C #控制台应用程序,说明了如何配置LEADTOOLS DICOM Writer filter创建一个以H.264传输MPEG-2的数据集。这个例子编码高清视频(通过调整一个示例LEADTOOLS的媒体文件)创建一个MPEG-4 AVC/H.264 BD兼容DICOM文件。帧速率也用编码器设置为29.970 fps。 该项目使用一个模板视频DICOM文件作为它的起点。其他模板可以使用,如内镜,但它可能需要在DICOM数据集的其他标签。 在生成视频后,使用扩展方法更新DICOM文件以设置患者信息。有关所使用的扩展方法的详细信息,请参阅简单的DICOM扩展来读取或写入数据集标记。 代码也更新了SOP instance, series instance and study instance UIDs等文件,所以每次生成的文件都是唯一的。 注意:该代码设计为从下面的目录中提取并运行: C:\LEADTOOLS 19\Examples\posts\t12193 它可以从其他位置运行,但有些代码可能需要更改。具体来说,您将需要更新DICOM模板文件路径。 另外,如果你的LEADTOOLS Medical Imaging SDK 和LEADTOOLS Multimedia SDK 是单独安装的,那么可能也需要更新相应...
Harriet666 发布于 1周前 阅读 1

Guitar Pro 7如何编辑制谱,来聊聊吧

玩吉他的朋友对Guitar Pro 肯定不陌生,没错,Guitar Pro 现在在国内深受广大吉他爱好者的喜欢,比较适合初学编曲且又是吉他初学者的喜欢,目前最新版本已经升级到Guitar Pro 7,下面我们就一起来看看如何使用他来编辑制谱呢,感兴趣的朋友可以一起交流学习哦 下载地址: Guitar Pro 7Mac版本:  http://wm.makeding.com/iclk/?zoneid=18318 Guitar Pro 7Win版本:    http://wm.makeding.com/iclk/?zoneid=18319 Guitar Pro在吉他和弦、把位的显示、推算、查询、调用等方面,也异常方便、简洁、直观和浩瀚,这是同类软件所根本无法与之相抗衡的一大显著特点。软件提供对包括简、繁体中文在内的25种不同的语言的支持。新版本增加了一些打印时针对个人用户的设置;对吉他面板播放时的状态做了一些较大的改进,可以选择播放时显示当前音符,下一个音符,当前和弦图表,当前小节的音符;增加了对4弦乐器、5弦乐器、7弦乐器的和弦图表支持和鼓谱符号的输入;歌词输入的改进提供了更多的方便等等。 制谱是大家都需要的,但是对于新手朋友刚开始使用时还是有很多疑问的,下面就给大家讲解下制谱的过程。 打开软件点击“文件”>新建会弹出以下界面 在点击“音轨”>“添加”选择自...
Abby88 发布于 1周前 阅读 1

【示例教程】如何使用LEADTOOLS 的JAVA接口从护照中识别和提取数据

LEADTOOLS可帮您开发出功能强大的文档图像应用程序。其主要功能包括综合图像注释,专业的黑白图像显示(例如灰度级和偏黑),以及专业的黑白图像处理。其它功能包括对黑白图像的性能和内存进行优化,文档图像清理(包括倒置文本,去边界,去打孔机和去线)以及使用LEADTOOLS Fast TWAIN和WIA进行扫描。   本教程会发布一个java代码片段,你可以用它读一本护照提取其中的数据。记住,为了获得最精确的结果,你需要有一个清晰的图像,这样引擎在这个过程中才能获得精确的结果。 // Set your license RasterSupport.setLicense(licenseFile, developerKey); try{ if(RasterSupport.getKernelExpired()) { System.out.println("License NOT Set Successfully"); } else { System.out.println("License Set Successfully"); } RasterCodecs rasterCodecs = new RasterCodecs(); MRTDReader mrtdReader = new MRTDReader(); String stream = "PASSPORT_IMAGE.jpg"; RasterImage rasterImage = rasterCodecs.load(stream); OcrEngine ocrEngine = OcrEngineManager.createEngine(OcrEngineType.ADVANTAGE); ocrEngine.startup(rasterCodecs, null, n...
Harriet666 发布于 1周前 阅读 1

【示例教程】LEADTOOLS中如何通过OCR识别获取每一行文本

LEADTOOLS可帮您开发出功能强大的文档图像应用程序。其主要功能包括综合图像注释,专业的黑白图像显示(例如灰度级和偏黑),以及专业的黑白图像处理。其它功能包括对黑白图像的性能和内存进行优化,文档图像清理(包括倒置文本,去边界,去打孔机和去线)以及使用LEADTOOLS Fast TWAIN和WIA进行扫描。 本篇文介绍如何通过OCR分别识别获取文档的每一行文本。有一种方法类似于我们的IOcrZoneCharacters.GetWords方法可检索文档的每一行。OCR引擎识别的每个字符都有一个位置。我们可以通过OcrCharacter 结构的position 属性访问这个位置。返回一个或多个OcrCharacterPosition 枚举成员: 下面写了一个简单的小例子,用OcrCharacterPosition 来分别识别出每一行的文字。 using (RasterCodecs codecs = new RasterCodecs()) { codecs.Options.RasterizeDocument.Load.XResolution = 300; codecs.Options.RasterizeDocument.Load.YResolution = 300; RasterImage image = codecs.Load(inputFile); using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Professional, false)) { ocrEngine.Startup(null, null, null, @"C:\LEADTOO...
Harriet666 发布于 1周前 阅读 1

冲突部分Beyond Compare如何解决

Beyond Compare是一款经典的文件对比工具,Beyond Compare软件只需使用简单的命令和操作,即可开启最优质的对比体验,找出你感兴趣的差异,并合并文件变化,生成报告。那么下面我们就一起来研究Beyond Compare是怎么清除冲突部分的吧! 下载地址:http://wm.makeding.com/iclk/?zoneid=16915 Beyond Compare如何清除冲突 文本合并输出存在冲突,即左右两侧文本存在差异部分,想要清除冲突即选择一侧的内容覆盖文本合并输出的默认文本,有四种方式可供选择。 第一:执行“采用左边部分”命令,即冲突部分选择左侧窗格的内容作为最终输出文本。 第二:执行“采用右边部分”命令,即冲突部分选择右侧窗格的内容作为最终输出文本。 第三:执行“采用中心选择内容”命令,即冲突部分选择中心窗格的内容作为最终输出文本。 第四:在文本合并输出窗格存在冲突行,单击工具栏“编辑”按钮,直接手动修改差异文本。 温馨提示:用户可直接单击窗格左侧的箭头进行修改,其中左侧窗格图标为淡青色,中心窗格图标为黑色,右侧窗格图标为淡紫色。 冲突部分 文本合并左右窗格文本中,相同一行中存在差异的部分将被视为存在冲突,本窗格内以红色标注显示差异。在文本合并输出窗格左侧,界面...
Abby88 发布于 1周前 阅读 2

CDN视频转码集群的性能调优

    视频业务中要提供视频的转码,切片和缩略图,这类业务有个明显特点,都是高cpu ,高网络吞吐的。下面主要介绍背景,有大批量文件需要 hls 切片,这是个耗cpu 的过程,然后,需要从源拉取切片再推回去,而且整个业务,有时间限制,所以,这里需要平衡cpu ,网络流量和磁盘。     环境介绍:万兆光卡 + 万兆光纤,ssd 硬盘。     首先,速度测试,ffmpeg codec copy (不设置,就不一定是输入的编码,就可能产生解码操作,极大影响性能)切片的速度大概是100M/s ,单机带宽可以打到500M/s。 方案一: cpu 核数线程调用ffmepg,ffmpeg -i 直接指定url 拉,每个线程for 循环推,或者直接ffmpeg推。     这个是最开始想的方案, 结果ffmpeg 边拉边切片,速度比直接切片慢了10倍。这里先download。 方案二, cpu 核数线程调用ffmepg,先download 下载,再切片,循环上传。     结果,cpu 特别低,流量也打不高。根本不能再指定时间完成任务。 方案三,多进程调用ffmpeg, 线程池或者协程池推文件,将上行带宽打高。     最终选择的是多进程+线程池的方式,这里并不是阻塞业务,异步并不会由太大的效果。但是又出了问题,由于网速很快,将iowait打到90%。 ...
caucy 发布于 2周前 阅读 59

数据可视化(三)基于 Graphviz 实现程序化绘图

- OmniGraffle 和 Graphviz - Why draw when you can code? - Graphviz 简介 - 最佳 Graphviz 实践(一):流程图、数据结构图、网络路径 Trace Route - 最佳 Graphviz 实践(二):复杂社会关系链分析(《红楼梦》、《权力的游戏》) - 最佳 Graphviz 实践(三):机器学习算法-决策树(Decision Tree)
RiboseYim 发布于 2个月前 阅读 1969 评论 5 点赞 5

opencv+python机读卡识别整合版

通过随意一张机读卡的照片,识别其中选择题题号,选项,以及相关数字识别
Digimon 发布于 4个月前 阅读 3210 评论 10 点赞 18

python数据可视化----绘制各种图形

1.环境 系统:windows10 python版本:python3.6.1 使用的库:matplotlib,numpy 2.numpy库产生随机数几种方法 import numpy as np numpy.random rand(d0, d1, ..., dn) In [2]: x=np.random.rand(2,5) In [3]: x Out[3]: array([[ 0.84286554,  0.50007593,  0.66500549,  0.97387807,  0.03993009],        [ 0.46391661,  0.50717355,  0.21527461,  0.92692517,  0.2567891 ]]) randn(d0, d1, ..., dn)查询结果为标准正态分布 In [4]: x=np.random.randn(2,5) In [5]: x Out[5]: array([[-0.77195196,  0.26651203, -0.35045793, -0.0210377 ,  0.89749635],        [-0.20229338,  1.44852833, -0.10858996, -1.65034606, -0.39793635]]) randint(low,high,size) 生成low到high之间(半开区间 [low, high)),size个数据 In [6]: x=np.random.randint(1,8,4) In [7]: x Out[7]: array([4, 4, 2, 7]) random_integers(low,high,size) 生成low到high之间(闭区间 [low, high)),size个数据 In [10]: x=np.random.random_integers(2,10,5) In [11]: x Out[11]: array([7, 4, 5, 4, 2]) 3.散点图 x x轴 y y轴 s 圆点面积 c 颜色 marker 圆...
南寻 发布于 6个月前 阅读 3786 评论 5 点赞 8

提升网站用户体验—WebP 图片的高效使用

现代图像压缩技术对我们的生活方式影响很大。数码相机能将上千张高质量图片存储到一张内存卡里、智能手机可以与邻近设备快速分享高分辨率的图片、网站与手机等移动设备能快速展示各种富媒体。然而,如果图片只能以最原始的格式进行存储的话,以上所有都只是纸上空谈。
OneAPM蓝海讯通 发布于 2年前 阅读 5029 评论 14 点赞 11

使用ffmpeg命令实现本地摄像头的远程访问——非编程纯命令

1 ffserver命令 fserver是一个音频和视频的流式服务器。它通过在启动时读入的配置文件完成配置,不指定时用默认的/etc/ffserver.conf文件。ffserver接受一些或者FFM流作为输入然后通过RTP/RTSP/HTTP推流。ffserver监听在配置文件中指定的端口,在配置文件中输入的流叫做feed,每一个都是用<Feed>的节来指定的。每一个feed可以有不同格式的的不同输出流,每一个在配置文件中用<Stream>节来指定。ffserver是通过推送用ffmpeg编码的流来工作的。ffserver担当一个HTTPserver的角色,接收来自ffmpeg的获得发布流的POST请求,并且用流媒体内容来服务HTTP/RTSP客户端的GET请求。要搞清楚什么是feed,什么是stream。 1.1 Feed是什么 feed是由ffmpeg创建的FFM流,并且发送到ffserver正在监听的端口上。每一个feed是通过一个唯一的名字来识别的,这个名字关联到发布在ffserver上的资源的名字,并且是通过配置文件里面的<Feed>节来完成配置的。feed发布的URL是以下面的形式给出的:  http://<ffserver_ip_address>:<http_port>/<feed_name> 其中,ffserver_ip_address是ffserver安装的主机的IP地址,http_port是HTTP服务器的端口号,feed_name是相关的定义在配置文件中的feed的名字。...
zhangyujsj 发布于 3年前 阅读 5760 评论 1 点赞 6

基于opencv的摄像头脸部识别抓取及格式储存(python)

opencv作为优秀的视觉处理在动态图像处理上也是很不错的,本次主要基于Opencv抓取视频,然后保存为avi,同时进行脸部识别作业,
Kanonpy 发布于 3年前 阅读 5343 评论 17 点赞 9

Opencv实时眼球追踪,解脱的你双手,让你的眼睛写代码!

Opencv实时眼球追踪,追踪率82.5%-98%,目前这个是第一个版本,只是基本上上实现了眼球追踪,后面会加上GPU处理提高效率,将目前的face分类器,增加face特征算法以提高face查准率!使实时眼球追踪更加稳定,效率更高,追踪率更高稳定些,适应更多场景!
地瓜儿 发布于 3年前 阅读 22271 评论 104 点赞 35 打赏 1

基于HTML5实现的Heatmap热图3D应用

实现Heatmap的开源js库比较出名的就是 heatmapjs ,该框架发展了2年多,作者Patrick Wied最近决定在保持开源的基础上,提供有偿的商业支持服务,这是好事,地球上绝大部分开源项目作者搞个barely可用的初级版本后,就多年不见更新了,而真正能实际上线使用的产品哪有不需要持续完善、增强可扩展性以及提供特殊定制服务的,考虑到作者这两年已无偿投了这么多(Over the last 2 years, I devoted more than 500 hours of work to improving heatmap.js to make it a truly great l...
xhload3d 发布于 3年前 阅读 6141 评论 35 点赞 15

Jfreechart绘制漂亮的图表

JfreeChart美化,使用JfreeChart创建柱状图,折线图,饼图,堆积柱状图,时间序列图,二维Y轴坐标图,JfreeChart工具类
扁-哥 发布于 3年前 阅读 15206 评论 48 点赞 77

关于手势轮廓的提取及手势跟踪和识别的关键部分

手势的提取是将手势从较为复杂的环境中提取出来,在设计中我们采用肤色提取手势轮廓的方法,经过实验,在大多数的情况下都能取得较为满意的效果。对于手势的跟踪则采取预测和重定位的形式,我采用了更高级的跟踪算法,基于卡拉曼滤波的粒子滤波算法。对于手势的识别我们采用了先对指尖进行定位的方式,该方法准确度高且基本没有错误,另一个方法就是采用提取特征向量通过支持向量机的形式对手势进行分类,但是对环境的要求要高些。
zengxiangwei 发布于 3年前 阅读 2594 评论 4 点赞 13

Inkpad绘图原理浅析

分析了Inkpad的动态拖曳绘图和静态图形更新机制,讨论了其绘图优点和可改进点,编写了其交互绘图序列图和核心类的关系图,可供进一步学习研究用。
云贵高原 发布于 4年前 阅读 3293 评论 7 点赞 6
顶部