自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android Display Graphics #1 整体框架介绍一

手机屏上显示的内容,2D或3D ,如果是 3D 的,不管是 App 还是游戏,或者简单的图片界面,底层都是通过 GPU、 通过 OpenGL(ES)绘制出来的。目前电脑和手机都离不开GPU,但每个大厂都有自己的GPU,高通的adreno,ARM的mali,英伟达,Apple的等,如果各厂商的驱动接口各不相同,上层用户开发显示就太难了。如果有一套接口将复杂的、 各种各样的 GPU 硬件包装起来,各个电脑公司编写自家的驱动,然后提供出来 一套统一的接口,供上层软件工程师调用。这样,世界就和平了。

2024-05-27 18:35:27 128

原创 Android AV World 序

以我个人经验来讲呢,调试技巧是在解决问题中掌握的,知识点在解决问题中理解更深刻,记忆更清晰。由于功能模块属于系统底层支撑,类似于docker,涉及到音视频的处理,及Display Graphics的一些处理,需要调试解决显示花屏、黑屏、掉帧、显示虚拟化等问题。文章主要分为Android Display Graphics系列,Android Audio系列,Android Camera系列,Android Performance系列,Android 实用Skills系列。

2024-05-23 18:40:00 266

原创 dbus-glib编程4:使用dbus-glib

dbus-glib是dbus底层接口的一个封装。本讲我们用dbus-glib做一个dus接口,并写一个客户程序。1、接口描述文件首先编写接口描述文件.我们要实现的连接的公共名是"org.freedesktop.messagetestcuiyf",接口描述文件如下:$cat messagetest.xml<?xml version="1.0" encoding="UTF-8" ?><node name="/org/freedesktop/MessageTest/De

2020-09-03 11:54:25 872 1

原创 dbus-glib编程3:消息和消息总线 dbus-send的使用

1、从例子开始我写了一个最简单的dbus服务器,它通过dbus提供了一个加法的接口。 大家可以https://download.csdn.net/download/cyf15238622067/12797794这个例子。这是一个autotool工程,大家解包后,执行:./autogen.sh./configuremake然后在src目录运行:./example-service这时再运行d-feet,连接session bus,在“Bus Name”窗口会看到一个叫“org.f

2020-09-02 11:48:20 2199 1

原创 dbus-glib编程2:d-feet的使用

支持dbus的系统都有两个标准的消息总线:系统总线和会话总线。系统总线用于系统与应用的通信。会话总线用于应用之间的通信。 网上有一个叫d-feet的python程序,我们可以用它来观察系统中的dbus世界。...

2020-09-02 10:08:58 2259 1

原创 dbus-glib编程:DBus是什么玩意

最近做linux桌面环境定制化,发现绝大多数cinnamon、gnome的桌面应用用的是dbus机制。DBus是什么呢?简单说就是同一桌面环境下进程间通讯的一种机制,底层用的是socket,只是封装了一层。那和一般的IPC有啥区别,严格来说没啥区别,都是进程间通讯嘛。只是实现原理和效率不同而已嘛。正式开始.......1、Dbus是Linux下进程通信的一种机制,具有分层架构分3层Dbus daemon 或者 message bus daemon 守护进程(可能有多个,)libdbus...

2020-09-01 17:50:29 1446 1

原创 Linux多线程C++工具库:liblmp_tool -- 线程池类ThreadPool

Linux多线程编程工具库liblmp_tool github:https://github.com/Dwyane05/liblmp_tool使用条件变量和互斥锁实现线程池:头文件:/** Use of this source code is governed by a BSD-style license* that can be found in the Li...

2019-05-31 16:39:36 318 1

原创 Linux多线程C++工具库:liblmp_tool -- 线程类Thread

Linux多线程编程工具库liblmp_tool github:https://github.com/Dwyane05/liblmp_toolThread 类封装了原始 pthread_create等操作函数;内含同步工具和原子锁头文件:/** Use of this source code is governed by a BSD-style license*...

