
图像处理
60荷兰盾
这个作者很懒,什么都没留下…
展开
-
视频时空域去噪算法
最近刚刚接触视频去噪,把接触的基本知识和论文稍作总结,如有错误,不吝指教~ 视频序列去噪方法基本上可以分为空间域、频域、小波域、时域、时-空域和色彩域去噪.空间域就是视频的每一帧,相当于把视频看做一系列图像的集合,然后分别对每幅图像进行去噪。针对图像去噪的的算法那是相当的多,是不是移到图像中就可以了呢?答案是否定的,因为视频毕竟是视频,我们每一帧的处理速度要非常快,视频才不会卡顿。此外,原创 2013-07-17 15:58:19 · 4964 阅读 · 2 评论 -
图像双线性插值
在图像缩放中我们经常采用双线性插值的算法。要是针对缩放2倍这种特殊情况,实现起来就没有这么麻烦了,还可以直接抽取或者复制行和列。在复制行列的时候还有个实现的技巧,就是把目标图像的坐标除以2,得到原图像的坐标值,将源图像的像素值复制过来就行了。//直接复制行列,将图像放大一倍void PyrUp1( IplImage *orgImg, IplImage *destImg ){ const原创 2013-07-17 10:34:40 · 1488 阅读 · 0 评论 -
拉普拉斯 锐化
拉普拉斯锐化是一种很常见的图像增强技术,其实现简单,效果杠杠滴。在《数字图像处理》这本绿宝书中讲的很透彻,本文不打算详细讲解了,作为粗略的总结。拉普拉斯锐化跟高斯滤波等都是相似的,拉普拉斯也有一个模板,就像高斯的模板一样。通过这个模板在图像中处理一遍后,就锐化了!0101-41010(1)这个模板只考虑4邻域原创 2013-07-22 08:54:32 · 3422 阅读 · 0 评论 -
GLSL着色器实现高斯滤波代码
刚开始学习GLSL的时候,感觉非常痛苦,资料非常少是一个原因,更重要的原因就是没有现成的可运行的代码可以,后来在ARC公司实习花了一个月吧,终于对GLSL作为加速计算的方面的知识有了一定的了解。感谢ARC,感谢我的师傅兼师兄孙XX!我所做的工作并不是用GLSL实现各种绚丽的图形渲染,而是用它做图像处理和加速运算。这里有一些小的注意事项,1.我们处理图像的时候一般是把图像载入纹理缓冲,当原创 2013-07-29 14:17:47 · 6279 阅读 · 0 评论 -
GLSL乒乓技术
如果算法有多个步骤,一个步骤的计算结果是下一个步骤的输入数据,那么就可以使用乒乓技术(Ping Pong)。有些缓存在前一个步骤可能是作为输入的缓存,然后下一个步骤中,这个输入的缓存又当做输出的缓存,从这个描述中大家可以看到,这种技术适合在循环里面实现,而且缓存的利用效率也大大提升了。关于乒乓技术的更详细的讲解,请参考下面的链接。这篇博客的实现目的就是简单的使用乒乓技术,其原理见下图,我把一幅原创 2013-07-31 11:02:27 · 2172 阅读 · 0 评论 -
并行计算与GLSL的一些总结
并行计算模型:指令并行:指令并行简单的说就是流水线技术,通过使用多流水线来达到并行的效果,其实在特定的时间片内,处理器每次还是只能处理一个线程,我觉得这个可以理解为微观上的串行,宏观上的并行,实质还是伪并行。数据并行:指多个不同的数据同时被相同的指令、指令集或者算法处理。这和GPU并行的概念是相同的。这样的话我们可以把每个处理器设计的很简单,因为都可以运行相同的指令和算法,相互之间的协调和原创 2013-08-20 10:33:41 · 2709 阅读 · 0 评论 -
GLSL着色器实现多重纹理与帧缓冲对象(FBO)
还记得我前面几篇博客上写的东西都是将纹理直接渲染到屏幕上,就是产生一个和纹理尺寸大小相同的窗口进行渲染,那么渲染完了就正好完整的显示了纹理图案。但是在做数值计算的时候,一般是不需要输出到屏幕上的,这就是今天我们要用到的帧缓存。有了帧缓存,我们的输出不需要是屏幕了,而是直接输出到帧缓存中去。而且帧缓冲区对象的使用还会对程序的性能有一定提升那么帧缓冲对象到底是个什么东西呢?首先帧缓冲区你可以理解为原创 2013-07-30 11:02:11 · 4030 阅读 · 0 评论 -
sift算法的笔记 sift的gpu加速及相关资料汇总
SIFT算法简介 SIFT算子是一种图像的局部描述子,具有尺度、旋转、平移的不变性,而且对光照变化、仿射变换和3维投影变换具有一定的鲁棒性[1]。在Mikolajczyk(在参考文献中有个下载链接,包括了这些论文,0积分)对包括SIFT算子在内的十种局部描述子所做的不变性对比实验中,SIFT及其扩展算法已被证实在同类描述子中具有最强的健壮性[3]。 SIFT算法的主要思想是在尺原创 2013-08-26 13:39:09 · 3814 阅读 · 2 评论 -
GLSL基础知识
openGL着色语言(GLSL)简单的说就是openGL中定义的子语言,专门用来编写着色器的。GLSL作为opengL的组成部分是在openGL2.0这个版本中加进去的。大家也许对着色器也并不陌生了,(如果陌生的话,维基一下)那么我们为什么要自己编写着色器呢?opengL提供的传统渲染模型就能够被我们一般的程序所使用,而不需要自己去沾上GLSL。虽然GLSL并不是太难,但是要是学习一门新的小语言,原创 2013-06-27 10:31:18 · 2915 阅读 · 4 评论 -
大津法(otsu),中间像素统计法,kittler全局阈值图像二值化
图像的二值化有很多方法,这里介绍的三种是全局阈值的二值化方法。这里给个原图:1.大津法最大类间方差法是由日本学者大津展之于1979年提出的,是一种自适应的阈值确定的方法,又叫大津法,简称OTSU。它是按图像的灰度特性,将图像分成背景和目标两部分。背景和目标之间的类间方差越大,说明构成图像的两部分的差别越大,当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小。因此,使原创 2013-06-25 13:57:22 · 7374 阅读 · 0 评论 -
CImage类简介与使用
CImage类简介与使用CImage类的成员可分为连接与创建、输入与输出、位图类型与参数,以及图形绘制与位图块传送等4类。(1) 连接与创建Attach 将一个DIB(或DDB)位图与CImage对象相连接Detach 位图与CImage对象相分离Create 创建一个DIB位图并将它与已有CImage对象相连接Destroy 位图与Cimage对象相分离并转载 2012-05-07 16:26:01 · 1597 阅读 · 0 评论 -
CImage类3
前言 CImage类是基于GDI+的,但是这里为什么要讲归于GDI? 主要是基于这样的考虑: 在GDI+环境中,我们可以直接使用GDI+ ,没多少必要再使用CImage类 但是,如果再GDI环境中,我们要想使用GDI+,有点麻烦,还得加转载 2012-05-08 10:02:38 · 1007 阅读 · 0 评论 -
基于内容的图像检索概述
基于内容的图像检索概述摘要:我们现在处于信息爆炸的时代,各种海量信息充斥在我们周围,如何能在海量的数据中搜索到我们想要的图像是个很有挑战性的研究课题。本文简要分析了目前基于内容的图像检索(CBIR)的几种主要方法,如颜色,纹理,语义和综合多特征等。最后还对基于内容图像检索的未来进行展望。关键词:CBIR;图像检索;颜色;语义1引言我们目前搜索信息主要是利用文本搜索,现在这种技术已经原创 2012-11-22 16:34:51 · 4201 阅读 · 4 评论 -
使用灰度共生矩阵获取纹理(GLCM)
图像的纹理是图像的特征,很多初学者不太了解纹理的概念。其实纹理有广义和狭义之说,先说狭义的。狭义的纹理指的是图像的条纹,比如说墙面的图片,有很多有规律的砖块组成。这些有规律的砖块的排列就是纹理。广义的纹理范围比较大,图像的一切特征都可以称之为纹理,比如说平均灰度,方差等等。我们通常就提取我们所感兴趣的纹理特征进行使用。以下是一个很不错的tutorial,讲的不错!http://www.fp.uca原创 2013-01-10 15:11:04 · 2525 阅读 · 0 评论 -
opengl 使用soil读入bmp图像作为纹理
注意代码中要添加依赖库!!。soil还是非常好用的,下载地址网上有,注意版本,在不同的文件中有对应的vs的版本// TextureTest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include #include static GLuint texture; //装载原创 2013-05-09 15:09:39 · 2066 阅读 · 1 评论 -
GL_TEXTURE_WRAP系列参数的取值
在使用纹理的时候,有时候会出现超过纹理边界的问题,GL_TEXTURE_WRAP系列参数用来设置当这些超出边界时应该怎样处理。下面结合代码和代码产生的结果进行说明每个参数的作用。代码基于红宝书——《opengl编程指南》7th上的代码,自己再稍微改改,用来产生各种效果。#include "stdafx.h"#include #include #define checkImageWi原创 2013-06-05 09:11:48 · 5128 阅读 · 0 评论 -
查看opengl扩展的代码
利用下面的代码可以查看opengl的扩展,注意glew的初始化顺序:// test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include using namespace std; int main( int argc, char *argv[] ) { glutInit(原创 2013-06-18 15:29:45 · 1209 阅读 · 0 评论 -
GLSL橙宝书中简单的着色器代码
这是橙宝书《opengl着色语言》提供的源代码,我对其进行了修改,以便可以运行。原来的程序是不完整的,很难运行。// shader_book.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include const GLint screenWeight=800,screenHei原创 2013-06-18 15:41:39 · 2237 阅读 · 0 评论 -
Hough变换原理
一、简单介绍Hough变换是图像处理中从图像中识别几何形状的基本方法之一。Hough变换的基本原理在于利用点与线的对偶性,将原始图像空间的给定的曲线通过曲线表达形式变为参数空间的一个点。这样就把原始图像中给定曲线的检测问题转化为寻找参数空间中的峰值问题。也即把检测整体特性转化为检测局部特性。比如直线、椭圆、圆、弧线等。二、Hough变换的基本思想设已知一黑白图像上画了一条直线,要求出这转载 2013-10-12 22:17:11 · 2160 阅读 · 0 评论