
图像处理
文章平均质量分 66
cxf7394373
这个作者很懒,什么都没留下…
展开
-
彩色图像灰度化
在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。一般有以下四种方法对彩色图像进行灰度化: 1.分量法将彩色图像中的三分量的亮度作为三个灰度图像的灰度值,可根据应用需要选取一种灰度图像。 f1(i,j)=R(i,j) f2(i,j)=G(i原创 2010-04-25 09:25:00 · 3525 阅读 · 0 评论 -
HOG(方向梯度直方图)
结合这周看的论文,我对这周研究的Histogram of oriented gradients(HOG)谈谈自己的理解:HOG descriptors 是应用在计算机视觉和图像处理领域,用于目标检测的特征描述器。这项技术是用来计算局部图像梯度的方向信息的统计值。这种方法跟边缘方向直方图(edge orientation histograms)、尺度不变特征变换(scale-invarian转载 2014-03-14 10:10:42 · 2264 阅读 · 0 评论 -
cvFindContours 获取轮廓中的所有点
利用cvFindContours 函数计算图像的轮廓,获取原创 2014-04-16 18:27:32 · 15747 阅读 · 3 评论 -
opencv 旋转图片
没什么好说的,直接上代码旋转参数: angle 旋转的角度 clockwise = false 逆时针旋转 = true 顺时针旋转*/// clockwise 为true则顺时针旋转,否则为逆时针旋转IplImage* CPreprocessImage::rotateImage(const IplImage* src, int angle, bool c转载 2012-03-31 14:36:45 · 1777 阅读 · 0 评论 -
图像分割
1.基于金字塔的方法2.基于边缘de原创 2014-04-28 11:21:45 · 1946 阅读 · 0 评论 -
边缘方向直方图
int calEdgeHistogram(IplImage *image,IplImage * dst,double * edge_hist_feature){ if(NULL == image || NULL == edge_hist_feature) return 1; CvHistogram *hist = 0; // 直方图 IplImage* canny;//边缘图像原创 2014-04-28 10:55:40 · 5717 阅读 · 0 评论 -
颜色聚类
/***********************聚类操作*******************************///图像进行颜色聚类//输入:灰度图像//输出:颜色聚类结果图片、聚类标签矩阵int color_cluster(IplImage * src,IplImage * dst,int * class_mat){ if(src == NULL || dst == NULL原创 2014-06-04 09:57:05 · 4614 阅读 · 1 评论 -
图像二值化算法总结
回首前尘,尽是可耻的的往事。每当想起这句话,心里惶惶不可终日,兴趣驱动的学习乐在其中,项目驱动的学习不可不为,压力驱动的学习无疾而终。抛去胡乱YY的国际风雨,社稷民生,我们终究要扎扎实实的度过人生的每个阶段! 2010年的很长时间都在做图像二值化算法方面的工作,看了一些论文,总结了一些算法,总的来说,在这方面的算法特别多,大致可以分成两类,全局阈值二值化和局部阈值二值化。下面链接了比原创 2011-04-20 10:29:00 · 24699 阅读 · 3 评论 -
【二值化】Otsu算法
Otsu算法对图像进行二值化,核心就是计算背景和前景的最大类间方差,把类间方差最大的像素值作为全局二值化的阈值二值化实现程序%matlab程序G = imread('IMG_0019.JPG');I = rgb2gray(G);[m,n] = size(I);Hist = zeros(255);%直方图dHist = zeros(255);variance = zeros(2原创 2010-04-25 09:30:00 · 13376 阅读 · 6 评论 -
【二值化】sauvola算法实现
实现了sauvola算法,原论文去google一下就有了~参数是:k, windowSize,自己调调看效果void sauvola(unsigned char * grayImage,unsigned char * biImage,int w,int h,int k,int windowSize){ int whalf = windowSize >> 1; int i,j;原创 2015-04-20 20:31:15 · 13096 阅读 · 4 评论 -
【二值化】循环阈值算法
循环阈值方法实现图像二值化clcclearG = imread(img.jpg);I = rgb2gray(G);%l = rgb2gray(h);%转换成灰度图像,得到灰度值%imhist(img);%得到灰度直方图%disp(img);%显示各像素的灰度值%循环阈值选择方法gray1 = 0;%一部分图像的灰度值之和gray2 = 0;%另一部分原创 2010-04-25 09:35:00 · 7697 阅读 · 0 评论 -
【二值化】基于块分析的二值化算法
基于Niblack的Block Analisys算法原创 2010-08-04 14:18:00 · 6483 阅读 · 2 评论 -
【二值化】Niblack算法
实现了局部阈值二值化算法Niblack方法原创 2010-08-04 14:05:00 · 18351 阅读 · 0 评论 -
【二值化】Bernsen算法
Bernsen算法实现图像二值化%局部阈值操作Bersen算法clcclearI = imread('card8.bmp');w = 1;%矩阵大小为2*w+1T = 0;%阈值大小max = 0;min = 0;[m,n] = size(I);T = zeros(m - 2*w,n - 2*w);%根据bersen算法计算每个像素点的阈值for i = (w +原创 2010-04-25 09:38:00 · 17379 阅读 · 3 评论 -
linux 安装Tesseract-OCR
安装Tesseract-OCR准备工作:编译环境: gcc gcc-c++ make(这个环境一般机器都具备,可以忽略) 1yum install gcc gcc-c++ make 依赖的包: autoconf automake libtool libjpeg-devel libpng-devel libtiff-devel zlib-devel leptonica(1.67转载 2014-03-03 13:56:43 · 10192 阅读 · 1 评论 -
图像处理之膨胀腐蚀操作
腐蚀的算法:用3x3的结构元素,扫描图像的每一个像素,用结构元素与其覆盖的二值图像做“与”操作:如果都为1,结果图像的该像素为1。否则为0。结果:使二值图像减小一圈B}Í S = { x,y | SxyÄ定义:E = B 膨胀的算法:用3x3的结构元素,扫描图像的每一个像素,用结构元素与其覆盖的二值图像做“与”操作:如果都为0,结果图像的该像素为0。否则为1结果:使二原创 2014-01-23 14:32:54 · 6069 阅读 · 0 评论 -
颜色相关图(Color Correlogram)
颜色相关图的参考文献: [1] Greg Pass, RaminZabih. Comparing images using color coherence vectors.代码如下:/************************************************************************//*作用:计算颜色相关图输入:img-原创 2011-10-27 16:46:13 · 7682 阅读 · 8 评论 -
图像分辨率增强或者改变图像大小
改变图像大小,保持图像不失真!原创 2010-08-04 14:48:00 · 5299 阅读 · 8 评论 -
Opencv获取并改变图像的像素值
Opencv获取并改变图像的像素值原创 2010-11-03 19:07:00 · 20278 阅读 · 3 评论 -
Opencv中cvLoadImage内存泄露问题
cvLoadImage函数:在程序中这个函数使用一次两次感觉不来,但在处理序列图像循环调用这个函数时,内存泄露的可能让你目瞪口呆!最近,在一个2000张样张的数据集上进行批处理, 我观察任务管理器内存分配的情况,发现内存在不断的被消耗掉!原因可能是,每次loadImage的时候,原创 2011-07-28 09:57:24 · 3112 阅读 · 2 评论 -
直方图匹配方法
一、直方图匹配方法对比直方图相似性的方法有四种:(1) 相关度 (2) 卡方系数 (3) 相交系数 (4) 巴氏距离 在快速但是不怎么准确匹配的情况下,Intersection方法的效果好,而在慢速但较精确的情况下,用卡方或者巴氏距离效果好。原创 2011-11-10 11:48:52 · 23989 阅读 · 6 评论 -
关于cvThreshold二值化函数
opencv中文说明中是这样说的:Threshold 对数组元素进行固定阈值操作void cvThreshold( const CvArr* src, CvArr* dst, double threshold, double max_value, int threshold_type ); src 原始数组 (单通道 , 8-bit of 32-bit 浮点原创 2012-03-31 14:53:01 · 10181 阅读 · 2 评论 -
判断两个矩形是否相交
最近在用opencv写一个文本定位的程序,获取到字符轮廓之后需要进行合并,涉及到判断矩形是否相交的问题,记得去年去三星通信研究院面试同样问到了这个问题,如何判断两条线段是否相交,如何判断两个矩形是否相交。以前写过一篇如何判断线段相交的问题,上网查了一些方法,在这里做一下后一个问题的总结:方法一:假定矩形是用一对点表达的(minx,miny)(maxx, maxy) ,那么两个矩形rect1原创 2012-05-04 15:55:58 · 13579 阅读 · 5 评论 -
计算灰度共生矩阵GLCM
灰度共生矩阵 灰度共生矩阵定义为像素对的联合分布概率,是一个对称矩阵,它不仅反映图像灰度在相邻的方向、相邻间隔、变化幅度的综合信息,但也反映了相同的灰度级像素之间的位置分布特征,是计算纹理特征的基础。 设f(x,y)为一幅数字图像,其大小为M×N,灰度级别为Ng,则满足一定空间关系的灰度共生矩阵为: 其中#(x)表示集合x中的元素原创 2011-11-18 14:07:38 · 42580 阅读 · 41 评论 -
RGB颜色空间转换至HSV颜色空间
经常用opencv下的cvCvtColor函数直接把图片颜色空间转换到了HSV下,今天自己写了一段代码进行转化,RGB转HSV的计算公式如下:在这里把h规范化到位于 0 到 360°之间,s和v均规范化到0-1之间,和opencv的范围不同。IplImage * src;int * h; float * s; float * v; int width = src->w原创 2013-04-04 22:58:47 · 8567 阅读 · 1 评论 -
字符识别Google开源Tesseract-ocr的DLL调用方法
Tesseract-ocr的dll tesseract-3.02.02-win32-lib-include-dirs下载地址:Google-Tesseract-OCR 解压之后包括 include文件夹和Lib文件夹,配置头文件和库文件,建立工程进行测试。#include "baseapi.h"#include "strngs.h"#pragma comment原创 2013-03-26 21:10:41 · 29796 阅读 · 19 评论 -
边缘断裂处理算法-边缘连接算法
读研的时候写过一篇文本定位相关的论文,当时有一个处理步骤是对断裂的边缘进行连接,当时的程序已经不知道扔哪儿去了,最近又要用到这个程序,把论文翻出来,把程序写了一遍。这个边缘连接的方法我也不知道叫什么名字,随便写写吧。对所有的端点(该点八临域内有且只有一个前景点)查找其更外层的16个点,若有前景点,则将该端点和前景点之间的点也改为前景点(图1)。边缘连接的结果表明该方法能把相邻的前景点连接起原创 2013-04-11 22:38:21 · 20981 阅读 · 26 评论 -
Opencv cvCreateGLCM()计算灰度共生矩阵内存错误
在网上找了写帖子说这个问题,一开始没调通,后来在源码里一点点调试的,真麻烦对原始cvTexture.cpp调试之后,发现问题停在函数 icvCreateGLCM_LookupTable_8u_C1R ,感觉是内存分配越界问题。浏览代码后,发下如下几个问题:1. 函数 cvCreateGLCM 中,在动态创建CvGLCM结构体时: 1. CV_CALL( newGLCM =转载 2011-11-14 12:10:34 · 5712 阅读 · 2 评论 -
tesseract训练字库
tesseract 训练字库先做两个准备工作1.下载工具cowboxerhttp://download.youkuaiyun.com/detail/cxf7394373/53055192. 下载tesseract-ocr.exehttps://code.google.com/p/tesseract-ocr/downloads/list3. 安装tessract-ocr我直接安装在了D:原创 2013-04-26 22:13:27 · 8167 阅读 · 3 评论 -
OCR软件介绍
中文识别:清华文通TH-OCR XP(8.0);汉王文本王5800;尚书七号OCR。 英文识别:ABBYY FineReader70pro;Cuneiform pro v6;Scansoft OmniPage SE;Scansoft PaperPort v9.0。 中英文混合识别:清华文通TH-OCR XP(8.0);汉王文本王5800;尚书七号OCR。 中文识别:汉王文本王5800更原创 2014-02-22 08:57:58 · 2568 阅读 · 0 评论