自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (24)
  • 收藏
  • 关注

原创 SDL2系列教程10-扔箱子的抛物线小游戏

在上一节中介绍了定时器的概念,本节基于上节只是制作一个扔箱子的抛物线小游戏。游戏说明:1、单击鼠标左键生成一个矩形箱子;2、箱子以随机的方式生成水平初始速度,可左可右;3、箱子的垂直方向初速度为500,方向向上;4、箱子受到重力大小是7505、箱子在屏幕上显示时间为5秒,会落到底部或飞出窗口;定义结构体struct square { float x, ...

2018-09-30 17:12:26 1253

原创 SDL2系列教程9-定时:帧率,物理,动画

定时SDL为计时提供简单但方便的API。时序有许多应用,包括FPS计算和上限,分析程序的哪些部分花费最多时间,以及任何应该基于时间的模拟,例如物理和动画。最基本的计时形式是SDL_GetTicks()。此函数只返回自SDL初始化以来经过的滴答数。一个刻度是一毫秒,是物理模拟和动画的可容忍分辨率。Uint32 ticks = SDL_GetTicks()刻度总是在增加 - SDL不...

2018-09-30 16:40:30 3014 1

原创 SDL2系列教程8-文本渲染和输入

SDL_ttfSDL_ttf为True Type Font(TTF)加载和呈现提供API。它与我们使用的其他扩展程序非常相似。与SDL_mixer一样,SDL_ttf引入了另一种资产结构;TTF_Font。在安装过程是一样的,我们已经使用了其他扩展。文档可以在这里找到。初始化与其他扩展一样,SDL_ttf包括初始化函数TTF_Init()。此功能不带任何参数;只需在程序启动时调...

2018-09-30 14:11:04 4167 1

原创 SDL2系列教程7-声音和扩展库

扩展库虽然SDL为多个系统提供了广泛的API,但它忽略了某些领域,而在其他领域缺乏功能。扩展库解决了这个问题,以模块化方式添加了更多功能。热门扩展:SDL_Image 加载各种类型的图像 SDL_Mixer 提供声音API SDL_TTF 提供字体加载和呈现APISDL_Net 提供网络API SDL_GPU[beta] 替换渲染API SDL_FontCa...

2018-09-30 13:55:46 2140 1

原创 SDL2系列教程6-纹理

创建纹理如上一课所述,纹理是GPU渲染等效于表面。因此,纹理几乎总是使用函数SDL_CreateTextureFromSurface()从曲面创建。这个函数或多或少地做你期望的 - 参数是渲染上下文和从中创建纹理的表面。与其他创建函数一样,它将在失败时返回NULL。以这种方式创建纹理时,数据将被复制到纹理,允许您释放用于加载图像的表面。// create window, render...

2018-09-30 11:51:06 3962 1

原创 SDL2系列教程5-几何渲染

GPU渲染到目前为止,您一直在使用软件或CPU渲染。这意味着要将表面blit到窗口,计算机的CPU必须遍历每个像素,调整并复制值。另一方面,硬件渲染利用了计算机的GPU(图形处理单元)。硬件渲染可以比软件快一个数量级,因为GPU针对这些精确的工作负载进行了优化。GPU不是单独通过像素数据,而是可以并行执行计算,大幅提高吞吐量。渲染器SDL结构SDL_Renderer表示渲染上下文。...

2018-09-30 11:37:24 1944

原创 SDL2系列教程4-事件处理

事件循环大多数多媒体程序依靠事件系统来处理输入。SDL为处理输入事件提供了灵活的API。本质上,SDL将来自设备(如键盘,鼠标或控制器)的输入记录为事件,将它们存储在“事件队列”中。您可以将此结构视为等待线 - 事件在线的后面排队并从线的前面取出。在您的程序中,您将始终拥有一个事件(或“游戏”或“主”)循环来处理这些事件并根据输入运行您的程序。每次运行事件循环时,必须从事件队列中拉出每...

2018-09-30 11:25:57 3030

原创 SDL2系列教程3-位图

位图和Blitting你以前可能听说过位图; 可能是过时的“.bmp”图像。好吧,位图在技术上只是一种图像存储的格式,其中像素数据由一块内存表示,或者你可以说是一个位图。“bmp”格式表示在标题之后顺序存储每个像素(单色,RGB,RGBA等)的颜色值的图像。其他格式,如“png”和“jpg”仍然是位图,但利用压缩技术来减少文件大小(理想情况下),而不会牺牲图像质量。在软件(CPU)2D渲染...

2018-09-30 11:04:11 1977

原创 SDL2系列教程2-初始化&窗口

介绍本节介绍如何使用SDL2(Simple DirectMedia 2)库。它是一个(相对)易于使用的库,可以在不依赖于特定于操作的功能的情况下添加多媒体功能。SDL提供的内容:窗口管理 软件(CPU)和硬件(GPU)渲染2D图形 输入事件系统 时间管理 音频处理 文件IO和库加载 穿线 用于3D图形的OpenGL APISDL有扩展,提供更多功能 - 网络,更好的音频...

2018-09-30 10:46:36 7744 4

原创 SDL2系列教程1-使用环境搭建

开发环境Ubuntu14.04或Ubuntu16.04, g++, SDL2安装:在Ubuntu下先安装好g++, SDL2,可使用如下命令直接安装sudo apt-get install g++sudo apt-get install libsdl2-dev建议先安装一个代码编辑神器:sublimetext下载地址:https://www.sublimetext.com/...

2018-09-30 10:00:30 2204

原创 FFmpeg的AVFrame数据转换到OpenCV Mat中

使用FFmpeg的视频解码功能,可以接受rtsp 的H264码流,得到YUV数据;解码后的数据放在AVFrame 结构中,可参考雷神的博客https://blog.csdn.net/leixiaohua1020/article/details/14214577现将YUV数据转到Mat中 AVFrame *frame; ...

2018-09-19 11:40:19 4189 1

原创 Opencv直接使用YUV视频源

OpenCV默认情况下是BGR24的方式将数据丢到Mat中,In header file videoio.hpp:// Generic camera output modes.// Currently, these are supported through the libv4l interface only.enum { CAP_MODE_BGR = 0, // BGR24 (d...

2018-09-19 09:23:33 6946 1

转载 ffmpeg-1 常用命令

1. 视频转换比如一个avi文件,想转为mp4,或者一个mp4想转为ts。ffmpeg -i input.avi output.mp4ffmpeg -i input.mp4 output.ts2. 提取音频ffmpeg -i test.mp4 -acodec copy -vn output.aac上面的命令,默认mp4的audio codec是aac,如果不是,可以都转为最常见的aa...

2018-09-13 11:48:51 687

转载 OpenCV2简单的特征匹配

特征的匹配大致可以分为3个步骤:特征的提取 计算特征向量 特征匹配对于3个步骤,在OpenCV2中都进行了封装。所有的特征提取方法都实现FeatureDetector接口,DescriptorExtractor接口则封装了对特征向量(特征描述符)的提取,而所有特征向量的匹配都继承了DescriptorMatcher接口。简单的特征匹配int main(){ con...

2018-09-08 09:43:28 368

转载 OpenCV2:特征匹配及其优化

在OpenCV2简单的特征匹配中对使用OpenCV2进行特征匹配的步骤做了一个简单的介绍,其匹配出的结果是非常粗糙的,在这篇文章中对使用OpenCV2进行匹配的细化做一个简单的总结。主要包括以下几个内容:DescriptorMatcher DMatcher KNN匹配 计算两视图的基础矩阵F,并细化匹配结果 计算两视图的单应矩阵H,并细化匹配结果DescriptorMatcher 和...

2018-09-08 09:43:14 655

转载 opencv3.2——使用鼠标选择ROI进行SURF匹配

1.目的匹配图片的时候,总有其他物体干扰着匹配成功率。所以选择需要的物体进行匹配就现得很重要。所以,本文尝试选择了使用鼠标交互的方法选择物体,并进行运算速度快而且匹配率高的SURF算法进行匹配。本程序优点:鼠标交互,重复选择物体框直到选择到最佳物体框。   2.代码实现[cpp] view plain copy#include<opencv2/opencv.hpp...

2018-09-08 09:43:01 335

原创 FFmpeg3.4+SDL2实现简单视频播放器

先在Ubuntu下安装,测试;FFmpeg播放,需要先安装libx264库,libx264用于解码;下载路径http://www.videolan.org/developers/x264.html解压->配置./configure --disable-asm --enbale-shared --enable-staticmakesudo make install安装...

2018-09-08 09:42:30 853 1

原创 vector struct a按照结构体中某一元素排序相同元素只保留最大值操作

首先根据需求定义了一个结构体struct face_idx_score{    int idx = 0;    float score = 0.0f;};然后使用容器vector定义了一个对象    vector<face_idx_score>     result_face_vec;需求是相同的idx只保留score最大的一个,并写入.csv文件使用sort(...

2018-09-08 09:41:41 1105

原创 OpenCV3中cvtColor函数颜色空间转换格式明细

上篇文章中说了VideoCapture将读取的到流统一转换成了BGR24;其实imread()也是将图片转换成BGR24;如果想要进行颜色空间的转换需要使用cvtColor()函数;void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )src:这是一幅8位无符号、16位无符号(CV_16UC)、...

2018-09-07 13:58:19 4015 1

原创 关于OpenCV3中VideoCapture的疑问

VideoCapture类一般用于视频,图片序列,IPC的接收,一般视频的压缩格式不可能时RGB,IPC一般时YUV420p;经过VideoCapture的read函数读取后,颜色空间是哪种类型?是原来的还是统一转换成某种格式;查看源码:bool VideoCapture::open(const String& filename, int apiPreference){...

2018-09-06 14:48:25 3677 1

原创 OpenCV3 VideoCapture出错Connection to tcp://192.168.15.11:554?timeout=0 failed: No route

[tcp @ 0x2261180] Connection to tcp://192.168.15.11:554?timeout=0 failed: No route to host(joinus_test:7689): GStreamer-CRITICAL **:Trying to dispose element appsink0, but it is in READY instead of...

2018-09-03 14:19:48 9735 5

转载 C++ 的浅拷贝和深拷贝(结构体)

关于浅拷贝和深拷贝这个问题遇上的次数不多,这次遇上整理一下,先说这样一个问题,关于浅拷贝的问题,先从最简单的说起。假设存在一个结构体:struct Student{    string name;    int age;};​这样一个最简单的问题然后执行:    struct Student stu = {"liming", 18};    struct S...

2018-09-03 11:07:02 2743

hello-dbus3-0.1.zip

dbus学习调试资料,helloworld演示程序,简单易懂,配合学习博客更易理解。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2020-09-02

Automatic Color Enhancement (ACE) and its Fast Implementation

Automatic Color Enhancement "ACE" is an effective method for color image enhancement introduced by Gatta, Rizzi, and Marini based on modeling several low level mechanisms of the human visual system. The direct computation of ACE on an NxN image costs O(N4) operations. This article describes two fast approximations of ACE. First, the algorithm of Bertalmío, Caselles, Provenzi, and Rizzi uses a polynomial approximation of the slope function to decomposes the main computation into convolutions, reducing the cost to O(N2 log N). Second, an algorithm based on interpolating intensity levels also reduces the main computation to convolutions. The use of ACE for image enhancement and color correction is demonstrated.

2019-04-11

An simple implementation of image deblur code

# ImageDeblur An simple implementation of image deblur develop environment: Ubuntu16.04 + OpenCV3.2

2019-04-04

任意曲线(S型等)调整图像色调,对比度小工具 OpenCV C++

本小工具实现了,交互的改善图像色调。其概念是实验性的调整图像的亮度和对比度,以便在合适的灰度范围提供最多的细节。 彩色本身并不改变。在RGB和CMYK空间中,这意味着使用相同的变换函数映射3个(或4个)彩色分量。在HSI中则改进了亮度分量; 下面显示了3个常见的色调不平衡的几个典型变换----平淡的,较亮的,较暗的图像。 S型曲线可以增强对比度,凹凸曲线分别减小、增加亮度。

2019-03-21

opencv3.2人脸检测负样本4631张

改训练集属于负样本,用于人脸检测时;

2019-01-22

opencv3.2人脸检测正样本5061张

该资源用于OpenCV中人脸检测分类器的训练,正样本数量5061张,实际测试可用,24*24分辨率

2019-01-22

MD5中文处理C++类

OpenSSL中默认的MD5算法计算包含中文的字符串是不正确;使用该类可以正确处理中文字符

2018-12-05

SDL2系列教程11-动漫人物小游戏代码

本机制作一个动漫人物,具有丰富的动作形象; 代码讲解 定义精灵表结构体 struct spritesheet {     SDL_Texture* texture;     vector sprites;     Uint32 lastFrame, lastUpdate; }; texture  纹理;  sprites 向量存储每个人物的矩形位置; lastFrame 上一帧; lastUpdate  上次刷新时间;

2018-09-30

SDL2系列教程10-扔箱子的抛物线小游戏代码

在上一节中介绍了定时器的概念,本节基于上节只是制作一个扔箱子的抛物线小游戏。 游戏说明: 1、单击鼠标左键生成一个矩形箱子; 2、箱子以随机的方式生成水平初始速度,可左可右; 3、箱子的垂直方向初速度为500,方向向上; 4、箱子受到重力大小是750 5、箱子在屏幕上显示时间为5秒,会落到底部或飞出窗口;

2018-09-30

SDL2系列教程8-文本渲染和输入实例代码

SDL_ttf SDL_ttf为True Type Font(TTF)加载和呈现提供API。它与我们使用的其他扩展程序非常相似。与SDL_mixer一样,SDL_ttf引入了另一种资产结构; TTF_Font。 在安装过程是一样的,我们已经使用了其他扩展。文档可以在这里找到。

2018-09-30

SDL2系列教程7-声音和扩展库实例代码

SDL2 扩展库 虽然SDL为多个系统提供了广泛的API,但它忽略了某些领域,而在其他领域缺乏功能。扩展库解决了这个问题,以模块化方式添加了更多功能。 热门扩展: SDL_Image 加载各种类型的图像 SDL_Mixer 提供声音API SDL_TTF 提供字体加载和呈现API   SDL_Net 提供网络API SDL_GPU [beta] 替换渲染API SDL_FontCache [beta] 提供字体缓存支持 我们将在本课程中介绍如何设置和使用SDL_Image和SDL_Mixer。

2018-09-30

SDL2系列教程6-纹理测试例程

SDL2系列教程6-纹理测试例程 SDL_Texture 创建纹理 如上一课所述,纹理是GPU渲染等效于表面。因此,纹理几乎总是使用函数SDL_CreateTextureFromSurface()从曲面创建。这个函数或多或少地做你期望的 - 参数是渲染上下文和从中创建纹理的表面。与其他创建函数一样,它将在失败时返回NULL。 以这种方式创建纹理时,数据将被复制到纹理,允许您释放用于加载图像的表面。

2018-09-30

SDL2系列教程4-事件处理测试例程

SDL Event事件循环 大多数多媒体程序依靠事件系统来处理输入。SDL为处理输入事件提供了灵活的API。本质上,SDL将来自设备(如键盘,鼠标或控制器)的输入记录为事件,将它们存储在“事件队列”中。您可以将此结构视为等待线 - 事件在线的后面排队并从线的前面取出。

2018-09-30

sdl2 bitmap测试例程

SDL2系列教程3-位图 2018年09月30日 11:04:11 Dwyane05 阅读数:2 编辑 位图和Blitting 你以前可能听说过位图; 可能是过时的“.bmp”图像。好吧,位图在技术上只是一种图像存储的格式,其中像素数据由一块内存表示,或者你可以说是一个位图。“bmp”格式表示在标题之后顺序存储每个像素(单色,RGB,RGBA等)的颜色值的图像。其他格式,如“png”和“jpg”仍然是位图,但利用压缩技术来减少文件大小(理想情况下),而不会牺牲图像质量。 在软件(CPU)2D渲染中,一旦将位图加载到存储器中,CPU就简单地将像素值从加载的位图修改和/或复制到表示窗口的区域。这被称为“blitting”。Blitting可能比简单地复制像素更复杂; 它也可能涉及调整大小,拉伸,翻转或以其他方式后处理图像。 SDL提供加载和blitting位图的功能。blitting API可能很有用,但它相对有限。默认情况下,SDL只能加载“bmp”格式位图 - 扩展名SDL_Image必须用于加载更多图像格式,例如“png”,“jpg”,“gif”或“tif”。我们将在第07课中了解更多扩展库。此外,在第05课中,我们将了解功能更全面的硬件(GPU)渲染API。

2018-09-30

OpenCV3.2 实现目标检测和SVM 物品识别

此代码是OpenCV实例精解中第5张和第6章中实现的代码,但原书中出现了一些2.4版本的数据结构,在3.2中不能编译通过,而且代码不全。经过修改和添加其他代码。实测运行OK! 使用SVM向量机。

2018-05-24

OpenCV test

此例程是在Ubuntu14.04 安装过OpenCV3 后的测试例子,

2018-03-29

yuv格式数据工具

播放YUV文件的工具,开发音视频必备工具,解压后安装,可查看Y, yuyv等格式文件,但要设置好分辨率

2018-03-29

[像程序员一样思考].V.Anton.Spraul.扫描版

编程的真正挑战不是学习一种语言的语法,而是学习创造性地解决问题,从而构建美妙的应用。本书分析了程序员解决问题的方法,并且教授你其他图书所忽略的一种能力,即如何像程序员一样思考。 全书分为8章。第1章通对几个经典的算法问题切入,概括了问题解决的基本技巧和步骤。第2章通过实际编写c++代码来解决几个简单的问题,从而让读者进一步体会到问题解决的思路...

2018-03-22

《UNIX网络编程(卷1):套接字联网API(第3版》 中文PDF V1.3 + 源码Source Code

《UNIX网络编程(卷1):套接字联网API(第3版)》是一部UNIX网络编程的经典之作!书中全面深入地介绍了如何使用套接字API进行网络编程。全书不但介绍了基本编程内容,还涵盖了与套接字编程相关的高级主题,对于客户/服务器程序的各种设计方法也作了完整的探讨,最后还深入分析了流这种设备驱动机制。    《UNIX网络编程(卷1):套接字联网API(第3版)》内容详尽且具权威性,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。 史蒂文斯(W. Richard Stevens)(1951—1999),国际知名的UNIX和网络专家,备受赞誉的技术作家。生前著有《TCP/IP详解》(三卷)、《UNIX环境高级编程》和《UNIX网络编程》(两卷),均为不朽的经典著作。   鲁道夫(Bill Fenner),AT&T实验室的主要技术人员,专攻IP多播、网络管理和测量,他是IETF路由的领域主管之一,负责审批作为RFC出版的所有路由相关文档。   鲁道夫(Andrew M. Rudoff Sun),公司的资深软件工程师,专攻网络、操作系统内核、文件系统和高可用性软件体系结构

2017-12-12

linux 下grep命令C代码实现

#if HAVE_NBTOOL_CONFIG_H #include "nbtool_config.h" #endif #include __RCSID("$NetBSD: grep.c,v 1.11 2012/05/06 22:27:00 joerg Exp $"); #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "grep.h" #ifndef WITHOUT_NLS #include nl_catd catalog; #endif /* * Default messags to use when NLS is disabled or no catalogue * is found. */ const char *errstr[] = { "", /* 1*/ "(standard input)", /* 2*/ "cannot read bzip2 compressed file", /* 3*/ "unknown %s option", /* 4*/ "usage: %s [-abcDEFGHhIiJLlmnOoPqRSsUVvwxZz] [-A num] [-B num] [-C[num]]\n", /* 5*/ "\t[-e pattern] [-f file] [--binary-files=value] [--color=when]\n", /* 6*/ "\t[--context[=num]] [--directories=action] [--label] [--line-buffered]\n", /* 7*/ "\t[pattern] [file ...]\n", /* 8*/ "Binary file %s matches\n", /* 9*/ "%s (BSD grep) %s\n", };

2017-09-27

linux 下cp命令C代码实现

#include #ifndef lint __COPYRIGHT( "@(#) Copyright (c) 1988, 1993, 1994\ The Regents of the University of California. All rights reserved."); #endif /* not lint */ #ifndef lint #if 0 static char sccsid[] = "@(#)cp.c 8.5 (Berkeley) 4/29/95"; #else __RCSID("$NetBSD: cp.c,v 1.58 2012/01/04 15:58:37 christos Exp $"); #endif #endif /* not lint */

2017-09-27

linux下df命令statfs函数实现

利用statfs函数,实现了C代码查询磁盘空间大小,基本上等同于df命令。测试可用。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2017-09-27

getevent命令源码

Linux Android下的getevent命令源码,使用对应的编译器编译即可。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2017-09-27

protel dxp中文教材

很实用 protel中文教材 英文版的翻译 据说是我们老师的绝版 还不错

2011-04-28

空空如也

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

TA关注的人

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