- 博客(445)
- 资源 (9)
- 收藏
- 关注
原创 实现二值图像连通区标记之区域生长法
连通区标记是最基本的图像处理算法之一。该算法中,按从左至右、从上至下的顺序,对整幅图像进行扫描,通过比较每个前景像素的邻域进行连通区标记,并创建等效标记列表。最后,合并等效标记列表,并再次扫描图像以更新标记。算法的优点的是通俗易懂,缺点是需要两次扫描图像,效率不高。区域生长法利用区域生长的思想,一次生长过程可以标记一整个连通区,只需对图像进行一次扫描就能标记出所有连通区。
2014-05-18 00:06:01 5956
原创 图像融合算法(归纳篇)
综合关注几篇papers的图像融合算法,对整个过程作归纳,与大家分享(^_^)。基于sift特征的全景拼接方法的整个过程的大致流程:对需拼接的图像进行预处理,提取图像SIFT特征点描述算子,进行特征匹配,得到特征匹配对,匹配提取,得到鲁棒的特征匹配对和进行图像融合。
2014-05-03 10:19:18 37647 3
原创 图像肤色初步检测实现
肤色检测输出结果中有许多瑕疵,待于进一步处理(如:滤波操作.....)。在此贴出几种图像肤色检测相关代码,供大家参考。
2014-05-02 09:03:22 3388 2
原创 机器学习(ML)中文视频教程
本节是李政軒Cheng-Hsuan Li的关于机器学习一些算法的中文视频教程。讲得很好不错。这里非常感谢他的分享:http://www.powercam.cc/chli。也贴到这里,和大家共同学习。
2014-05-02 01:14:16 6970
原创 基于直方图的图像二值化算法实现
图像二值化的目的是最大限度的将图象中感兴趣的部分保留下来,在很多情况下,也是进行图像分析、特征提取与模式识别之前的必要的图像预处理过程。在过去年里受到国内外学者的广泛关注,产生了数以百计的阈值选取方法,但如同其他图像分割算法一样,没有一个现有方法对各种各样的图像都能得到令人满意的结果。在分类方法中,基于直方图的二值算法都从不同的科学层次提出了各自的实施方案,并且这类方法都有着一些共同的特点:简单、算法容易实现和执行速度快。
2014-05-01 21:15:44 4557
原创 博客说明
欢迎大家评论文章, 我会耐心解答. 本博客会经常更新, 所有原创文章, 都是亲自所写, 如有好的建议等请站内联系. 主要关于讲解Image Processing(IP),Image Analysis(IA),Data Hiding(DH), Pattern Recognition(PR), Computer Vision(CV) && Machine Learning(ML)的一些知识,希望结识更多志同道合的朋友, 同学. 艺无止境, 与君共勉. 欢迎大家提供有意义的评论. 希望和大家共同进步. 同时,提
2014-04-28 21:33:03 1455
原创 图像的形态学处理
数学形态运算中,最常见的基本运算有七种, 分别为:腐蚀、膨胀、开运算、闭运算、击中、细化和粗化, 它们是全部形态学的基础。腐蚀和膨胀,看上去好像是一对互逆的操作,实际上,这两种操作不具有互逆的关系。 开运算和闭运算正是依据腐蚀和膨胀的不可逆性,演变而来的。 先腐蚀后膨胀的过程就称为开运算。 闭运算是通过对腐蚀和膨胀的另一种不同次序的执行而得到的, 闭运算是先膨胀后腐蚀的过程,其功能是用来填充物体内细小空洞、连接邻近物体、平滑其边界, 同时不明显改变不明显改变其面积。
2014-04-26 22:13:02 2365
原创 Visual C++:error C2664: 'GetModuleFileNameW' : cannot convert parameter 2 from 'char' to 'LPWCH'
A lot of the "functions" of the Windows API are actually macroes to either the ANSI (A) or Unicode (W for wide) version of the function. Depending on your project settings, these macroes will be eit
2014-04-12 20:25:57 3508
原创 贝叶斯(Bayes)决策理论
在博文【模式识别PR和模式的概念】介绍了相关的模式识别与模式的概念。在本节描述所要讨论的问题之前,再提一下对于待识别的物理对象的描述问题。假设一个待识别的物理对象用其d个属性观察值描述,称之为d个特征,这组成一个d维的特征向量,而这d维待征所有可能的取值范围则组成了一个d维的特征空间。一般地,机器实现自动分类有两大类方法:一种是模板匹配方法,另一种是对特征空间划分为子空间(每类的势力范围)的方法。
2014-04-12 10:34:28 33720 16
原创 实现图像pyramids
''' file name : pyramids.pyDescription : This sample shows how to downsample and upsample images'''import cv2import numpy as npimg = cv2.imread('test.jpg')print " Zoom In-Out demo "print " Pre
2014-04-08 20:51:03 1923
原创 模拟Matlab显示图像的效果
VisualTool.h头文件,VisualTool.cpp...关于Image Engineering & Computer Vision的更多讨论与交流,敬请关注本博和新浪微博songzi_tea.
2014-04-06 18:15:05 2598
原创 IplImage与BMP相互转换
在windows编程中,很多图片信息,都是基于windows系统所谓的DIB(设备无关位图)的结构,其定义在结构体 BITMAPINFOHEADER 中。本方法可以讲 windows 定义的DIB 结构和Opencv内部定义的IPLImage结构做相互转化。
2014-04-06 14:13:04 2125
原创 利用OpenCV鼠标控制窗口大小
功能程序:使用鼠标控制三个窗口的放大与缩小。在此不附上运行结果效果图,若需体验其效果如何,可以自己动手copy参考代码,运行试试一下看。
2014-04-06 09:17:48 3413
原创 模式识别PR和模式的概念
模式识别这个词就显得陌生而难以理解了。确切地说,模式识别在这里是针对让计算机来判断事物而提出的,如检测病理切片中是否有癌细胞,文字识别,话语识别,图像中物体识别等等。该学科研究的内容是使机器能做以前只能由人类才能做的事,具备人所具有的、对各种事物与现象进行分析、描述与判断的部分能力。所见的具体事物是样本,而它们所属的事物类别,代表这些事物的“概念”是模式.
2014-04-05 23:39:54 5648
原创 图像膨胀与腐蚀实现
膨胀(dilation)可以看做是腐蚀的对偶运算,其定义是:把结构元素B平移a后得到Ba,若Ba击中X,我们记下这个a点。所有满足上述条件的a点组成的集合称做X被B膨胀的结果。用公式表示为:D(X)={a | Ba↑X}=X B,图1.膨胀的示意图如图1所示。图1中X是被处理的对象,B是结构元素,不难知道,对于任意一个在阴影部分的点a,Ba击中X,所以X被B膨胀的结果就是那个
2014-03-22 00:04:50 2582
原创 k-近邻算法(kNN)
k-近邻(k Nearest Neighbors)算法采用测量不同特征之间的距离方法进行分类。它的工作原理是:存在一个样本数据集合,并且样本集中每个数据都存在标签,即我们知道样本每一数据与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据的分类标签。一般来说,我们只选择样本数据集中前k个最相似的数据,这就是k-近邻算法中k的出处,通常k是不大于20的整数。最后,选择k个最相似数据中出现次数最多的分类,作为新数据的分类。k-近邻算
2014-03-16 14:11:33 3198
原创 机器学习基础
本节主要介绍机器学习(Machine Learning ML)的简单概述,主要任务以及学习ML的原因相关知识。机器学习就是把无序的数据转换有用信息,如:对于垃圾邮件的检测。机器学习目的是能让我们自数据集中受到启发,换句话说,我们会利用计算机来彰显数据背后的真实含义,这才是机器学习的真实含义。机器学习的主要任务是帮助我们将机器学习算法转化为可实际运作的应用程序,即将实例数据划
2014-03-07 23:03:38 2413
原创 直方图模板(HOT)分析
Histogram of Template(HOT)主要是针对图像中的每一个像素,进行各种样板的定义,每个样板包括了此像素及其相邻二个像素。如果这样一个三个像素组成的测试单元在特点和梯度值上满足预设的方程,那么称此中心像素为这个方程的一个样板。这种技术的主要特点和优势在于不仅仅针对一个像素,而是同时考虑三个像素之间的关系。同时,考虑了像素本身的特性和梯度。对于人物识别的主要的识别方法有两种,即:提取特点和瞄准识别。提取特点是人物识别技术正被广泛使用,但目前仍有许多难题,最为显著的三个问题。第一、 人物呈现的
2014-03-02 16:08:04 3103 5
原创 二维高斯核实现
因在工程中,要求代码可移植性,经常是用纯C写的。下面代码是计算2-D高斯核,然后将计算得到的2-D高斯核可以用来对图像进行高斯滤波。/* * Eclispe CDT */#include #include #include #include const double eps=1e-6;class GuassianKernel{private: int i,j,k;
2014-02-25 20:21:33 4037
原创 程序基石系列之重载, 覆盖和隐藏
重载(overload)指函数名相同,但是它的参数表列个数或顺序,类型不同。但是不能靠返回类型来判断。(1)相同的范围(在同一个作用域中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。(5)返回值可以不同重写(override,也称覆盖)指派生类
2014-02-23 19:12:15 1644
原创 C++ --Do the Untwist
BackgroundCryptography deals with methods of secret communication that transform a message (the plaintext) into a disguised form (the ciphertext) so that no one seeing the ciphertext will be able to
2014-02-22 20:39:24 1390
原创 程序基石系列之C++运行时类型转换(Runtime Cast)
通过pointer或reference来决定对象运行时类型的一种方法是使用运行时类型转换(runtime cast),用这种方法可以查证所尝试进行的转换正确与否。当要把基类pointer转换为派生类型时,这种方法非常有用。由于inheritance的层次结构的典型描述是基类在派生类之上,所以这种类型转换也称为向下类型转换(downcast).在下面的程序代码中,Investment类有一个其他
2014-02-22 17:01:34 1930
原创 程序基石系列之Virtual Funcation and Overload
参考部分代码如下:..............class A {private: int i;public: virtual void vfoo(){ cout<<"Base"<<endl; } A():i(0){ cout<<"i:"<<i<<endl; cou
2014-02-21 20:57:33 1945
原创 SKB特征提取(理解篇)
该文中特征描述子是与BRIEF特征提取类似,也是提出一种二进制编码的描述子。其算法产生过程如下所示:选择以特征点邻域(12x12正方形)作为描述区域。选定描述区域中固定的16个点。对每个点分别用16中不同的滤波器进行作用(有的用于角点检测,有的用于边缘检测),共得到16x16=256个响应(每个响应的具体内容为:若滤波器作用结果的值大于某阈值,则响应为1,否则为0),即256位的二
2014-02-12 17:37:37 3420
原创 程序基石系列之自动调用析函数
当对象超了它的作用域时,编译器将自动调用析函数。即在对象的定义点处构造函数被调用,但析函数调用的惟一证据是包含此对象的右括号。/* * Constructors &Destructors * Eclispe CDT */#include using namespace std;class Tree{ int height;public: Tree(int initial
2014-02-12 16:38:17 1240
原创 二值图像信息隐藏
二值图像信息隐藏的方法是把一个二值图像分成一系列矩形图像区域B,某个图像区域B中黑色像素的个数大于一半,则表示嵌入0,如果白色像素的个数大于一半,则表示嵌入1,但是当需要嵌入的比特与所选区域的黑白像素的比例不一致,为了达到与像素关系,刚需要修改一些像素的color.此方法的缺点是没有明确界定哪些像素可以修改以便于隐藏秘密信息,二值图像中某些像素的修改可能会引起二值图像视觉效果上的较大变化,相应的水印嵌入算法可能在较大程度上破坏图像质量。
2014-02-12 14:23:50 8675 4
原创 程序基石系列之拷贝构造
当需要用同类的对象来创建一个新的对象的时候,那个类的拷贝构造函数就会被调用来构造这个对象。#include using namespace std;static int objectCount =0;class HowMany{public: HowMany(){objectCount++;print("HowMany()");} HowMany(int i){ objectC
2014-02-08 20:28:14 1485
原创 LSB图像信息隐藏
替换技术就是利用人的感观系统对特定的随机noise不敏感原理,通过使用秘密信息比特替换随机noise,从而实现信息隐藏。图像高位平面对图像感官质量起主要作用,去除图像最低几个位平面并不会造成画面质量的明显下降。利用这个原理可用水印信息替代载体图像低位平面以实现信息嵌入。本算法选用最低位平面来嵌入水印信息。最低位平面对图像的视觉效果影响最轻微,但很容易受noise影响和攻击,可采用冗余嵌入的方式来增强robustness加以解决,即在一个区域中嵌入相同的信息,提取时根据此区域中的所有像素判断。在此,贴出隐藏算
2014-02-06 22:15:55 19725 8
原创 图像信息隐藏与水印
图像信息隐藏与数字水印领域研究最多和最早的一种载体,近年来,比较成熟的隐藏和水印算法都是基于图像载体。即:在时域隐藏方法:LSB图像信息隐藏,二值图像信息隐藏,其次,在变换域隐藏方法:DCT域图像水印。信息隐藏 (Information Hiding)主要由下述两部分组成 :(1 )信息嵌入算法 ,它利用密钥来实现秘密信息的隐藏 。 (2 )隐蔽信息检测 /提取算法 (检测器 ) ,它利用密钥从隐蔽载体中检测 /恢复出秘密信息 。在密钥未知的前提下 ,第三者很难从隐秘载体中得到或删除 ,甚至发现秘密信息 。
2014-02-06 20:48:54 7453 1
原创 实现图像的矩形与轮廓
实现图像中最小面积的矩形,适合椭圆形的轮廓。参考代码如下所示:import cv2import numpy as npdef thresh_callback(thresh): global contours edges = cv2.Canny(blur,thresh,thresh*2) drawing = np.zeros(img.shape,np.uint8
2014-02-01 10:15:22 3411
原创 简单地实现图像坐标的信息
实现图像坐标的信息,比较简单,如下参考代码所示:from PIL import Imagefrom pylab import *im = array(Image.open('test.jpg'))imshow(im)print 'Please click 3 points'x =ginput(3)print 'you clicked:',xshow()
2014-02-01 09:56:17 1994
原创 用于测量OpenCV的API
利用python实现用于测量Opencv的API的参考代码如下所示:from glob import globimport cv2import reif __name__ == '__main__': cv2_callable = set(['cv2.'+name for name in dir(cv2) if callable( getattr(cv2, name) )])
2014-02-01 09:47:03 2251
原创 快速近似SIFT特征提取(提升篇)
该[1]文中是由M Grabner, H Grabner在ACCV2006上提出对SIFT作了彻头彻尾的近似处理,在略降低精度的情况下,大幅度提高运行速度。该算法的主体框架与SIFT一致,但在每一步都做了近似处理,变卷积运算为求平均、减少旋转变换运算,大量使用动归预计算,减少对特征点的精确修正,在SIFT中耗时的瓶颈作了很大突破。值得注意的是算法虽然用了大量近似处理,但依然取得不错的效果
2014-01-22 19:56:34 5594 4
转载 关于人脸检测与识别的API、库和软件
There has been a lot of buzz around Face Recognition since Google Glass was announced. We believe that face recognition will open up a ton of possibilities in how we interact not just with each oth
2014-01-22 14:37:13 4443
转载 机器学习的学习资源
在网上看到关于一篇ML的blog,很不错,转载过来共勉.即:2013年11月27日jasonb Machine Learning 101, Resources 《Best Machine Learning Resources for Getting Started 》,很巧是Jason Brownlee翻译成了中文(译文链接: http://blog.jobbole.com/562
2014-01-21 22:30:42 2878 1
深度学习课程信息图
2018-09-02
C中的继承和多态
2015-11-06
A survery of steganographic techniques
2009-12-17
Schriftenreihe Information und Recht
2009-12-17
Networking for Computer Games
2009-12-11
Multimedia Forensics and Security
2009-11-30
Random forests(Leo Breiman)
2009-11-22
Mesh Generation(Mark Filipiak)
2009-11-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人