图像处理与计算机图形
文章平均质量分 88
Jackery_Shh
技术狂!
展开
-
Random Sample Consensus(RANSAC)算法介绍
转眼间2012年过了三个月了,最近在做目标跟踪,需要利用ransac算法进行图像匹配,使用Opencv+vs进行实现。终于初见成效啊,很激动也很兴奋,在这里mark一下,以备查用 !这里就不贴源码了,想想都是泪啊! RANSAC是“RANdom SAmple Consensus(随机抽样一致)”的缩写。它可以从一组包含“局外点”的观测数据集中,通过迭代方式估计数学模型的参数。它原创 2015-05-13 16:32:33 · 5877 阅读 · 1 评论 -
投影矩阵的推导(Deriving Projection Matrices)(转)
概述: 什么是投影? 计算机显示器是一个二维表面,所以如果你想显示三维图像,你需要一种方法把3D几何体转换成一种可作为二维图像渲染的形式。那也正是投影做的。拿一个简单的例子来说,一种把3D对象投影到2D表面的方法是简单的把每个坐标点的z坐标丢弃。原创 2015-05-25 14:38:46 · 5833 阅读 · 0 评论 -
BMP格式文件相关内容
BMP BMP是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因转载 2014-09-02 16:09:06 · 862 阅读 · 1 评论 -
3Dlut表相关知识
显示查找表(Look-Up-Table)简称为LUT,LUT LUT本质上就是一个RAM。它把数据事先写入RAM后,每当输入一个信号就等于输入一个地址进行查表,找出地址对应的内容,然后输出。LUT(Look-Up Table)实际上就是一张像素灰度值的映射表,它将实际采样到的像素灰度值经过一定的变换如阈值、反转、二值化、对比度调整、线性变换等,变成了另外一个与转载 2014-12-15 17:30:26 · 2574 阅读 · 0 评论 -
异构开发与异构编程(CUDA & GPU)
一定要注意能够使用GPU计算的程序必须具有以下特点:需要处理的数据量比较大,数据以数组或矩阵形式有序存储,并且对这些数据要进行的处理方式基本相同,各个数据之间的依赖性或者说耦合很小,需要复杂数据结构的计算如树,图等,则不适用于使用GPU进行计算。原创 2014-12-29 18:58:56 · 8007 阅读 · 4 评论 -
线性插值之双线性插值与三线性插值
转自:http://www.legalsoft.com.cn/docs/docs/17/267.html当你做纹理映射的时候,是否经常会注意到屏幕上显示出的那些明显锯齿,而且你用的纹理像素化得太明显了?现在,我们将谈论如何来解决这个问题,而我们使用的方法就是对你的纹理进行滤波。下面我们将介绍几种常用的滤波方法,最后再详细介绍双线性插值滤波的具体实现。Bi-linear Inte转载 2014-12-03 16:51:00 · 1279 阅读 · 0 评论 -
并行程序设计---cuda memory
CUDA存储器模型:GPU片内:register,shared memory;host 内存: host memory, pinned memory.板载显存:local memory,constant memory, texture memory, texture memory,global memory; register: 访问延迟极低; 基本单元:register file (32bit/each) 计算能力1.0/1.1版原创 2015-06-25 16:27:36 · 1401 阅读 · 0 评论 -
《GPU高性能编程CUDA实战》中代码整理
转自:点击打开链接CUDA架构专门为GPU计算设计了一种全新的模块,目的是减轻早期GPU计算中存在的一些限制,而正是这些限制使得之前的GPU在通用计算中没有得到广泛的应用。 使用CUDA C来编写代码的前提条件包括:(1)、支持CUDA的图形处理器,即由NVIDIA推出的GPU显卡,要求显存超过256MB;(2)、NVIDIA设备驱动程序,用于实现应用程序与支持CUDA的硬件之间的转载 2015-08-31 10:38:16 · 1554 阅读 · 0 评论 -
Intel Threading BuildingBlocks(Intel TBB)介绍
Intel Threading BuildingBlocks(Intel TBB)是一个使用ISO C++代码实现的多平台、可扩展并行编程库。下边首先给出一个免费版本的TBB下载链接:打开链接(1)what's Intel Threading BuildingBlocks(Intel TBB)? The Intel® Threading Building Blocks (Intel® TBB) library provides software developers with a s原创 2015-08-05 14:42:09 · 1545 阅读 · 0 评论 -
Mental Ray渲染--在摄像机动画中如何避免finalgather闪烁?
Final gathering 依赖于在finalgather点周围进行差值,以度量入射间接光照的光强。如果没有足够多的临近点,mental ray将自动增加一些。如果摄像机发生移动,这些临近点将加载不同的位置。如果部分场景很暗,或者照明的对比度较大,那么finalgather点的光照变化率就很高,这就可能导致画面闪烁。原创 2015-12-30 19:35:19 · 2247 阅读 · 0 评论 -
mental ray渲染引擎----环境映射
环境映射,有时又称为反射映射,是一项在无穷远的球体或立方体或者相似的闭合形体上,使用纹理映射的技术,并计算使用环境映射的物体反射它时的形状。闭合的形体自身并不是物体,它仅是抽象的,只计算分析观察方向与观察位置。 环境映射是局部效果,意味着只和使用环境映射的物体相关而与其他物体无关。事实上,环境映射连接到使用环境映射物体的材质上,这意味着两个不同的物体可以有不同的环境贴图,任意的物体都是这样。环境映射是真是反射的一种廉价选择。 这是光线跟踪反射场景中的其他物体,而环境映射不反射原创 2015-12-31 21:41:16 · 1800 阅读 · 0 评论 -
浅谈Mental Ray渲染引擎并行性机制
最近一段时间过的很充实,抽周末时间总结一下自己所学渲染技术的心得体会,希望可以帮助需要此知识的朋友,也作为备忘录以供查阅。在图形学领域,提高渲染效率及渲染时间,从而得到更好的交互体验,是每个技术人员应有的对技术精益求精的追求。对于多进程、多线程我们再熟悉不过了。在Mental Ray渲染引擎设计中,也引入了并行机制。从来快速取得照片般逼真的结果。在该引擎中,引入了两种并行机制:线程并行与网络并行。接下来对其进行简单的介绍:原创 2016-03-26 18:38:22 · 869 阅读 · 0 评论 -
BumpMap、NormalMap的区别
bump mapping是为了制作浮雕效果。(In 1978, James Blinn presented a method of performing what is called bump mapping. Bump mapping simulates the bumps or wrinkles in a surface without the need for geometric modif转载 2016-08-02 14:56:34 · 1678 阅读 · 0 评论 -
计算机图形学介绍
计算机图形学各个领域的目标或许不同,但最终的形式都是渲染(即绘制)在二维的显示设备上的图像。下面是一个简单(可能并不完全)的分类:计算机图形学-领域及分支:1 绘制1.1 真实感绘制(非实时)1.1.1 光线追踪(Ray-tracing)1.1.2 全局光照(Global Illumination)......1.2 实时绘制1.2.1 Shading(BRDF, Programmable Sha转载 2017-03-31 17:45:15 · 1633 阅读 · 0 评论 -
ps图像混合模式
在ps中,经常会进行图像混合,如叠加、正片叠底、柔光等模式,具体的算法实现方式如下:#define ChannelBlend_Normal(A,B) ((uint8)(A))#define ChannelBlend_Lighten(A,B) ((uint8)((B > A) ? B:A))#define ChannelBlend_Darken(A,B) ((u...翻译 2019-07-11 20:57:33 · 361 阅读 · 0 评论 -
矩阵因式分解(LU矩阵分解)与GSL实现
矩阵的因式分解是把一个矩阵A表示为两个或更多个矩阵的乘积,是将复杂的数据进行分解,其中有多种方法,例如:LU分解,秩分解,QR分解,奇异值分解,谱分解等。这里主要介绍对LU分解的认识。根据参考的书籍,这里的LU分解只限于一系列具有相同系数矩阵的线性方程:Ax=b1, Ax=b2, … , Ax=bp (1)当A为可逆矩阵时,可计算A-1,然后计算A-1 b1,A-1 b2,原创 2015-06-24 17:16:26 · 5269 阅读 · 0 评论 -
Deep Learning(深度学习)学习系列之(四)
Deep Learning(深度学习)学习笔记整理系列声明:1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献。2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢。4)阅读本文需要机器学习、计算机视觉、神经网络等等基础(如果没有也没关系了,没有就看看,能原创 2015-06-01 14:04:52 · 1071 阅读 · 0 评论 -
图像特征检测之Harris角点算法
图像检测是图像分割,图像识别的基础,也是不可缺少的关键。在视觉计算理论框架中,抽取二维图像的边缘、角点、纹理等基本特征,是整个框架的第一步;本文章对Harris角点算法做了比较详细的理论介绍以及相关实现。原创 2015-05-20 10:21:40 · 11825 阅读 · 1 评论 -
2D Transformations
关于2D的一些理论以及推导过程,详细描述了图像的平移、缩放以及旋转等;原创 2015-04-29 16:33:49 · 1288 阅读 · 0 评论 -
如何根据梯度重建原始图像以及图像重建常用算法?
在数字图像处理过程中,经常会遇到求梯度后,重新构建图像的问题。一般情况下,都是通过解泊松方程(还有其他方式重构图像,具体算法如下图所示,),利用拉普拉斯算子求解;但有一点请注意泊松方程求出的只是近似值,无法求出精确的原始值。 常用图像重建算法原创 2015-04-02 14:34:07 · 4601 阅读 · 4 评论 -
OpenGL学习笔记之法线向量
OpenGL学习笔记之法线向量需要注意的地方:1.使用glTranslate*函数或者glRotate*函数可以改变物体的外观,但法线向量并不会随之改变。然而,使用glScale*函数,对每一坐标轴进行不同程度的缩放,很有可能导致法线向量的不正确,虽然OpenGL提供了一些措施来修正这一问题,但由此也带来了各种开销。因此,在使用了法线向量的场合,应尽量避免使用glScale*函数。即使使用,也最好保证各坐标轴进行等比例缩放。2.还有一个地方就是,只能给顶点或者多边形定义法线向量,不可以对多边形的的原创 2014-12-30 12:01:12 · 4272 阅读 · 1 评论 -
Gamma曲线
问题:什么是Gamma曲线矫正?Gamma曲线矫正是什么意思?Gamma 曲线是一种特殊的色调曲线,当Gamma值等于1的时候,曲线为与坐标轴成45°的直线,这个时候表示输入和输出密度相同。高于1的Gamma值将会造成 输出亮化,低于1的Gamma值将会造成输出暗化。总之,我们的要求是输入和输出比率尽可能地接近于1。在显示器、扫描仪、打印机等输入、输出设备中这是 一个相当常见并且比转载 2015-01-12 15:41:03 · 2236 阅读 · 0 评论 -
【3D图像生成算法的原理】
2.隐藏面消除 全屏幕Z-Buffer(深度缓存器)算法已成为图形学事实上的标准隐藏面消除算法,他虽然简单但存储要求很高。Z-Buffer算法可看作是工作在三维屏幕空间。每一个象素有一个二维屏幕空间坐标( xs , ys )和由眼睛空间顶点的深度值插值而得到的z深度值。深度缓存器开始时被初始化为远处裁剪平面的深度,对每一个象素比较其插值得到的深度值与已存储在深度缓存中( xs , ys )处的值,如果该值小于存储值,则新计算的象素更靠近观察者。这时新计算的象素的明暗处理值将覆盖帧缓存中的旧值,深度存储器中转载 2015-01-07 18:32:58 · 5636 阅读 · 0 评论 -
【调色】完整LUT解释说明
什么是LUT?我们业内在LUT的应用方面有着许多混乱的认识,很多人会把LUT看成是一种“黑魔法”,然而实际上它们是再正常不过的东西。因此为了帮助大家了解LUT的定义和工作原理,本文将会尽可能详细地为大家讲述LUT以及它的应用,包括用于校准的技术的LUT和创意Look LUT之间的不同。LUT定义LUT基本上就是一些转换模型,或者说是不同的组合,它的两种主要分支是1D L转载 2014-12-15 18:38:11 · 7684 阅读 · 1 评论 -
ACES颜色空间
开发ACES项目原因在影片制作中,胶片不再是基本的交换格式以数字形式进行未完成的图像交换需求不断增加存在太多、太多件的格式和编码表现存标准已经过时,几乎没有实现元数据(metata)的交换ACES的主要组成部分Well-specified 16 bit image color enc翻译 2014-10-21 13:41:57 · 6650 阅读 · 0 评论 -
Bilateral Filtering(双边滤波)算法研究
1. 简介图像平滑是一个重要的操作,而且有多种成熟的算法。这里主要简单介绍一下Bilateral方法(双边滤波),这主要是由于前段时间做了SSAO,需要用bilateral blur 算法进行降噪。Bilateral blur相对于传统的高斯blur来说很重要的一个特性即可可以保持边缘(Edge Perseving),这个特点对于一些图像模糊来说很有用。一般的高斯模糊在进行采样时主要考虑了像素间的空间距离关系,但是却并没有考虑像素值之间的相似程度,因此这样我们得到的模糊结果通常是整张图片一团模糊。Bila原创 2015-05-27 11:15:59 · 3874 阅读 · 1 评论 -
GPU & CPU编程
GPU除了用处图形渲染领域外,还可以用来做大规模的并行运算,这里我们称其为GPGPU(General Purpose GPU);GPGPU计算通常采用CPU+GPU异构模式,由CPU负责执行复杂逻辑处理和事务管理等不适合数据并行的计算,由GPU负责计算密集型的大规模并行计算。比如医学上对图像进行重建、解大规模方程组等,接下来让我们进入GPU高性能运算之CUDA的世界吧!CUDA编程:原创 2015-05-27 09:40:42 · 2868 阅读 · 6 评论 -
Deep Learning(深度学习)学习系列之(五)
Deep Learning(深度学习)学习笔记整理系列声明:1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献。2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢。4)阅读本文需要机器学习、计算机视觉、神经网络等等基础(如果没有也没关系了,没有就看看,原创 2015-06-01 14:06:13 · 1120 阅读 · 0 评论 -
Deep Learning(深度学习)学习系列之(八)
Deep Learning(深度学习)学习笔记整理系列声明:1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献。2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢。4)阅读本文需要机器学习、计算机视觉、神经网络等等基础(如果没有也没关系了,没有就看看,原创 2015-06-01 14:12:01 · 1439 阅读 · 0 评论 -
Deep Learning(深度学习)学习系列之(一)
Deep Learning(深度学习)学习笔记整理系列http://blog.csdn.net/gggg_ggg?viewmode=contents 声明:1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献。2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正原创 2015-06-01 13:53:26 · 1545 阅读 · 0 评论 -
Deep Learning(深度学习)学习系列之(六)
Deep Learning(深度学习)学习笔记整理系列声明:1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献。2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢。4)阅读本文需要机器学习、计算机视觉、神经网络等等基础(如果没有也没关系了,没有就看看,原创 2015-06-01 14:08:05 · 1076 阅读 · 1 评论 -
Deep Learning(深度学习)学习系列之(二)
Deep Learning(深度学习)学习笔记整理系列声明:1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献。2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢。4)阅读本文需要机器学习、计算机视觉、神经网络等等基础(如果没有也没关系了,没有就看看,能原创 2015-06-01 14:00:02 · 1243 阅读 · 0 评论 -
cuda并行编程之求解ConjugateGradient(共轭梯度迭代)丢失dll解决方案
在进行图像处理过程中,我们经常会用到梯度迭代求解大型现在方程组;今天在对奇异矩阵进行求解的时候,出现了缺少dll的情况;报错如下图:缺少cusparse32_60.dll缺失cublas32_60.dll解决方案:(1)将cusparse32_60.dll和cublas32_60.dll直接拷贝到C:\Windows目录,但这样在一直的时候,还会出现同样错误,为了避免麻烦,最好采用方法(2)(2)将cusparse32_60.dll和cublas32_60.dll拷贝到你所在项目的文件目录原创 2015-06-23 19:28:46 · 2375 阅读 · 0 评论 -
Deep Learning(深度学习)学习系列之(三)
Deep Learning(深度学习)学习笔记整理系列声明:1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献。2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。3)本人才疏学浅,原创 2015-06-01 14:03:01 · 1429 阅读 · 0 评论 -
Deep Learning(深度学习)学习系列之(七)
Deep Learning(深度学习)学习笔记整理系列声明:1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献。2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢。4)阅读本文需要机器学习、计算机视觉、神经网络等等基础(如果没有也没关系了,没有就看看,原创 2015-06-01 14:11:04 · 1574 阅读 · 0 评论 -
图片位深&位图
我们知道在图像中,各像素的颜色信息是用二进制位数来描述的。颜色位深度就是指存储每个像素所用的二进制位数,图像的颜色位深度直接影响它能支持的颜色数。如果用a来表示图像的颜色位深度,那么该图像能够支持的颜色数为2的a次方。图像的颜色位深度通常有1位、4位、8位、16位和24位之分。1位的图像最多可由两种颜色组成 在1位图像中 每个像素的颜色只能是黑或白 一个8位转载 2014-11-25 11:11:08 · 4050 阅读 · 0 评论