2019-05-31 16:05:17 220 1

原创 Linux多线程C++工具库:liblmp_tool -- 同步工具CountDownLatch

Linux多线程编程工具库liblmp_tool github:https://github.com/Dwyane05/liblmp_toolCountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程执行完后再执行。例如,应用程序的主线程希望在负责启动框架服务的线程已经启动所有框架服务之后执行。CountDownLatch原理CountDownLat...

2019-05-31 15:52:21 212 1

原创 Linux多线程C++工具库:liblmp_tool -- 条件变量Condition

Linux多线程编程工具库liblmp_tool github:https://github.com/Dwyane05/liblmp_tool使用RAII手法封装MutexLock& mutex_;pthread_cond_t pcond_;实现条件变量和互斥锁的使用;头文件:/** Use of this source code is gove...

2019-05-31 15:46:37 216 1

原创 Linux多线程C++工具库:liblmp_tool -- RAII手法封装互斥锁MutexLock

Linux多线程编程工具库liblmp_tool github:https://github.com/Dwyane05/liblmp_tool互斥锁(mutex)恐怕是使用得最多的同步原语,粗略地说,它保护了临界区,任何一个时刻最多只能有一个线程在此mutex划出的临界区内活动。单独使用mutex时,我们主要为了保护共享数据。个人的原则是:·用RAII手法封装mutex...

2019-05-31 15:40:02 253 1

原创 Linux多线程C++工具库:liblmp_tool --CurrentThread 类

CurrentThread 类 主要实现 获取当前线程的tid,并在类中保存,后续在ThreadPool中查询时,做一次判断即可。不用每次都查询tid.Linux多线程编程工具库liblmp_tool github:https://github.com/Dwyane05/liblmp_tool头文件实现:/** Use of this source code is gove...

2019-05-31 15:29:08 241 1

原创 Linux多线程C++工具库:liblmp_tool --TimeZone 时区类

实现了localtime 和 UTCtime的转换:Linux多线程编程工具库liblmp_tool github:https://github.com/Dwyane05/liblmp_toolTimezone类分析:头文件;定义了localtime和utctime 的转换;使用了shard_ptr 智能指针处理date/** Use of this source...

2019-05-31 15:06:44 307 1

原创 Linux多线程C++工具库:liblmp_tool -- Julian date 计算

维基百科 解释:https://en.wikipedia.org/wiki/Julian_day主要是天文学在用,在一个周期内以日计数计算。Linux多线程编程工具库liblmp_tool github:https://github.com/Dwyane05/liblmp_toolDate类分析:头文件:;/** Use of this source code...

2019-05-31 14:47:49 419 1

原创 Linux多线程C++工具库:liblmp_tool -- 原子操作

Linux内核提供了一系列基本的API操作,包括时间,文件,线程等;但直接使用费时费力,在学习了陈硕大神的muduo库后,发现其内部已经做好了一些封装,使用了一些技巧,包括RAII手法。该库的第一版本,先借鉴muduo_base的代码,后面再添加其他功能。欢迎starLinux多线程编程工具库github:https://github.com/Dwyane05/liblmp_tool...

2019-05-30 18:01:25 278 1

原创 Qt5.6+OpenCV3.2实现rtsp流媒体播放

因为竞争对手有界面,所以我们也要做界面.................选择了qt做界面,毕竟Linux下可选的不多。OpenCV 用来处理视频流,还好不用处理音频,不然还要加上FFmpeg了。Qt使用QLabel显示图片,用定时器刷新。中间遇到了图像显示扭曲,和颜色不正确问题。OpenCV中颜色是BGR,Qt中是RGB 需要用cvtColor转换一下;另一点是QIm...

2019-04-16 15:49:38 4785 3

原创 已实现的图像增强算法 OpenCV C++

在做人脸识别过程中,由于早上或晚上光线不足,需要对图像增强。实现了实际中方法,当做记录1、Y 混合空间增强 2、opencv detailEnhance3、Y 直方图均衡化4、Y 模糊处理 提高对比度5、拉普拉斯算子增强6、Y 伽马增强 均值判断 >85 <160 对应伽马值 0.4, 2.57、CLAHE 限制对比度自适应直方图均衡...

2019-04-11 11:39:27 4433 1

转载 【图像处理】一种低光照图像的亮度提升方法(Adaptive Local Tone Mapping Based on Retinex for High Dynamic Range Images)

前言  在实际的拍照过程中,常常会遇到,光线不足的情况。这时候单反用户一般会调大感光度,调大光圈,以让照片整体更清晰,更亮。那么如果照片已经被拍的很暗了,怎么办呢?这时候我们可以利用算法来提升图像整体的光照情况,让图像更清晰。  2013年这篇《Adaptive Local Tone Mapping Based on Retinex for High Dynamic Range Images...

2019-04-11 10:49:58 2622 1

原创 ACE(Automatic Color Enhancement),自动色彩增强算法

ACE(Automatic Color Enhancement),自动色彩增强算法,是一种对于彩色图像增强十分行之有效的方法。它的改进算法以及快速实现在文章Automatic Color Enhancement (ACE) and its Fast Implementation,2012中提出。 在NxN的图像上,ACE算法的算法复杂度为O(N^4),文章提出的新的ACE算法采取了两...

2019-04-11 10:42:33 5748 1

原创 OpenCV 局部自适应对比度增强ACE算法 C++

图像的对比度增强算法在很多场合都有着重要的应用,特别是在医学图像上,这是因为在众多疾病的诊断中,医学图像的视觉检查时很有必要的。而医学图像由于本身及成像条件的限制,图像的对比度很低。因此,在这个方面已经开展了很多的研究。这种增强算法一般都遵循一定的视觉原则。众所周知,人眼对高频信号(边缘处等)比较敏感。虽然细节信息往往是高频信号,但是他们时常嵌入在大量的低频背景信号中,从而使得其视觉可见性降...

2019-04-11 09:51:50 5890 1

原创 OpenCV 对比度受限的自适应直方图均衡化(CLAHE) C++实现

直方图均衡化(HE)是一种很常用的直方图类方法,基本思想是通过图像的灰度分布直方图确定一条映射曲线,用来对图像进行灰度变换,以达到提高图像对比度的目的。该映射曲线其实就是图像的累计分布直方图(CDF)(严格来说是呈正比例关系)。然而HE是对图像全局进行调整的方法,不能有效地提高局部对比度,而且某些场合效果会非常差。对比度受限的自适应直方图均衡(CLAHE,Contrast Limited Ada...

2019-04-11 09:14:48 13296 4

原创 盲目去卷积和盲目去模糊的例子

盲目去卷积和盲目去模糊,就是计算psf或滤波器核;稍微有点效果部分代码:#include "common.h"#include "ImageDeblur.h"#include "helper.h"int main(int argc, char *argv[]){ std::string filename = argv[1]; cv::Mat img ...

2019-04-04 11:02:09 1794 1

原创 基于Python的神经网络图片增强库neural-enhance

在人脸识别过程中,处理模糊图片时。发现有一个库neural-enhance,demo图片显示效果:GitHub地址:https://github.com/alexjc/neural-enhance.git先安装:Ubuntu 16.04 Python 3.5python3 -m pip install --ignore-installed -r requir...

2019-04-03 11:48:29 1132 1

原创 OpenCV 带参数的维纳滤波 C++

下图是OpenCV 自带例子的修改版本。结果:代码实现:#include <iostream>#include "opencv2/imgproc.hpp"#include "opencv2/imgcodecs.hpp"#include <opencv2/opencv.hpp>using namespace cv;using namespa...

2019-03-27 10:16:46 8129 3

原创 视频图像去模糊常用处理方法

视频图像去模糊常用处理方法随着“平安城市”的广泛建设,各大城市已经建有大量的视频监控系统,虽然监控系统己经广泛地存在于银行、商场、车站和交通路口等公共场所,但是在公安工作中,由于设备或者其他条件的限制,案情发生后的图像回放都存在图像不清晰,数据不完整的问题,无法为案件的及时侦破提供有效线索。经常出现嫌疑人面部特征不清晰,难以辨认,嫌疑车辆车牌模糊无法辨认等问题。这给公安部门破案、法院的取证都带...

2019-03-26 13:27:47 8589 1

原创 OpenCV 运动模糊的模拟 C++

运动模糊时,模糊后图片某点的值应该与原图沿运动角度方向前面的点有关,并且越近邻影响越大,即权值越大。所以除了确定卷积核之外,还确定了锚点(anchor)右下角60度移动,距离50代码实现:#include "opencv2/opencv.hpp"typedef cv::Mat Mat;void genaratePsf(Mat &psf, cv::Point ...

2019-03-26 11:49:30 2426 1

原创 OpenCV 陷波滤波器消除周期性噪音 C++

观察下面图像:有明显的近似水平线的噪音模式,我们希望他在频率域内的成分沿垂直轴集中;下图是该图像的谱;将垂直轴的分量去掉,构建的陷波器如下:原图与结果图对比:滤掉的空间噪音模式:代码实现:#include "opencv2/opencv.hpp"typedef cv::Mat Mat;Mat image_add_border( Mat ...

2019-03-22 10:31:33 5059 1

原创 OpenCV 彩色图像的自适应中值滤波 C++

前面讲过中值滤波,只要脉冲噪声的空间密度不大,性能就会很好(根据经验Pa和Pb小于0.2)。见https://blog.csdn.net/cyf15238622067/article/details/87854437下面证明 自适应中值滤波可处理更大概率(密度)的脉冲噪音;自适应中值滤波的另一个优点是平滑非脉冲噪声时试图保留细节,这是传统中指滤波所做不到的。自适应中值滤波也工作在Sx...

2019-03-22 09:02:00 3752 1

原创 OpenCV 彩色图像的直方图均衡化、平滑和锐化 C++

前面已经介绍过灰度图像的平滑和锐化,下面使用均值平滑和拉普拉斯锐化处理彩色图像。平滑结果:平滑差异和锐化结果代码实现:#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"using namespace cv;int main() { Mat src ...

2019-03-21 14:03:38 5080 1

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

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

2019-03-21 10:48:40 4781 1

原创 OpenCV 颜色空间RGB 到HSI CMYK的转换 C++

从RGB 到HSI 的空间转换给定一幅RGB彩色格式的图像,每个RGB像素的H分量可用下式得到:其中等于饱和度分量由下式给出:强度分量下式得出:上式已假定RGB归一化到【0-1】,且角度是根据HSI空间的红轴来度量。色调可以用6.2-2的结果除以360度归一化到[0-1];如果RGB已经归一化到[0-1],那其他两个分量已经归一化到0-1了。...

2019-03-20 10:58:22 3324 1

原创 OpenCV 改变图片颜色 C++

将RGB颜色空间转换到Lab,修改一幅图像的颜色;/** color_transfer.cpp** Created on: May 21, 2018* Author: cui*/#include <opencv2/opencv.hpp>#include <opencv2/imgproc.hpp>using namespac...

2019-03-19 15:59:19 4626 1

原创 OpenCV使用陷波滤波器减少摩尔波纹 C++

陷波滤波器是更有用的选择性滤波器。陷波滤波器拒绝事先定义的关于矩形中心的一个邻域的频率。零相移滤波器必须是关于原点对称的,因此一个中心位于(u0,v0)的陷波在位置(-u0,-v0)必须有一个对应的陷波。陷波带阻滤波器可以用中心已被平移到陷波滤波器中心的高通滤波器的乘积来构造。一般形式为: ...

2019-03-18 15:21:50 8793 5

原创 OpenCV 频率域实现钝化模板、高提升滤波和高频强调滤波 C++

为什么要进行高频提升和高频加强?高频滤波后的图像,其背景平均强度 减小到接近黑色(因为高通滤波器滤除 了傅里叶变换的零频率成分: F(0,0)=f(x,y)=0)解决办法:把原始图像加到过滤后的 结果,如拉普拉斯算子增强,这种处理 称为高频提升过滤钝化模板(锐化或高通图像):从一幅图像减去 其自身模糊图像而生成的锐化图像构成。在频率 域,即从图像本身减去低通滤波(模糊)后的图 像...

2019-03-13 11:33:51 4075 2

原创 OpenCV 频率域的拉普拉斯算子 C++

我们已使用拉普拉斯算子对空间域图像进行了增强。现在在空间域实现它,并证明空间域和频率域技术是等效的。拉普拉斯算子在频率域的实现:或者关于频率域的中心,使用如下滤波器实现:D(u,v)是距离函数。然后拉普拉斯图像由下式得到:F(u,v)是f(x,y)的傅里叶变换。增强可用下式这里c = -1, 因为H(u,v)是负的。将图像都标定到0-1使用教材图...

2019-03-12 17:25:25 2881 1

原创 OpenCV 同态滤波 高斯高通 C++

概述https://blog.csdn.net/cyf15238622067/article/details/86657370文中介绍的入射分量和反射分量模型,可开发一种频域处理过程,通过压缩灰度范围和增强对比度来改善一幅图像的外观。频谱域同态滤波图像可以表示为照度和反射率的乘积:f(x,y) =i(x,y)r(x,y)现在定义:则有:或式...

2019-03-12 16:42:34 5044 5

原创 OpenCV C++使用高通滤波和阈值法增强指纹图像

《数字图像处理》冈萨雷斯 第三版中,P179有一个指纹增强的例子;先用opencv模拟实现:处理这个指纹图像 ,其污染是很明显的。自动指纹识别的关键一步是增强指纹的脊线并减小污染。使用高通滤波实现;脊线增强使用脊线包含高频这样一个事实来完成,而高通滤波不会改变高频;另一方面,滤掉了低频,而低频分量对应图像中慢变化的灰度,例如背景和污染。这样增强就可以同时减少高频外的所有特征来达到,...

2019-03-08 17:34:54 4822 1

原创 频率域滤波步骤小结

频率域滤波步骤小结1、给定一幅大小为M*N的输入图像f(x,y), 由P &gt;= 2M-1,Q &gt;= 2N-1;得到填充参数P,Q,典型的我们选择,P=2M,Q=2N;如果滤波的目的仅是粗糙的视觉分析,可以跳过此步骤;2、对f(x,y) 添加必要数量的0,形成大小为P*Q的图像 fp(x,y);3、用乘以fp(x,y)移到其变换中心;4、计算来自步骤3图像的DFT,...

2019-03-07 11:38:35 7688 1

原创 OpenCV C++频率域相角减半,幅值不变

在复数坐标系下,相角减半,幅值不变;画图如下:由倍角公式:令:则 所以 代码实现://将相角*0.5,幅值保持不变void half_angel(Mat &amp;complex_r, Mat &amp;complex_i, Mat &amp;dst){ Mat temp[...

2019-03-07 10:23:15 219 1

原创 数字图像处理中的卷积定理和傅里叶变换

首先将 t 所在域称为空间域,将 u 所在域称为频率域;一维卷积定理:解释:空间域中两个函数的卷积的傅里叶变换等于两个函数的傅里叶变换在频率域中的乘积;反过来,如果有两个变换的乘积,那么我们可以通过计算傅里叶反变换得到空间域的卷积;是傅里叶变换对;卷积定理的另一半如下,说明频率域的卷积和空间域相似二维卷积定理:表明,F(u,v)H(u,v)的 ID...

2019-03-06 14:54:09 9840 1

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关注的人

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