2017-05-07 10:45:56 continueOo 阅读数 1096

序言

首先看到这个问题,最先想到的就是如何去定义一个运动模糊。想到的答案是这样的,虹膜图像的运动模糊来可以由光斑很好的确认,利用光斑的形状就可以描述是否产生了运动模糊。


解决思路

那么现在问题有了思路,我把它转化成更数学,更程序化的方式。第一步就是提取光斑,很多论文中介绍了边缘检测、区域生长等各种方法,这里我就不再赘述。输入是一个二维数组的区域,第一步一定就是特征提取。根据如下图片,大致可以利用如下几个参数来表征特征。1.区域长宽比 2.区域光斑点面积比 3.边界对称性 。根据以上3个特性,利用决策树来进行划分,可以得到90左右的准确率。


虹膜清晰图片示例 虹膜模糊图像示例

存在问题

有一些特别的例子,是满足清晰特性但确运动模糊的。这里没有特别的例子,大家可以脑补下。原因解释如下,存在很多其他的形状同时满足以上3个特性,而且并不是圆形。那么问题就是如何界定这个形状是否一定是圆形而非其他的图形呢?这里有两种解决思路:1.利用圆的定义,每个点到中心的距离都是一个常数。利用这个方法,可以判断点到中心的距离,并利用var(方差)、std(标准差)等参数来表示这个图像是否为圆。2.利用轮廓特征,这一点和定义方式比较类似,都用到了所有的边界点。稍微有点区别的1利用的统计特性而2利用的是结构特性,其中相似点都是利用了边界的圆特征提取出一个值,为什么强调一个值。举个例子,比方说我提取了一阶差分的链码,我得到了一个圆特征,但是我需要去和理想圆对比。也可能是废话,但是我想说的是,我们找的特征要能放到决策树中取训练的,所以如果我想更好的利用边界码来确定,我可以在其中这个部分单独利用神经网络来训练出一个值,然后把决策概率当一个参数来加入决策树(这里可能不是很好的利用神经网络的方式,但是决策树是对坏特征有过滤优势的,这里不担心有坏影响)。


冈萨雷斯《数字图像处理》学习

第十二章——目标识别

模式识别方法主要分为两大领域:决策理论方法和结构方法。第一种方法处理的是使用定量描绘子来描述各种模式,如长度、面积、文理。第二类方法处理的是有定性描绘子来表述的各种模式。(区域被称为目标或者模式)
书中举了鸢尾花的例子

这个地方两个参数刚好能将3中分离出来,但是生活中很多时候数据是无法被完全分开的,应记住的关键概念是模式向量中每个分量的描绘子的选择对目标识别的最终性能是有深刻影响的。

基于决策理论方法:

书中介绍了KNN、贝叶斯分类和神经网络分类。这里涉及到的就是机器学习部分的内容。总结一句就是利用提取的统计特征来分类。

结构的方式:

书中介绍了形状数的比较和串匹配方式。这两种方式都比较简单。匹配形状数利用一个形状相似度k来描述匹配关系。其定义为形状数保持一致的最大阶。然后给出了一种相似性度量的比率。

总结

对于这类简单的图形匹配,度量标准相对简单。因为有几何图形都有严格的定义,我们要做的仅仅是去找到一种描述方式来尽可能唯一的标识图像区域即可。如果考虑到复杂图片,如人脸。那么我们就需要从另外的角度去考量我们如何去描述,不同描述能带来不同的分类效果。

2013-04-10 14:51:37 mlkiller 阅读数 4239

本章主要讲图像处理中的模糊处理部分

英文叫做blur, 也叫做smootiing,  中文中叫做模糊或者平滑。

用过photoshop的人都应该知道,滤镜里面就有模糊这个选项,我们现在看看它是怎么实现的。

一含义

   模糊(平滑)是一种常用的图片处理方式,它的作用可以用来降低噪声,还有其他用途

   看一下opencv 里面的公式

               g(i,j) = \sum_{k,l} f(i+k, j+l) h(k,l)

     g(i,j)是目标坐标的像素值, f(i+k,j+l)是k,l这些地方的像素值, h(k,l)是 kernel,  我不知道怎么去准确翻译它的意义,它是过滤器的系数。 

    简单的按照我的思路去理解,就是一个权值,模糊的含义是将所有的像素按照一定的权值进行运算,得到一个比较均衡的结果。

二 类型

类型有很多种:
均值模糊(box blur) 高斯模糊(gaussian blur)  中值模糊(media blur) 二值模糊(bilateral blur)
本文只讲均值模糊和高斯模糊

三 算法

1 均值模糊
   均值模糊很简单就是周边所有的影响都是1,求平均值即可
K = \dfrac{1}{K_{width} \cdot K_{height}} \begin{bmatrix}    1 & 1 & 1 & ... & 1 \\    1 & 1 & 1 & ... & 1 \\    . & . & . & ... & 1 \\    . & . & . & ... & 1 \\    1 & 1 & 1 & ... & 1   \end{bmatrix}
2 高斯模糊
关于高斯模糊的算法,推荐这个文章
根据这个公式计算出系数即可。
上篇文章写得很详细,我就不班门弄斧了。

四均值模糊的代码和效果

     先放上均值模糊的代码
void boxblur(Mat input ,Mat &out, int x, int y)
{
	// accept only char type matrices
	CV_Assert(input.depth() != sizeof(uchar));

	out.create(input.size(),input.type());

	int nChannels = input.channels();
	int nRows = input.rows;
	int nCols = input.cols;

	int size = x * y;
	float kernel = 1.0/size;

	int i,j;
	uchar* p;
	uchar* q;
	uchar R,G,B;

	for( i = x; i < nRows - x; ++i)
	{
		q = out.ptr<uchar>(i);
		for ( j = y; j < nCols - y; ++j)
		{
			float sumR = 0;
			float sumG = 0;
			float sumB = 0;
			for (int k =0; k<x;k++)
			{
				p = input.ptr<uchar>(i-x+k);
				for(int l = 0; l < y;l++)
				{
					sumB += input.at<uchar>(i - x + k,(j + l - y)*nChannels) * kernel;//p[(l + j -y)*nChannels ] * kernel;
					sumG += input.at<uchar>(i - x + k,(j + l - y)*nChannels + 1) * kernel;//p[(l + j -y)*nChannels + 1] * kernel;
					sumR += input.at<uchar>(i - x + k,(j + l - y)*nChannels + 2) * kernel;//p[(l + j -y)*nChannels + 2] * kernel;
				}
			}
			q[j*nChannels] = sumB;
			q[j*nChannels+1] = sumG;
			q[j*nChannels+2] = sumR;
		}
	}


}

红色部分是我想直接用at,而不用指针,但是效率低的厉害。


下图是用指针的相差了20倍。。。可见指针虽然万恶,但是确实是个好东西。



由于size(4,4)图太小看不清, 实际用的是8
原始 opencv 本文


五高斯模糊的代码和效果

代码如下:

void gaussblur(Mat input ,Mat &out, int x, int y)
{
	float sigma = 1.5;
	Mat kernel;
	float pi = 3.1415926;

	kernel.create(x ,y ,CV_32F);

	float mx = x/2.0;
	float my = y/2.0;

       //这里有问题,后面做修正。
	for (int i =0; i< x;i++)
	{
		for (int j =0; j<y;j++)
		{
			kernel.at<float>(i,j) = exp(-1 * ((i - mx) * (i - mx) +(j - my) * (j-my) )/( 2 * sigma * sigma))/(2 * pi * sigma *sigma) ;
		}
	}


    int nChannels = input.channels();
	int nRows = input.rows;
	int nCols = input.cols;

	out.create(input.size(),input.type());
    uchar* p;
	uchar* q;
	float* s;

	for(int  i = x; i < nRows - x; ++i)
	{
		q = out.ptr<uchar>(i);
		for (int j = y; j < nCols - y; ++j)
		{
			float sumR = 0;
			float sumG = 0;
			float sumB = 0;
			for (int k =0; k<x;k++)
			{
				p = input.ptr<uchar>(i-x+k);
				s = kernel.ptr<float>(k); 
				for(int l = 0; l < y;l++)
				{
					sumB += p[(l + j -y)*nChannels ] * s[l];//input.at<uchar>(i - x + k,(j + l - y)*nChannels) * kernel;//
					sumG += p[(l + j -y)*nChannels + 1] *s[l];//input.at<uchar>(i - x + k,(j + l - y)*nChannels + 1) * kernel;//
					sumR += p[(l + j -y)*nChannels + 2] * s[l];//input.at<uchar>(i - x + k,(j + l - y)*nChannels + 2) * kernel;
				}
			}
			q[j*nChannels] = sumB;
			q[j*nChannels+1] = sumG;
			q[j*nChannels+2] = sumR;
		}
	}

	
}

效率如下:

效果图如下:
本文没有考虑边界的情况,所以都是灰色的,可以考虑一下如何处理边界。
原始 opencv 本文

上面代码有两处问题:
第一是在size比较小的时候,这些点的概率之和不等于1,会导致图片出问题。修正如下:

	float sum = 0;
	for (int i =0; i< x;i++)
	{
		for (int j =0; j<y;j++)
		{
			sum+= kernel.at<float>(i,j) = exp(-1 * ((i - mx) * (i - mx) +(j - my) * (j-my) )/( 2 * sigma * sigma))/(2 * pi * sigma *sigma) ;
		}
	}
	for (int i =0; i< x;i++)
	{
		for (int j =0; j<y;j++)
		{
			kernel.at<float>(i,j) = kernel.at<float>(i,j)/ sum ;
		}
	}


第二个问题是本文中sigma 是个固定值,实际上它是个可变值,具体怎么计算,我没有搞清楚,可以查看opencv的源代码,下面文章有参考价值

更新一下参考opencv里面的可以这样计算
sigma = 0.3*((ksize-1)*0.5 - 1) + 0.8 .
修改程序之后发现和原始的高斯函数基本一致,希望广大朋友们多多评论,本人水平有限,很多地方有纰漏,希望能够共同提高。
2019-01-22 03:22:08 baiyicanggou_wujie 阅读数 794

最近有个项目,需要对图片进行模糊检测, 人脸识别等比较复杂的图像处理。经过一番尝试,决定好好研究一下OpenCV的原理和使用。

在这里插入图片描述
OpenCV官网

现在,项目中有个需求——需要对用户操作编辑以后的图片进行质量评估,做模糊检测。我采用了Tenengrad梯度和Laplacian梯度算法。

1. 算法
- Tenengrad 梯度函数

Tenengrad 梯度函数采用Sobel算子分别提取水平和垂直方向的梯度值,基与Tenengrad 梯度函数的图像清晰度定义如下:
在这里插入图片描述
G(x,y) 的形式如下:
在这里插入图片描述
其中:T是给定的边缘检测阈值,Gx和Gy分别是像素点(x,y)处Sobel水平和垂直方向边缘检测算子的卷积,建议使用以下的Sobel算子模板来检测边缘:
在这里插入图片描述
**

- Laplacian 梯度函数

Laplacian 梯度函数与Tenengrad梯度函数基本一致,用Laplacian算子替代Sobel算子即可,该算子定义如下:
在这里插入图片描述
基于Laplacian 梯度函数的图像星清晰度的定义如下:
在这里插入图片描述
其中G(x,y)是像素点(x,y)处Laplacian算子的卷积。

2. 编码
以安卓为例:OpenCV-3.1.0-android-sdk下载地址(python版本可以去官网下载,最新已经是4.x了)
写个图像处理得工具类

/**
 * <pre>
 * 作者:wujie on 2019/1/21 15:59
 * 邮箱:705030268@qq.com
 * 功能:图像模糊检测
 * 最直接的方法就是计算图片的快速傅里叶变换,然后查看高低频的分布。如果图片有少量的高频成分,那么该图片就可以被认为是模糊的
 * </pre>
 */

public class OpenCVUtils {

    /**
     * tenengrad梯度 {@link Imgproc}
     * @descrption: tenengrad梯度方法利用Sobel算子分别计算水平和垂直方向的梯度,同一场景下梯度值越高,图像越清晰。
     * @param: image: bitmap
     * @return: 返回Sobel算子计算的tenengrad梯度的均值
     * 算法:先对原图像进行灰度化 => 根据Tenengrad梯度函数,采用Sobel算子分别提取水平和垂直方向的梯度值
     */
    public static double calcBlurByTenengrad(Bitmap image) {
        LogUtils.i("image.w=" + image.getWidth() + ",image.h=" + image.getHeight());

        //将图片信息读取到Mat图像矩阵
        Mat matImage = new Mat();
        Utils.bitmapToMat(image, matImage);

        // 图像灰度化
        Mat matImageGrey = new Mat();

        if (matImage.channels() != 1) { //1表示单通道
            //进行灰度化
            Imgproc.cvtColor(matImage, matImageGrey, Imgproc.COLOR_BGR2GRAY);
        } else {
            //如果==1,说明本来就是单通道灰度图片,无须再度灰度
            matImageGrey = matImage.clone();
        }


        Mat imageSobel = new Mat();

        //Sobel算子计算tenengrad梯度
        Imgproc.Sobel(matImageGrey, imageSobel, CvType.CV_16U, 1, 1);

        //图像的平均灰度
        double meanValue;
        Scalar mean = Core.mean(imageSobel);
//        LogUtils.i("scalar:" + mean.toString());
        meanValue = mean.val[0]; //第一个是均值
        LogUtils.i("tenengrad梯度 均值 meanValue:" + meanValue);

        return meanValue;
    }

    /**
     * 拉普拉斯梯度 {@link Imgproc}
     * @descrption: Laplacian梯度是另一种求图像梯度的方法,用Laplacian算子替代Sobel算子
     * @param: image: bitmap
     * @return: 返回计算的Laplacian梯度的均值
     * 算法:先对原图像进行灰度化 => 然后用3x3的拉普拉斯算子进行滤波处理 => 再计算处理后图像的梯度均值
     */
    public static double calcBlurByLaplacian(Bitmap image) {
        LogUtils.i("image.w=" + image.getWidth() + ",image.h=" + image.getHeight());

        //将图片信息读取到Mat图像矩阵
        Mat matImage = new Mat();
        Utils.bitmapToMat(image, matImage);

        // 图像灰度化
        Mat matImageGrey = new Mat();

        if (matImage.channels() != 1) { //1表示单通道
            //进行灰度化
            Imgproc.cvtColor(matImage, matImageGrey, Imgproc.COLOR_BGR2GRAY);
        } else {
            //如果==1,说明本来就是单通道灰度图片,无须再度灰度
            matImageGrey = matImage.clone();
        }


        Mat imageSobel = new Mat();

        //再计算一下拉普拉斯
        Imgproc.Laplacian(matImageGrey, imageSobel, CvType.CV_16U, 3, 1, 0);

        //图像的平均灰度
        double meanValue;
        Scalar mean = Core.mean(imageSobel);
//        LogUtils.i("scalar:" + mean.toString());
        meanValue =  mean.val[0];
        LogUtils.i("拉普拉斯梯度 均值 meanValue:" + meanValue);

        return meanValue;
    }
 }

3. 测试**

  • 准备6张做过不同程度模糊处理的图片。
    在这里插入图片描述

测试效果如下

算法 原图 20%高斯模糊 40%高斯模糊 60%高斯模糊 80%高斯模糊 100%高斯模糊
Tenengrad梯度 4.672268 0.8224229166666667 0.5335 0.4327958333333334 0.37921458333333335 0.2528916666666667
拉普拉斯梯(Laplacian)梯度 18.481472 3.1599833333333334 2.2233875000000003 1.8840750000000002 1.7024541666666668 1.3291458333333335

吻合度还是比较高的:同一场景下梯度值越高,图像越清晰。

2018-12-20 10:58:40 qq_41881554 阅读数 422

简要原理

详细原理见《数字图像处理》3.8

这里作简要说明:

为了用模糊术语表示“平滑区”,我们考虑中心领域处像素和中心像素的灰度差。

 如下图所示,我们将一个像素8个相邻的像素,各减去这个像素的值,即,di=di-z5

图1

现我们使用以下规则来判断输出像素是白色还是黑色

 

其中“0”(ZE),白色(WH),黑色(BL)都是模糊集合,它们的隶属度函数如下:

图3

     其中,“0”集合(ZE)的隶属度函数为

式1

示例:

假设现在有如下领域:

则可计算其领域di值如下(根据图1):

根据式1计算各di属于“0”集合的隶属度u(di)如下:

于是d2属于“0”且d4属于“0”的隶属度为min(u(d2),u(d4)) = 0.78;

同理有:

条件1:d2属于“0”且d6属于“0”的隶属度为wh1=0.78

条件2:d6属于“0”且d8属于“0”的隶属度为wh2=0.78

条件3:d8属于“0”且d4属于“0”的隶属度为wh3=0.87

条件4:d4属于“0”且d2属于“0”的隶属度为wh4=0.78

由于前四个条件只需满足一个条件,输出即为“白色”(WH),故现用or语句将前四个条件连接,假设其为条件a

        wh=max(wh1,wh2,wh3,wh4)=0.87

条件b:前四个条件都不满足:

        bl=1-wh=0.13

因为输出灰度属于“白色”的隶属度函数u(v)如下(见图3,WH线):

于是,条件A:同时满足前四个条件,并且输出灰度为“白色”,的输出为

Q(1)=min(wh,u(v)),如下图:

同理,条件B:满足条件5,且输出灰度属于“黑色”,的输出为:

Q(2)=min(bl,u(v)),如下图:

于是,全部输出为条件A或者条件B,即

Q = max(Q(1),Q(2)),如下图:

图10

最后,我们对输出进行去模糊,即最终输出V0:

式2

其中,v = 0,1,2.....L-1,即K=L-1

将图10代入式2得

v0=174.405

代码:

VS2013+OpenCV3.0代码如下:

/*
***************************************************************************************************************************************
-----------------------------------------------作者:我三食堂不服----------------------------------------------------------------------
***************************************************************************************************************************************
*/


#include <opencv2/opencv.hpp>  
#include <math.h>
#include <vector>

using namespace std;
using namespace cv;


/*
//模糊集合的边缘检测
//isUnify - 是否标定(仅在位深度为8时有效),false - 梯度值小于0时置0,大于255时置为255,true - 梯度值拉伸到0 ~ 255内
*/
int FuzzyEdge(const Mat &input, Mat &out, bool isUnify = false);




int main(int argc, char** argv)
{
	Mat im_source;				//原图
	Mat im_pro1;				//处理后的图片
	Mat im_pro2;				//处理后的图片

	//载入原图(灰度图方式)
	im_source = imread("3-59_a.tif", IMREAD_GRAYSCALE);

	//图片处理
	FuzzyEdge(im_source, im_pro1);
	FuzzyEdge(im_source, im_pro2, true);

	//创建窗口
	namedWindow("【原图】");
	namedWindow("【处理后1】");
	namedWindow("【处理后2】");

	//显示图片
	imshow("【原图】", im_source);
	imshow("【处理后1】", im_pro1);
	imshow("【处理后2】", im_pro2);

	//保存图片
	imwrite("3-59_b.tif", im_pro1);
	imwrite("3-59_c.tif", im_pro2);

	//等待键盘操作
	cvWaitKey(0);

	return 0;
}



/*
//模糊集合的边缘检测
//isUnify - 是否标定(仅在位深度为8时有效),false - 梯度值小于0时置0,大于255时置为255,true - 梯度值拉伸到0 ~ 255内
*/
int FuzzyEdge(const Mat &input, Mat &out, bool isUnify)
{
	double kernel[4];					// 领域灰度差\隶属度
	double WH[256], BL[256];			// 颜色隶属度函数
	double wh1, wh2, wh3, wh4, wh, bl;	// 各条件对应白色(黑色)隶属度
	double Q, MQ;						// 输出模糊集合的隶属度、隶属度总和
	Mat extend;							// 对输入图像进行拓展
	Mat out_f;							// 输出图像
	uchar* data_extend;					// 拓展的图像像素数据	
	uchar* data_out;					// 输出图片像素数据
	long double data;					// 灰度值
	int h{ input.rows };				// 图片高
	int w{ input.cols };				// 图片宽
	int w2{ w + 2 };					// 拓展图片宽
	int h2{ h + 2 };					// 拓展图片高
	int u, v, i;						// 循环变量

	//参数输入错误
	if (h < 3 || w < 3)
		return 0;

	//拓展图像
	copyMakeBorder(input, extend, 1, 1, 1, 1, BORDER_REFLECT_101);
	data_extend = extend.data;

	//输出图像初始化
	out.release();
	out.create(h, w, input.type());
	out_f.create(h, w, CV_32FC1);
	data_out = out.data;

	//颜色隶属度函数初始化
	for (i = 0; i < 256; i++)
	{
		if (i < 204)
			BL[i] = (204.0 - i) / 204.0;
		else
			BL[i] = 0;

		if (i>51)
			WH[i] = (i - 51.0) / 204.0;
		else
			WH[i] = 0;
	}


	//进行边缘增强
	for (v = 1; v < h2 - 1; v++)
	for (u = 1; u < w2 - 1; u++)
	{
		//计算灰度差(即d2,d4,d6,d8)
		kernel[0] = data_extend[(v - 1)*w2 + u] - data_extend[v*w2 + u];
		kernel[1] = data_extend[(v)*w2 + u - 1] - data_extend[v*w2 + u];
		kernel[2] = data_extend[(v)*w2 + u + 1] - data_extend[v*w2 + u];
		kernel[3] = data_extend[(v + 1)*w2 + u] - data_extend[v*w2 + u];

		//计算d2,d4,d6,d8四个灰度差属于
		//“灰度差为0”集合
		//的隶属度
		for (i = 0; i < 3; i++)
		{
			kernel[i] /= 255;
			kernel[i] = exp(-40 * kernel[i] * kernel[i]);
		}

		//计算各像素属于
		//“di和dj同时为0”集合(i,j=2、4、6、8)
		//的隶属度
		wh1 = min(kernel[0], kernel[1]);
		wh2 = min(kernel[0], kernel[2]);
		wh3 = min(kernel[3], kernel[1]);
		wh4 = min(kernel[3], kernel[2]);

		//计算各像素属于
		//“d2,d4,d6,d8全为0”集合
		//的隶属度
		wh = max(max(wh1, wh2), max(wh3, wh4));

		//计算各像素属于
		//“满足第5个条件”集合
		//的隶属度
		bl = 1 - wh;

		//计算输出灰度(重心)
		data = 0;
		MQ = 0;
		for (i = 0; i < 256; i++)
		{
			Q = max(min(BL[i], bl), min(WH[i], wh));
			data += i*Q;
			MQ += Q;
		}
		data /= MQ;
		out_f.at<float>(v - 1, u - 1) = (float)data;
	}

	//图像格式转换
	if (isUnify)
	{
		double max, min, size, k;
		minMaxIdx(out_f, &min, &max);
		size = max - min;
		k = 255 / size;

		for (v = 0; v < h; v++)
		for (u = 0; u < w; u++)
		{
			data_out[v*w + u] = (uchar)(k*(out_f.at<float>(v, u) - min));
		}
	}
	else
	{
		for (v = 0; v < h; v++)
		for (u = 0; u < w; u++)
		{
			data = out_f.at<float>(v, u);
			if (data < 0)
				data = 0;
			else if (data>255)
				data = 255;

			data_out[v*w + u] = (uchar)data;
		}
	}

	return 0;
}

运行效果:
 

原图
效果图
对效果图进行标定的结果

 

2016-04-26 14:07:03 Real_Myth 阅读数 3501

随笔分类 - 图像处理/图像增强等

图像增强; 图像复原; 图像重建; 图像分割; 图像特效; 图像匹配; 图像形态学处理; 图像几何处理; 图像正交变换; 人工智能; 跟踪;
摘要: 这种检测可以做宽动态的检测,也可应用稳像算法我们实现了拉普拉斯方差算法,该算法提供给我们一个浮点数来代表具体图像的“模糊度”。该算法快速,简单且易于使用——用拉普拉斯算子与输入图像做卷积然后计算方差即可。如果方差低于预定义阈值,图像就被标记为“模糊”。还可以用fft 计算高频区域来判别http:...阅读全文
posted @ 2015-12-19 16:56 midu 阅读(26) | 评论 (0) 编辑
摘要: http://www.3dov.cn/html/c/37/index.htmlhttp://news.ifeng.com/a/20151117/46275220_0.shtml磁力矩阵http://finance.ifeng.com/a/20151117/14072754_0.shtml阅读全文
posted @ 2015-11-18 14:18 midu 阅读(21) | 评论 (0) 编辑
摘要: -------------------author:pkf---------------------------qq:1327706646--------------------------------------time:2015-11-9附录:http://blog.csdn.net/carso...阅读全文
posted @ 2015-11-09 17:54 midu 阅读(32) | 评论 (0) 编辑
摘要: http://www.upano.cn/#360度无死角直播1080p 30fpshttp://search.jd.com/Search?keyword=sdi%E9%87%87%E9%9B%86%E5%8D%A1&enc=utf-8&suggest=1.def.0&wq=sdi%20ca&pvid...阅读全文
posted @ 2015-11-03 18:26 midu 阅读(22) | 评论 (0) 编辑
摘要: 白噪声是指功率谱密度在整个频域内均匀分布的噪声。 所有频率具有相同能量的随机噪声称为白噪声。白噪声或白杂讯,是一种功率频谱密度为常数的随机信号或随机过程。换句话说,此信号在各个频段上的功率是一样的,由于白光是由各种频率(颜色)的单色光混合而成,因而此信号的这种具有平坦功率谱的性质被称作是“白色的...阅读全文
posted @ 2015-05-15 11:42 midu 阅读(81) | 评论 (0) 编辑
摘要: 在图像处理中,局部算法一般来说,在很大程度上会获得比全局算法更为好的效果,因为他考虑到了图像领域像素的信息,而很多局部算法可以借助于直方图获得加速。同时,一些常规的算法,比如中值滤波、最大值滤波、最小值滤波、表面模糊等等都可以通过局部直方图进行加速。而传统的获取局部直方图计算量很大,特别是半径增加时...阅读全文
posted @ 2015-04-20 20:25 midu 阅读(39) | 评论 (0) 编辑
摘要: http://blog.csdn.net/supplychain/article/details/8765808阅读全文
posted @ 2015-03-17 22:37 midu 阅读(15) | 评论 (0) 编辑
摘要: 基于SURF特征的图像与视频拼接技术的研究和实现(一) 一直有计划研究实时图像拼接,但是直到最近拜读西电2013年张亚娟的《基于SURF特征的图像与视频拼接技术的研究和实现》,条理清晰、内容完整、实现的技术具有市场价值。因此定下决心以这篇论文为基础脉络,结合实际情况,进行“基于SURF特征的图像与...阅读全文
posted @ 2015-03-17 12:08 midu 阅读(338) | 评论 (0) 编辑
摘要: (1)DDE应用背景(2)DDE算法简介(3)DDE 实现(4)DDE 总结和不足----------author:pkf-----------------time:2-9----------------------qq:1327706646(1)DDE应用背景 关于图像的增强,无数种方法,有线性...阅读全文
posted @ 2015-02-09 17:07 midu 阅读(94) | 评论 (0) 编辑
摘要: (1)应用背景(2)主要降噪算法原理(3)算法流程(4)算法实现(5)------------author:pkf-------------------time:2-6---------------------------qq:1327706646(1)应用背景 基于8148的音频alsa 采集,...阅读全文
posted @ 2015-02-06 14:15 midu 阅读(211) | 评论 (0) 编辑
摘要: http://v.ku6.com/special/show_1924328/L1VdU0V4ry6f_FU5.html阅读全文
posted @ 2015-01-12 23:58 midu 阅读(10) | 评论 (0) 编辑
摘要: 一、原理介绍 图像拼接(Image Stitching)是一种利用实景图像组成全景空间的技术,它将多幅图像拼接成一幅大尺度图像或360度全景图,图像拼接技术涉及到计算机视觉、计算机图形学、数字图像处理以及一些数学工具等技术。图像拼接其基本步骤主要包括以下几个方面:摄相机的标定、传感器图像畸变校...阅读全文
posted @ 2015-01-07 20:33 midu 阅读(232) | 评论 (0) 编辑
摘要: 前几天写了一个可以玩儿光剑的程序,个人觉得很酷这个程序你完全可以在自己电脑上玩玩,很有星球大战中Jedi的感觉在程序中,本没必要使用opencv,但尝试把opencv和mfc dialog结合一下,于是最终实现方式如下:opencv采集图像,mfc双缓冲显示,gdi+显示光剑图片opencv和mfc...阅读全文
posted @ 2014-12-08 02:27 midu 阅读(34) | 评论 (0) 编辑
摘要: -----------------------------author:midu---------------------------qq:1327706646------------------------datetime:2014-12-08 02:29http://www.computer.o...阅读全文
posted @ 2014-12-07 23:03 midu 阅读(45) | 评论 (0) 编辑
摘要: http://blog.csdn.net/masibuaa/article/details/9246493#comments阅读全文
posted @ 2014-12-03 12:25 midu 阅读(48) | 评论 (0) 编辑
摘要: 梯度求法和sobel之类的算子雷同,甚至更简单,就是一个离散差分,不清楚的童鞋可以百度,一大堆资料呢,从源码也可清晰的看出原理。// 方向导数,求梯度/* * @parameter sz: 图像大小 * @parameter pGray: 图像灰度值 * @parameter p...阅读全文
posted @ 2014-12-03 11:44 midu 阅读(20) | 评论 (0) 编辑
摘要: 在图像中,边缘可以看做是位于一阶导数较大的像素处,因此,我们可以求图像的一阶导数来确定图像的边缘,像sobel算子等一系列算子都是基于这个思想的。但是这存在几个问题:1. 噪声的影响,在噪声点处一阶导数也会取极大值 2. 求解极大值的复杂性所以,有了使用二阶导数的方法。这里主要考虑LoG算子,即高斯...阅读全文
posted @ 2014-12-02 15:45 midu 阅读(35) | 评论 (0) 编辑
摘要: http://www.cvpapers.com/cvpr2014.html吴佳俊楼天城阅读全文
posted @ 2014-12-02 14:35 midu 阅读(36) | 评论 (0) 编辑
摘要: 卷积其实是图像处理中最基本的操作,我们常见的一些算法比如:均值模糊、高斯模糊、锐化、Sobel、拉普拉斯、prewitt边缘检测等等一些和领域相关的算法,都可以通过卷积算法实现。只不过由于这些算法的卷积矩阵的特殊性,一般不会直接实现它,而是通过一些优化的手段让计算量变小。但是有些情况下卷积矩阵...阅读全文
posted @ 2014-11-27 20:24 midu 阅读(29) | 评论 (0) 编辑
摘要: 申明:本文非笔者原创,原文转载自:http://blog.csdn.net/onezeros/article/details/6342661两组图像:左边较暗,右边较亮第一行是原图像,他们下面是用四种算法处理的结果依次为:1.一种混合算法2.msr,multi-scale retinex3.msrc...阅读全文
posted @ 2014-11-27 01:08 midu 阅读(71) | 评论 (0) 编辑
摘要: 一、Mat类型:矩阵类型,Matrix。在openCV中,Mat是一个多维的密集数据数组。可以用来处理向量和矩阵、图像、直方图等等常见的多维数据。Mat有3个重要的方法:1、Mat mat = imread(const String* filename); 读取图像2、imshow(const st...阅读全文
posted @ 2014-11-21 20:56 midu 阅读(47) | 评论 (0) 编辑
摘要: http://chyyeng.blog.163.com/blog/static/16918230201211632135456/阅读全文
posted @ 2014-11-21 20:53 midu 阅读(130) | 评论 (0) 编辑
摘要: http://blog.sina.com.cn/s/blog_9c3fc0730100yzwt.html 很全http://www.xuebuyuan.com/593449.htmlcvrepeat()以平铺的方式进行数组复制;http://blog.csdn.net/anqier1009/arti...阅读全文
posted @ 2014-11-20 20:47 midu 阅读(23) | 评论 (0) 编辑
摘要: http://blog.sina.com.cn/s/blog_722122880101gyxb.html 实现1http://blog.sina.com.cn/s/blog_722122880101g4hm.html 原理简介http://blog.sina.com.cn/s/blog_722122...阅读全文
posted @ 2014-11-20 15:35 midu 阅读(8) | 评论 (0) 编辑
摘要: http://blog.csdn.net/xiaowei_cqu/article/details/24745945 小魏北大阅读全文
posted @ 2014-11-20 13:38 midu 阅读(18) | 评论 (0) 编辑
摘要: http://www.yxkfw.com/?p=7810 很有意思的全方位滤波应用https://developer.nvidia.com/sites/default/files/akamai/gameworks/CN/CGDC14/OpenGL_4.x_for_Mobile_Games_CN.pd...阅读全文
posted @ 2014-11-19 20:31 midu 阅读(40) | 评论 (0) 编辑
摘要: 今天偶然在接触导向滤波的时候,在实现里面的boxfilter 盒子滤波是,有人提到integral image 积分图像,积分图像和盒子滤波很相似,积分图像就是将原图像的左边+上边的像素和。(1)boxfilter(2)integral image(1)boxfilter 1.boxfilter的...阅读全文
posted @ 2014-11-19 18:17 midu 阅读(12) | 评论 (0) 编辑
摘要: /**** method to remove noise from the corrupted image by gaussian filter value* @param corrupted input grayscale binary array with corrupted info ---y...阅读全文
posted @ 2014-11-19 17:37 midu 阅读(5) | 评论 (0) 编辑
摘要: OpenCV的一些操作,如生成随机矩阵,高斯矩阵,矩阵相乘之类的/*功能:说明矩阵的一些操作方法*/#include "cv.h"//该头文件包含了#include "cxcore.h"#include "highgui.h"#include void PrintMat(CvMat *A); // ...阅读全文
posted @ 2014-11-18 22:36 midu 阅读(27) | 评论 (0) 编辑
摘要: 继www.gfsoso.com后又一个 www.aol.com阅读全文
posted @ 2014-11-18 18:21 midu 阅读(3) | 评论 (0) 编辑
摘要: //pYUV为422,yuv为420/*ok!* brief:pyuv is yuv422sp srcIn, and yuv is yuv420p desOut*/intYUV422To420(unsignedchar*pYUV,unsignedchar*yuv,intlWidth,intlHeig...阅读全文
posted @ 2014-11-16 22:54 midu 阅读(47) | 评论 (0) 编辑
摘要: 概论: ZD鱼眼图像变形校正算法,理论上相对比较简单,各种具体典型算法也存在一定的不足。球面坐标定位展开算法是一种粗略的校正方法,最终的处理效果不够理想。多项式坐标变换算法是一种典型的校正算法,针对鱼眼镜头,往往需要5次多项式,同时需要N个控制点,计算量非常巨大,难于用于实时系统。而且控制点的合理...阅读全文
posted @ 2014-11-14 11:54 midu 阅读(326) | 评论 (0) 编辑
摘要: 卷积是一种线性运算,图像处理中常见的mask运算都是卷积,广泛应用于图像滤波。castlman的书对卷积讲得很详细。高斯变换就是用高斯函数对图像进行卷积。高斯算子可以直接从离散高斯函数得到:for(i=0; i<N; i++){for(j=0; j<N; j++){g[i*N+j]=exp(-((i...阅读全文
posted @ 2014-11-11 20:52 midu 阅读(18) | 评论 (0) 编辑
摘要: 图像处理之高斯一阶及二阶导数计算图像的一阶与二阶导数计算在图像特征提取与边缘提取中十分重要。一阶与二阶导数的作用,通常情况下:一阶导数可以反应出图像灰度梯度的变化情况二阶导数可以提取出图像的细节同时双响应图像梯度变化情况常见的算子有Robot, Sobel算子,二阶常见多数为拉普拉斯算子,如图所示:...阅读全文
posted @ 2014-11-11 12:18 midu 阅读(93) | 评论 (0) 编辑
摘要: http://blog.csdn.net/jia20003/article/details/18850079阅读全文
posted @ 2014-11-11 12:04 midu 阅读(24) | 评论 (0) 编辑
摘要: (1)拉普拉斯理论(2)拉普拉斯算子(3)拉普拉斯实现--------------------------------------(1)拉普拉斯理论 http://course.cug.edu.cn/pic_ana/wangluoketang/Chapter04/4.2.2.htmhttp://b...阅读全文
posted @ 2014-11-10 21:12 midu 阅读(63) | 评论 (0) 编辑
摘要: 从昨天折腾到今天。再折腾下去我都要上主楼了大致和灰度图均衡是一样的,主要是不能像平滑什么的直接对R,G,B三个分量进行。这样出来的图像时没法看的。因此我们要对亮度进行均衡。而HSI彩色空间中的分量I代表图像的亮度,和图像的彩色信息无关,所以它是我们perfect的折腾对象。一、首先,就是把图像从RG...阅读全文
posted @ 2014-11-10 15:25 midu 阅读(17) | 评论 (0) 编辑
摘要: (1)灰度变换增强(2)直方图增强(3)图像锐化(4)频域增强(5)色彩增强--------------------------------------------------------(1)灰度变换增强(2)直方图增强(3)图像锐化 图像锐化的目的是为了突出图像的边缘信息,加强其图像的轮廓特征...阅读全文
posted @ 2014-11-10 15:03 midu 阅读(12) | 评论 (0) 编辑
摘要: http://blog.csdn.net/pamxy/article/details/8696591阅读全文
posted @ 2014-11-09 17:47 midu 阅读(12) | 评论 (0) 编辑
摘要: ()增强图片在百度网盘里面()处理http://bj3s.pku.edu.cn/activity/subjects/lesson6.pdfhttp://www.360doc.com/content/07/0219/04/16546_369705.shtmlhttp://www.qnr.cn/med/...阅读全文
posted @ 2014-11-07 15:27 midu 阅读(27) | 评论 (0) 编辑
摘要: http://www.cnblogs.com/easymind223/archive/2013/02/14/2911170.html#3051619阅读全文
posted @ 2014-11-06 20:28 midu 阅读(1) | 评论 (0) 编辑
摘要: http://www.cnblogs.com/WhyEngine/p/4059266.html阅读全文
posted @ 2014-10-29 15:48 midu 阅读(23) | 评论 (0) 编辑
摘要: #include #include #include #include #include //必须引此头文件void main(){//参数初始化定义IplImage* pFrame = NULL;IplImage* pFrImg = NULL;IplImage* pBkImg = NULL;CvC...阅读全文
posted @ 2014-10-29 15:44 midu 阅读(38) | 评论 (0) 编辑
该文被密码保护。
posted @ 2014-10-26 22:37 midu 阅读(2) | 评论 (0) 编辑
摘要: File: StudyRGB2Gray.txtName: 彩色转灰度算法彻底学习Author: zyl910Version: V1.0Updata: 2006-5-22一、基础 对于彩色转灰度,有一个很著名的心理学公式:Gray = R*0.299 + G*0.587 + B*0.114二、整数算...阅读全文
posted @ 2014-10-25 22:24 midu 阅读(20) | 评论 (0) 编辑
摘要: YUV与YCbCr的区别YUV色彩模型来源于RGB模型,该模型的特点是将亮度和色度分离开,从而适合于图像处理领域。应用:basic color model used in analogue color TV broadcasting。YCbCr模型来源于YUV模型。YCbCr is a scaled...阅读全文
posted @ 2014-10-25 19:15 midu 阅读(3) | 评论 (0) 编辑
摘要: http://blog.csdn.net/wangwanguo08/article/details/7535377阅读全文
posted @ 2014-10-23 13:44 midu 阅读(14) | 评论 (0) 编辑
摘要: http://blog.csdn.net/jianxiong8814/article/details/1563109http://blog.csdn.net/assuper/article/details/6937130 存在的bug 在dsphttp://bbs.csdn.net/topics/3...阅读全文
posted @ 2014-10-22 21:08 midu 阅读(43) | 评论 (0) 编辑
摘要: ()代码实现对原图进行高斯平滑,去除图像中的计算噪声void Bmp::MakeGauss(double sigma,double **pdKernel,int *pnWindowSize){//循环控制变量int i;//数组的中心点int nCenter;//数组的某一点到中心点的距离doubl...阅读全文
posted @ 2014-10-22 21:08 midu 阅读(83) | 评论 (0) 编辑
摘要: 第二个故事的主角是欧拉(Euler),拉普拉斯(Lapalace),勒让德(Legendre)和高斯(Gauss),故事发生的时间是十八世纪中到十九世纪初。十七、十八世纪是科学发展的黄金年代,微积分的发展和牛顿万有引力定律的建立,直接的推动了天文学和测地学的迅猛发展。当时的大科学家们都在考虑许多天文...阅读全文
posted @ 2014-10-22 20:32 midu 阅读(35) | 评论 (0) 编辑
摘要: http://netclass.csu.edu.cn/NCourse/hep013/gltj/3/gltj03040107.htm 华南理工学院课件阅读全文
posted @ 2014-10-22 20:30 midu 阅读(17) | 评论 (0) 编辑
摘要: 近日做铸件文字识别的项目,需要识别铸件上的字符和数字,找到开源的识别库Tesseract,下面简单记录下怎么使用。首先在项目主页http://code.google.com/p/tesseract-ocr/下载库和相应的字库。由于本人使用的是VS2010,其lib和include等库使用的VS200...阅读全文
posted @ 2014-10-22 20:11 midu 阅读(83) | 评论 (0) 编辑
摘要: http://www.ruanyifeng.com/blog/2013/03/similar_image_search_part_ii.html阅读全文
posted @ 2014-10-22 20:09 midu 阅读(18) | 评论 (0) 编辑
摘要: ()高斯理论简介()()代码实现四 使用高斯滤波器进行图像的平滑()高斯简介http://research.microsoft.com/en-us/um/people/kahe/eccv10/何凯明 matlab 实现http://www.ruanyifeng.com/blog/2012/11/ga...阅读全文
posted @ 2014-10-22 02:49 midu 阅读(69) | 评论 (0) 编辑
摘要: 像淘宝中的物品图片进行放大扫描效果:上图中图一为原图,现给定素材,需要将图像画城图二然后输出。现在问题是,给定的图像都是矩形,怎么将矩形的图片画到中间的那两个圆里面呢?http://download.csdn.net/detail/raistlic/5054386代码 http://bbs.csdn...阅读全文
posted @ 2014-10-22 02:45 midu 阅读(31) | 评论 (0) 编辑
摘要: YUV格式解析1(播放器——project2)根据板卡api设计实现yuv420格式的视频播放器打开*.mp4;*.264类型的文件,实现其播放。使用的视频格式是YUV420格式YUV格式通常有两大类:打包(packed)格式和平面(planar)格式。前者将YUV分量存放在同一个数组中,通常是几个...阅读全文
posted @ 2014-10-22 02:39 midu 阅读(96) | 评论 (0) 编辑
摘要: argv分别为,可执行文件名、读入的原始图像、输出原始图像的灰度值、输出原始图像灰度值沿x轴方向的一阶微分、输出原始图像灰度值沿x轴方向的二阶微分。#include #include #include #include #include #pragma comment( lib, "opencv_h...阅读全文
posted @ 2014-10-22 02:31 midu 阅读(18) | 评论 (0) 编辑
摘要: 上一篇中,我是用一个RGB格式的纹理来存储每一帧的画面,其中纹理为m_FrameWidth * m_FrameHeight大小,这样,在内存中,就必须要先对YUV的数据进行排序,然后才能当做RGB的数据格式传给纹理内存。我们发现对一个很大帧的图片进行数据重新排序会花费很多时间,为了减少这个时间,当...阅读全文
posted @ 2014-10-22 02:27 midu 阅读(58) | 评论 (0) 编辑
摘要: 在进入频域变换之前, 我们还是轻松一下,再搞点平面上的变化来看看。这把选了一个双线性插值(Bilinear interpolation)来实现是源于看到了csdn上别人的问题, 权且实现一个函数,方便大家的使用吧。双线性插值简单的说,就是扩展了之后的图像像素坐标映射回原来的坐标空间的时候, 如果出现...阅读全文
posted @ 2014-10-22 02:01 midu 阅读(43) | 评论 (0) 编辑
摘要: http://blog.sina.com.cn/s/blog_7221228801019yg2.htmlDSP6000图像位移与变形典型算法http://blog.csdn.net/anson2004110/article/details/9082831 boxfilter 块滤波原理http://...阅读全文
posted @ 2014-10-20 00:25 midu 阅读(28) | 评论 (0) 编辑
摘要: http://www.cnblogs.com/xiaotie/archive/2012/03/25/2416267.html 如何自学图像处理http://www.cnblogs.com/xiaotie/archive/2009/12/20/1628415.html阿牛开源库http://code....阅读全文
posted @ 2014-10-18 20:53 midu 阅读(9) | 评论 (0) 编辑
摘要: http://www.cnblogs.com/xiaotie/archive/2010/12/24/1916066.html阅读全文
posted @ 2014-10-17 13:40 midu 阅读(11) | 评论 (0) 编辑
摘要: 一些与图像或优化有关的网站和博客。图像处理的相关技术博客http://www.cnblogs.com/Imageshop/http://blog.csdn.net/housisong/category/325273.aspxhttp://www.cnblogs.com/xiaotie/categor...阅读全文
posted @ 2014-10-17 12:11 midu 阅读(5) | 评论 (0) 编辑
摘要: 本文涉及的很多算法,在网络上也有不少同类型的文章,但是肯定的一点就是,很多都是不配代码的,或者所附带的代码都是象征性的,速度慢,不优雅,不具有实用价值,本文努力解决这些问题。 文中各算法出现的顺序并不代表算法的优越性,仅仅是作者随机排布的而已。 2、基于RGB颜色空间的简单阈值肤色识别在human ...阅读全文
posted @ 2014-10-17 12:07 midu 阅读(22) | 评论 (0) 编辑
摘要: #include #include #include #include #include #define WIN_WIDTH 1//1~10,选择小波基double *Ld = new double[2*WIN_WIDTH]; //分解尺度函数double *Hd = new double[2*WI...阅读全文
posted @ 2014-10-17 12:06 midu 阅读(40) | 评论 (0) 编辑
摘要: int lineByte=(bmpWidth*biBitCount/8+3)/4*4这个公式怎么理解如下:这是计算位图每行占多少个字节;灰度图像(biBitCount=8)彩色图像(biBitCount=24)bmpWidth是位图的宽度,也就是每行有多少个像素块在计算机中如果你是整形 (n)除以(...阅读全文
posted @ 2014-10-17 00:45 midu 阅读(0) | 评论 (0) 编辑
摘要: 一、序言 陆陆续续的如果累计起来,我估计至少有二十来位左右的朋友加我QQ,向我咨询有关抠图方面的算法,可惜的是,我对这方面之前一直是没有研究过的。除了利用和Photoshop中的魔棒一样的技术或者Photoshop中的选区菜单中的色彩范围类似的算法(这两个我有何PS至少90%一致的代码)是实现简...阅读全文
posted @ 2014-10-16 18:35 midu 阅读(4) | 评论 (0) 编辑
摘要: 转自Codeprojecthttp://www.codeproject.com/dotnet/comparingimages.asp PublicEnumCompareResultciCompareOkciPixelMismatchciSizeMismatchEndEnumPublicSharedF...阅读全文
posted @ 2014-10-16 18:29 midu 阅读(32) | 评论 (0) 编辑
摘要: 1、图像对数增强 计算公式为:NewPixel=255/log(255)*log(OldPixel) 考虑到log(0)为负无穷大,对于图像来说这毫无意义,因此修改上述公式为: NewPixel=255/log(256)*log(OldPixel+1); 我们看下上述的公式的原理。根据增强前后的象素...阅读全文
posted @ 2014-10-16 18:28 midu 阅读(3) | 评论 (0) 编辑
摘要: 浏览了一下午的资料发现,大致的去雾算法现状是:(1)首选去雾算法暗通道(2)相关去雾优秀博客资源(3)cvpr 中的一些优秀论文(4)图书出版(5)相关去雾帖子(6)去雾暗通道算法代码(1)首选去雾算法暗通道给出6种有去雾功能的算法: 基于何凯明博士提出的暗通道去雾算法; 基于中值滤波(也可使用...阅读全文
posted @ 2014-10-16 18:24 midu 阅读(27) | 评论 (0) 编辑
摘要: http://blog.csdn.net/bweaglegao/article/details/8540860http://www.cnblogs.com/acloud/archive/2011/10/29/sws_scale.html阅读全文
posted @ 2014-10-08 16:50 midu 阅读(37) | 评论 (0) 编辑
摘要: Probability Theory概率论Trial试验intersection交union并frequency频率difference差additivity可加性complementation对立contain包含equivalent等价mean均值convolution[,kɔnvə'lu:ʃə...阅读全文
posted @ 2014-09-28 20:46 midu 阅读(36) | 评论 (0) 编辑
摘要: Inmathematics, amomentis, loosely speaking, a quantitative measure of the shape of a set of points. The "second moment", for example, is widely used a...阅读全文
posted @ 2014-09-28 20:45 midu 阅读(17) | 评论 (0) 编辑
摘要: k阶原点距和k阶中心距各是说明什么数字特征http://www.cnblogs.com/emanlee/archive/2011/04/25/2028628.html二阶中心距,也叫作方差,它告诉我们一个随机变量在它均值附近波动的大小,方差越大,波动性越大。方差也相当于机械运动中以重心为转轴的转动惯...阅读全文
posted @ 2014-09-28 20:44 midu 阅读(62) | 评论 (0) 编辑
摘要: http://www.cnblogs.com/WhyEngine/category/531773.htmlhttp://www.cnblogs.com/WhyEngine/p/3998063.html阅读全文
posted @ 2014-09-28 20:32 midu 阅读(8) | 评论 (0) 编辑
摘要: 1. 矩的概念图像识别的一个核心问题是图像的特征提取,简单描述即为用一组简单的数据(图像描述量)来描述整个图像,这组数据越简单越有代表性越好。良好的特征不受光线、噪点、几何形变的干扰。图像识别发展几十年,不断有新的特征提出,而图像不变矩就是其中一个。矩是概率与统计中的一个概念,是随机变量的一种数字特...阅读全文
posted @ 2014-09-28 20:30 midu 阅读(83) | 评论 (0) 编辑
摘要: 1. 什么是斑点斑点通常是指与周围有着颜色和灰度差别的区域。在实际地图中,往往存在着大量这样的斑点,如一颗树是一个斑点,一块草地是一个斑点,一栋房子也可以是一个斑点。由于斑点代表的是一个区域,相比单纯的角点,它的稳定性要好,抗噪声能力要强,所以它在图像配准上扮演了很重要的角色。同时有时图像中的斑点也...阅读全文
posted @ 2014-09-28 18:37 midu 阅读(82) | 评论 (0) 编辑
摘要: http://v.youku.com/v_show/id_XNzI0NTgzNDIw.html太搞笑了http://zhidao.baidu.com/link?url=5yG79pPiD0bBv1qkv4phua1ts4qowH2rXHjD9seeaiKGqyquwo0423kPOtlM4-tSgB...阅读全文
posted @ 2014-09-24 01:18 midu 阅读(3) | 评论 (0) 编辑
摘要: #include "stdio.h"#include "stdlib.h"#include "malloc.h"#include "string.h"#include "sys/timeb.h"#include "math.h"#include "inf.h"#define MIN(a,b) ((a...阅读全文
posted @ 2014-09-16 17:48 midu 阅读(18) | 评论 (0) 编辑
摘要: 在图像缩放,旋转等一些图像处理中,对图像进行插值是不可缺少的一个步骤,下面对一些常用的插值算法进行介绍:http://www.chinaai.org/ip/image-transform/interpolation.htmlsoeasy!1.最近邻插值这种插值方法是最简单的一种插值算法,图像输出的像...阅读全文
posted @ 2014-09-13 11:19 midu 阅读(30) | 评论 (0) 编辑
摘要: http://www.cnblogs.com/BYTEMAN/archive/2012/07/21/2602181.htmlhttp://www.cnblogs.com/Imageshop/p/3907639.html中值滤波去雾算法http://blog.sina.com.cn/s/blog_8e...阅读全文
posted @ 2014-09-09 09:44 midu 阅读(22) | 评论 (0) 编辑
摘要: 概率论只不过是把常识用数学公式表达了出来。——拉普拉斯记得读本科的时候,最喜欢到城里的计算机书店里面去闲逛,一逛就是好几个小时;有一次,在书店看到一本书,名叫贝叶斯方法。当时数学系的课程还没有学到概率统计。我心想,一个方法能够专门写出一本书来,肯定很牛逼。后来,我发现当初的那个朴素归纳推理成立了——...阅读全文
posted @ 2014-09-05 20:51 midu 阅读(12) | 评论 (0) 编辑
摘要: https://github.com/hackeron/motion阅读全文
posted @ 2014-09-05 20:37 midu 阅读(15) | 评论 (0) 编辑
摘要: //写个简单的先练习一下,测试通过//k-均值聚类算法C语言版 #include #include #include #include #define TRUE 1 #define FALSE 0 int N;//数据个数 int K;//集合个数 int...阅读全文
posted @ 2014-09-05 20:36 midu 阅读(24) | 评论 (0) 编辑
摘要: 余弦计算相似度度量相似度度量(Similarity),即计算个体间的相似程度,相似度度量的值越小,说明个体间相似度越小,相似度的值越大说明个体差异越大。对于多个不同的文本或者短文本对话消息要来计算他们之间的相似度如何,一个好的做法就是将这些文本中词语,映射到向量空间,形成文本中文字和向量数据的映射关...阅读全文
posted @ 2014-09-05 20:28 midu 阅读(69) | 评论 (0) 编辑
摘要: 常用相似性度量(距离 相似系数)在分类聚类算法,推荐系统中,常要用到两个输入变量(通常是特征向量的形式)距离的计算,即相似性度量.不同相似性度量对于算法的结果,有些时候,差异很大.因此,有必要根据输入数据的特征,选择一种合适的相似性度量方法.令X=(x1,x2,..,xn)T,Y=(y1,y2,.....阅读全文
posted @ 2014-09-05 18:28 midu 阅读(34) | 评论 (0) 编辑
摘要: 最近做一个加密算法遇到需要计算矩阵的逆,闲着无聊,记录一下,以后免得再麻烦。[cpp] view plaincopyprint?#include #include #include #define MAX 20 #define E 0.000000001 /** * 计算矩...阅读全文
posted @ 2014-09-05 15:33 midu 阅读(16) | 评论 (0) 编辑
摘要: 摘要在MATLAB环境下利用USB摄像头采集字符图像,读取一帧保存为图像,然后对读取保存的字符图像,灰度化,二值化,在此基础上做倾斜矫正,对矫正的图像进行滤波平滑处理,然后对字符区域进行提取分割出单个字符,识别方法一是采用模板匹配的方法逐个对字符与预先制作好的字符模板比较,如果结果小于某一阈值则结果...阅读全文
posted @ 2014-09-03 11:52 midu 阅读(85) | 评论 (0) 编辑
摘要: (一)高斯低通滤波去噪 高斯低通滤波器(Gaussian Low Pass Filter)是一类传递函数为高斯函数的线性平滑滤波器。又由于高斯函数是正态分布的密度函数。因此高斯低通滤波器对于去除服从正态分布(Normal distribution)的噪声非常有效。一维高斯函数和二维高斯函数 (高...阅读全文
posted @ 2014-09-03 11:50 midu 阅读(73) | 评论 (0) 编辑
摘要: 一、算法概述1、kNN算法又称为k近邻分类(k-nearest neighbor classification)算法。最简单平凡的分类器也许是那种死记硬背式的分类器,记住所有的训练数据,对于新的数据则直接和训练数据匹配,如果存在相同属性的训练数据,则直接用它的分类来作为新数据的分类。这种方式有一个明...阅读全文
posted @ 2014-09-02 23:45 midu 阅读(1) | 评论 (0) 编辑
摘要: 提示:本文为笔者原创,转载请注明出处:blog.csdn.net/carson2005 以下链接是本人整理的关于计算机视觉(ComputerVision, CV)相关领域的网站链接,其中有CV牛人的主页,CV研究小组的主页,CV领域的paper,代码,CV领域的最新动态,国内的应用情况等等。打...阅读全文
posted @ 2014-09-02 22:43 midu 阅读(9) | 评论 (0) 编辑
摘要: http://blog.csdn.net/liu409075600/article/details/8907310阅读全文
posted @ 2014-09-02 09:35 midu 阅读(1) | 评论 (0) 编辑
摘要: 最近认真研究了一下算法导论里面的多项式乘法的快速计算问题,主要是用到了FFT,自己也实现了一下,总结如下。1.多项式乘法两个多项式相乘即为多项式乘法,例如:3*x^7+4*x^5+1*x^2+5与8*x^6+7*x^4+6*x^3+9两个式子相乘,会得到一个最高次数项为13的多项式。一般来说,普通的...阅读全文
posted @ 2014-09-02 09:32 midu 阅读(31) | 评论 (0) 编辑
摘要: 常用的分类算法主要有决策树,贝叶斯,KNN,SVM,神经网络以及基于规则的分类算法。本文主要对各种分类算法的特性做一下总结。1. 决策树算法决策树算法是一种构建分类模型的非参数方法,它不要求任何先验假设,不假定类和其他属性服从一定的概率分布。找到最佳决策树是NP完全问题,许多决策树算法都采取启发式的...阅读全文
posted @ 2014-09-02 09:12 midu 阅读(48) | 评论 (0) 编辑
摘要: 两个序列的N点循环卷积定义为10[()()]()(())NNNkhnxnhmxnm(0)nN从定义中可以看到,循环卷积和线性卷积的不同之处在于:两个N点序列的N点循环卷积的结果仍为N点序列,而它们的线性卷积的结果的长度为2N-1;循环卷积对序列的移位采取循环移位,而线性卷积对序列采取...阅读全文
posted @ 2014-08-31 23:04 midu 阅读(58) | 评论 (0) 编辑
摘要: 讨论如何使用卷积作为数学工具来处理图像,实现图像的滤波,其方法包含以下几种,均值滤波,中值滤波,最大最小值滤波,关于什么是卷积以及理解卷积在图像处理中作用参见这里–http://blog.csdn.net/jia20003/article/details/7038938均值滤波:均值滤波,是图像处理...阅读全文
posted @ 2014-08-31 22:59 midu 阅读(48) | 评论 (0) 编辑
摘要: 1、题目:一维小波变换,可多次分解2、原理:卷积核变为Daubechies正交小波基h[]和g[]的交替形式。增加了多次分解的功能。3、代码:[cpp]view plaincopy#include#include#include#defineLENGTH4096//信号长度/************...阅读全文
posted @ 2014-08-31 22:45 midu 阅读(39) | 评论 (0) 编辑
摘要: 1、题目:循环卷积2、代码:[cpp]view plaincopy/********************************************************************循环卷积*V0.1**输入参数:lpData,输入数据;DataLen,输入数据长度;Filte...阅读全文
posted @ 2014-08-31 22:44 midu 阅读(1) | 评论 (0) 编辑
摘要: 引用keendawn的高斯(核)函数简介1函数的基本概念所谓径向基函数 (Radial Basis Function 简称 RBF), 就是某种沿径向对称的标量函数。 通常定义为空间中任一点x到某一中心xc之间欧氏距离的单调函数 , 可记作 k(||x-xc||), 其作用往往是局部的 , 即当x远...阅读全文
posted @ 2014-08-31 22:40 midu 阅读(63) | 评论 (0) 编辑
摘要: 1、题目:分割图像,提取信封上的邮编。2、算法原理:原创:梁毅军(西安交大图像所,liang.yijun@live.cn)(1) 线框提取:输入f(x,y)为彩色图像,输出g(x,y)为灰色图像。g(x,y) = T[f(x,y).R, f(x,y).B, f(x,y).R] T为变换函数T(R, ...阅读全文
posted @ 2014-08-31 22:31 midu 阅读(21) | 评论 (0) 编辑
摘要: 图形图像处理-之-高质量的快速的图像缩放 中篇 二次线性插值和三次卷积插值HouSisong@GMail.com 2006255.12.13(2009.03.07 可以到这里下载缩放算法的完整的可以编译的项目源代码:http://blog.csdn.net/housisong/archive/200...阅读全文
posted @ 2014-08-31 22:26 midu 阅读(48) | 评论 (0) 编辑
摘要: 作者:阮一峰几周前,我介绍了相似图片搜索。这是利用数学算法,进行高难度图像处理的一个例子。事实上,图像处理的数学算法,已经发展到令人叹为观止的地步。Scriptol列出了几种神奇的图像处理算法,让我们一起来看一下。一、像素图生成向量图的算法数字时代早期的图片,分辨率很低。尤其是一些电子游戏的图片,...阅读全文
posted @ 2014-08-31 22:24 midu 阅读(43) | 评论 (0) 编辑
摘要: http://blog.csdn.net/arau_sh/article/details/6161770阅读全文
posted @ 2014-08-31 22:20 midu 阅读(11) | 评论 (0) 编辑
摘要: 转自http://www.cnblogs.com/Imageshop/archive/2011/11/10/2244664.html 要写好一个图像处理软件,仅靠自己看书是完全不够的,要多方面学习,借鉴前人的经验,要集思广益、多面出击。如今网络发达,图像学的资料其实也到处都是。只是往往个人能力或...阅读全文
posted @ 2014-08-31 22:16 midu 阅读(32) | 评论 (0) 编辑
摘要: 使用纹理滤波器进行分割就是利用图像中不同区域的纹理来对图像的区域进行划分。纹理是指一个物体上的颜色模式或者指物体表面的光滑程度。纹理描述图像中的区域特征,试图直观地定量描述诸如光滑、质地等参数。在遥感、医学图像处理和自动化侦查中,纹理分割图像有着很多的应用。利用纹理可以用来检测图像的边界,从而对图像...阅读全文
posted @ 2014-08-31 12:57 midu 阅读(13) | 评论 (0) 编辑
摘要: 进来需要用到此知识,突然发现记得很不牢固,温故而知新,先记录下,留待下次温故:原文地址:www.wzms.com/resource/downresource.asp?resourceid=8736极坐标变换公式极坐标系浙江省温州中学 孙军波教学目标:认识极坐标,能在极坐标中用极坐标刻画点的位置;体会...阅读全文
posted @ 2014-08-31 12:51 midu 阅读(59) | 评论 (0) 编辑
摘要: 时间戳的简单同步算法,便于进一步理解音视频同步概念:博文来源:stone_kingnet的专栏在发送方:对于相同时刻的音频/视频帧,打上相同的时间戳(系统时间)接收方:保存两个队列,audio/video分别用来存放还未播放的音频和视频1。当每接收到音频帧的时候,遍历此时的video队列,将此音频帧...阅读全文
posted @ 2014-08-31 12:47 midu 阅读(14) | 评论 (0) 编辑
摘要: QDF假设样本符合高斯分布,通过估计均值与协方差矩阵,训练分类器。但是由于特征维数较高,时空复杂度较高。(协方差矩阵的维数为 特征维数*特征维数)。而且协方差矩阵往往存在不满秩无法求逆的情况(样本数《特征维数)。MQDF主要有以下改进:1、在协方差矩阵的对角线上加一个小的常量,保证矩阵的满秩(非奇异...阅读全文
posted @ 2014-08-31 12:33 midu 阅读(190) | 评论 (0) 编辑
摘要: 协方差的定义对于一般的分布,直接代入E(X)之类的就可以计算出来了,但真给你一个具体数值的分布,要计算协方差矩阵,根据这个公式来计算,还真不容易反应过来。网上值得参考的资料也不多,这里用一个例子说明协方差矩阵是怎么计算出来的吧。记住,X、Y是一个列向量,它表示了每种情况下每个样本可能出现的数。比如给...阅读全文
posted @ 2014-08-31 12:30 midu 阅读(39) | 评论 (0) 编辑
摘要: 一、统计学的基本概念统计学里最基本的概念就是样本的均值、方差、标准差。首先,我们给定一个含有n个样本的集合,下面给出这些概念的公式描述:均值:标准差:方差:均值描述的是样本集合的中间点,它告诉我们的信息是有限的,而标准差给我们描述的是样本集合的各个样本点到均值的距离之平均。以这两个集合为例,[0, ...阅读全文
posted @ 2014-08-31 12:29 midu 阅读(48) | 评论 (0) 编辑
摘要: 方差:方差是变量与其平均值的平方和的算术平均值,例如: 有一组数据{4,5,6,7}, 平均值为:(4+5+6+7)/4=22/4=5.5 其方差为:[(4-5.5)2+(5-5.5)2+(6-5.5)2+(7-5.5)2]/4标准差:方差的开2次方 例如上面那组数据的标准差...阅读全文
posted @ 2014-08-31 12:24 midu 阅读(32) | 评论 (0) 编辑
摘要: http://blog.csdn.net/linuxcumt/article/details/8580123http://www.open-open.com/doc/view/ed3926107f60425aad2659e4bd73ca07阅读全文
posted @ 2014-08-31 01:57 midu 阅读(22) | 评论 (0) 编辑
摘要: http://blog.csdn.net/linuxcumt/article/details/8580112阅读全文
posted @ 2014-08-31 01:56 midu 阅读(19) | 评论 (0) 编辑
摘要: 个人接触机器视觉的时间不长,对于机器学习在目标检测的大体的框架和过程有了一个初步的了解,不知道对不对,如有错误,请各位大牛不吝指点。目标的检测大体框架:目标检测分为以下几个步骤:1、训练分类器所需训练样本的创建: 训练样本包括正样本和负样本;其中正例样本是指待检目标样本(例如人脸或汽车等),负样本指...阅读全文
posted @ 2014-08-31 00:39 midu 阅读(27) | 评论 (0) 编辑
摘要: http://wenku.baidu.com/link?url=4RzdmvP9sdaaUbnVEW4OyBD-g67wIOiJjKFF3Le_bu7hIiBS7I6hMcDmCXrQwsHvrsPvR4666J1qF1ff5JVvd2xL8rzL9N81qvL-1dwkiim特别说明一下,根据那本...阅读全文
posted @ 2014-08-31 00:00 midu 阅读(59) | 评论 (0) 编辑
摘要: 特征向量的几何意义长时间以来一直不了解矩阵的特征值和特征向量到底有何意义(估计很多兄弟有同样感受)。知道它的数学公式,但却找不出它的几何含义,教科书里没有真正地把这一概念从各种角度实例化地进行讲解,只是一天到晚地列公式玩理论——有个屁用啊。根据特征向量数学公式定义,矩阵乘以一个向量的结果仍是同维数的...阅读全文
posted @ 2014-08-30 23:51 midu 阅读(57) | 评论 (0) 编辑
摘要: 几种典型的仿射变换: public static AffineTransform getTranslateInstance(doubl仿射变换-例e tx, double ty) 平移变换,将每一点移动到(x+tx, y+ty),变换矩阵为: [ 1 0 tx ] [ 0 1 ty ] [...阅读全文
posted @ 2014-08-30 23:48 midu 阅读(45) | 评论 (0) 编辑
摘要: 戏说:卷积卷积 在图像中其实就是乘积 求和 替代 已达到 平滑或者过滤的效果参考公式xiaojiang同学,最近总是和卷积打交道,工作需要,每天都要碰到它好几次,不胜烦恼,因为在大学时候学信号与系统的时候就没学会,我于是心想一定要把卷积完全搞明白。正好同办公室的同学也问我什么是卷积,师姐昨天也告诉我...阅读全文
posted @ 2014-08-30 23:47 midu 阅读(22) | 评论 (0) 编辑
摘要: 1.向量的内积 即 向量的的数量积 定义:两个非零向量的夹角记为〈a,b〉,且〈a,b〉∈[0,π]。 定义:两个向量的数量积(内积、点积)是一个数量,记作a·b。若a、b不共线,则a·b=|a|·|b|·cos〈a,b〉;若a、b共线,则a·b=+-∣a∣∣b∣。 2.向量的外积 即 向量的向量积...阅读全文
posted @ 2014-08-30 23:45 midu 阅读(43) | 评论 (0) 编辑
摘要: 最小2乘法最小2乘法直线拟合在我们研究两个变量(x, y)之间的相互关系时,通常可以得到一系列成对的数据(x1, y1、x2, y2... xm, ym);将这些数据描绘在x -y直角座标系中(如图1),若发现这些点在一条直线附近,可以令这条直线方程如(式1-1)。Y计= a0+ a1X ...阅读全文
posted @ 2014-08-30 23:44 midu 阅读(32) | 评论 (0) 编辑
摘要: 一下有抄袭国外公开课嫌疑,我在网易公开课看过类似讲义曾经抛砖引玉议卷积。上文 《辐射、服碘、补盐、空袭和卷积》针对教学中难点,借用直观例子对卷积作了解释,初衷为抛砖引玉,结果是“抛斧引班”----抛出了斧头,引出了鲁班群体,好些朋友在科学博客上发了好博文,或观点高、或方法简,或分析深,或应用好;朋友...阅读全文
posted @ 2014-08-30 22:56 midu 阅读(65) | 评论 (0) 编辑
摘要: 头文件:/* * Copyright (c) 2008-2011 Zhang Ming (M. Zhang), zmjerry@163.com * * This program is free software; you can redistribute it and/or modify it * ...阅读全文
posted @ 2014-08-30 21:29 midu 阅读(30) | 评论 (0) 编辑
摘要: 灰度图像高斯平滑 图像平滑用于去除图像中的噪声。高斯平滑,就是将每个像素的灰度值用其领域的加权平均值代替。该算法简单,能够有效去除高斯噪声。 平滑模板:121242121http://blog.csdn.net/zssureqh/article/details/7631056指针非数组// 高斯...阅读全文
posted @ 2014-08-29 18:27 midu 阅读(6) | 评论 (0) 编辑
摘要: http://www.61ic.com/code/forumdisplay.php?fid=470&filter=0&orderby=lastpost&ascdesc=DESC&page=283阅读全文
posted @ 2014-08-29 16:55 midu 阅读(16) | 评论 (0) 编辑
摘要: http://www.cnblogs.com/skyseraph/category/369219.html阅读全文
posted @ 2014-08-29 15:39 midu 阅读(17) | 评论 (0) 编辑
摘要: 一、MP4格式基本概念MP4格式对应标准MPEG-4标准(ISO/IEC14496)二、MP4封装格式核心概念1 MP4封装格式对应标准为 ISO/IEC 14496-12(信息技术 视听对象编码的第12部分: ISO 基本媒体文件格式/Information technology Coding o...阅读全文
posted @ 2014-08-29 15:22 midu 阅读(110) | 评论 (0) 编辑
摘要: http://blog.csdn.net/lzhq28/article/details/7847047http://blog.csdn.net/lishizelibin/article/details/4338111http://www.cnblogs.com/wubugui/p/4446230.h...阅读全文
posted @ 2014-08-29 13:17 midu 阅读(9) | 评论 (0) 编辑
摘要: http://blog.csdn.net/u013322443/article/details/27539919阅读全文
posted @ 2014-08-29 13:14 midu 阅读(8) | 评论 (0) 编辑
摘要: 常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。一 颜色特征(一)特点:颜色特征是一种全局特征,描 述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区 域的方向、大小等变化不敏感,所以颜色特征不...阅读全文
posted @ 2014-08-29 12:37 midu 阅读(25) | 评论 (0) 编辑
摘要: /**************************************************主要功能:两路YUV4:2:0拼接一路左右半宽格式YUV视频参考资料:http://www.pudn.com/downloads271/sourcecode/multimedia/vfw/detai...阅读全文
posted @ 2014-08-29 11:57 midu 阅读(57) | 评论 (0) 编辑
摘要: 概要介绍傅里叶变换能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。最初傅里叶分析是作为热过程的解析分析的工具被提出的.傅里叶变换属于谐波分析。傅里叶变换的逆变换容易求出,而且...阅读全文
posted @ 2014-08-28 21:24 midu 阅读(48) | 评论 (0) 编辑
摘要: http://bbs.csdn.net/topics/390211536http://blog.csdn.net/laviewpbt/article/details/14225413http://bbs.csdn.net/topics/390573504http://blog.csdn.net/la...阅读全文
posted @ 2014-08-25 23:54 midu 阅读(42) | 评论 (0) 编辑
摘要: http://blog.sina.com.cn/s/blog_55954cfb0102en6c.html阅读全文
posted @ 2014-08-25 23:52 midu 阅读(16) | 评论 (0) 编辑
摘要: http://blog.sina.com.cn/s/blog_61e884ef0100fg81.htmlhttp://blog.sina.com.cn/s/blog_50363a790100wtq5.html 卷积http://blog.sina.com.cn/s/blog_4aa4593d0101...阅读全文
posted @ 2014-08-25 23:44 midu 阅读(17) | 评论 (0) 编辑
摘要: http://blog.sina.com.cn/s/blog_764b1e9d0100rcg6.htmlhttp://blog.sina.com.cn/s/blog_8f27ff8d0101e7dv.htmlhttp://blog.sina.com.cn/s/blog_4aa4593d01014et...阅读全文
posted @ 2014-08-25 23:33 midu 阅读(9) | 评论 (0) 编辑
摘要: http://z.download.csdn.net/detail/wangfei0117/4408649http://download.csdn.net/detail/wanwenliang2008/1767686http://zhidao.baidu.com/question/50407836....阅读全文
posted @ 2014-08-16 20:51 midu 阅读(22) | 评论 (0) 编辑
摘要: 整个看FFT过程中复数一直很折磨我。原本的实数的东西通过复数表达很像旋转矩阵用quaternion来表达,尽管旋转vector还是要用matrix来做,但是通过用quaternion表达的旋转意义可以做插值等很多快速的操作,而且内存消耗也小,在做完这些操作之后再转成matrix用就好了。复数表达也是...阅读全文
posted @ 2014-08-16 20:33 midu 阅读(27) | 评论 (0) 编辑
摘要: 更复杂些的滤波算子一般是先利用高斯滤波来平滑,然后计算其1阶和2阶微分。由于它们滤除高频和低频,因此称为带通滤波器(band-pass filters)。在介绍具体的带通滤波器前,先介绍必备的图像微分知识。1 一阶导数连续函数,其微分可表达为,或 (1.1)对于离散情况(图像),其导数必须用差分方差...阅读全文
posted @ 2014-08-16 18:56 midu 阅读(22) | 评论 (0) 编辑
摘要: 定义在数学中,数量积(dotproduct;scalarproduct,也称为标量积、点积、点乘)是接受在实数R上的两个矢量并返回一个实数值标量的二元运算。它是欧几里得空间的标准内积。两个矢量a=[a1,a2,…,an]和b=[b1,b2,…,bn]的点积定义为:a·b=a1b1+a2b2+……...阅读全文
posted @ 2014-08-13 20:49 midu 阅读(37) | 评论 (0) 编辑
摘要: 1.频域值得坐标轴1.在傅里叶变换中,低频主要决定图像在平滑区域中总体灰度级的现实,而高频决定图像细节部分,如边缘和噪声; 滤波器:使低频通过而使高频衰减的滤波器称为“低通滤波器”相反特性的滤波器 称为“高通滤波器” 被低通滤波的图像比原始图像少了一些尖锐的细节部分,因为高频部分已被衰减。同样,被...阅读全文
posted @ 2014-08-12 09:29 midu 阅读(27) | 评论 (0) 编辑
摘要: 我的车牌识别也是用的这个分类方法http://blog.csdn.net/yangtrees/article/details/7574123阅读全文
posted @ 2014-08-10 23:56 midu 阅读(14) | 评论 (0) 编辑
摘要: /*今天师弟来问我,CV的书里到处都是卷积,滤波,平滑……这些概念到底是什么意思,有什么区别和联系,瞬间晕菜了,学了这么久CV,卷积,滤波,平滑……这些概念每天都念叨好几遍,可是心里也就只明白个大概的意思,赶紧google之~ 发现自己以前了解的真的很不全面,在此做一些总结,以后对这种基本概念要深刻...阅读全文
posted @ 2014-08-10 23:45 midu 阅读(44) | 评论 (0) 编辑
摘要: 特征值与特征向量的求法设A为n阶方阵,如果数“ ”和n维列向量x使得关系式 成立,则称 为方阵A的特征值,非零向量x称为A对应于特征值“ ”的特征向量。详见1.3.5和1.3.6节:特征值分解问题。例1-89 求矩阵 的特征值和特征向量解:>>A=[-2 1 1;0 2 0;-4 1 3];>>[V...阅读全文
posted @ 2014-08-10 23:43 midu 阅读(46) | 评论 (0) 编辑
摘要: http://xtyxhcl.jpkc.zstu.edu.cn/list.asp?menuid=6浙江理工阅读全文
posted @ 2014-08-10 23:34 midu 阅读(10) | 评论 (0) 编辑
摘要: http://www.eefocus.com/article/08-03/34761s.html阅读全文
posted @ 2014-08-10 23:31 midu 阅读(15) | 评论 (0) 编辑
摘要: 卷积运算(Convolution)是通过两个函数f 和g 生成第三个函数的一种数学算子,表示函数f 与经过翻转和平移与g 的重叠部分的累积。如果将参加卷积的一个函数看作区间的指示函数,卷积还可以被看作是“滑动平均”的推广。假设: f(x),g(x)是R1上的两个可积函数,并且积分是存在的。这样,随着...阅读全文
posted @ 2014-08-10 17:57 midu 阅读(45) | 评论 (0) 编辑
摘要: 1.使用模板处理图像相关概念:模板:矩阵方块,其数学含义是一种卷积运算。卷积运算:可看作是加权求和的过程,使用到的图像区域中的每个像素分别与卷积核(权矩阵)的每个元素对应相乘,所有乘积之和作为区域中心像素的新值。卷积核:卷积时使用到的权,用一个矩阵表示,该矩阵与使用的图像区域大小相同,其行、列都是奇...阅读全文
posted @ 2014-08-10 17:55 midu 阅读(38) | 评论 (0) 编辑
摘要: 1.使用模板处理图像相关概念: 模板:矩阵方块,其数学含义是一种卷积运算。 卷积运算:可看作是加权求和的过程,使用到的图像区域中的每个像素分别于卷积核(权矩阵)的每个元素对应相 乘,所有乘积之和作为区域中心像素的新值。 卷积核:卷积时使用到的权用一个矩阵表示,该矩阵与使用的图像区域大小相同,其行、列...阅读全文
posted @ 2014-08-10 17:52 midu 阅读(74) | 评论 (0) 编辑
摘要: 真是惭愧,学《数字信号处理》好长时间了,也记住了傅里叶变换的公式,也会做FFT程序了,但是居然不知道傅里叶变换的意义何在!真是该!! 还好,算是搞明白了。抛开数学上的意义不说,单说一下实际的一些意义吧。傅里叶变换是将信号从时域转换到频域,这样在时域上一些交叉在一起的、看不出来的信号的特性,在频域上就...阅读全文
posted @ 2014-08-10 17:47 midu 阅读(222) | 评论 (0) 编辑
摘要: 废话不多说先列提纲: 0.概述-需求分析-功能描述-受限和缺点改进+知识点预备 1.泰勒级数和傅里叶级数的本质区别,泰勒展开 2. 函数投影和向量正交 3.两个不变函数求导是本身e^x,sinx,cosx也是为什么要傅里叶转换的原因! 4.傅里叶技术推到过程 5.附录参考资料 0....阅读全文
posted @ 2014-08-10 13:09 midu 阅读(232) | 评论 (0) 编辑
摘要: http://www.cnblogs.com/wuguanglei/p/3866583.htmlhttp://www.cnblogs.com/wuguanglei/p/3866583.htmlok?阅读全文
posted @ 2014-07-25 00:03 midu 阅读(11) | 评论 (0) 编辑
摘要: /********************************************************************************* 程序名称:快速傅里叶变换(FFT) ** 程序描述:本程序实现快速傅里叶变换 ** 程序作者:宋元瑞 ** 最后修改:2011年4月5...阅读全文
posted @ 2014-07-17 23:54 midu 阅读(37) | 评论 (0) 编辑
摘要: http://blog.csdn.net/zouwen198317/article/details/22792107http://blog.csdn.net/zouwen198317/article/details/6991876全景图拼接阅读全文
posted @ 2014-07-14 23:03 midu 阅读(25) | 评论 (0) 编辑
摘要: http://blog.csdn.net/shanghaiqianlun/article/details/11776707阅读全文
posted @ 2014-07-09 17:18 midu 阅读(19) | 评论 (0) 编辑
摘要: 汉邦高科任职要求:1. 电子工程、图像与信号处理、计算机等相关专业,本科及以上学历;2. 在数字图像处理、视频压缩等方面具有扎实的理论背景知识;3. 熟悉Sony、Panasonic、Aptina、OmniVision等常用CCD/CMOS芯片的成像原理及工作流程,至少在下述一个领域有1年以上研发经...阅读全文
posted @ 2014-07-07 20:15 midu 阅读(184) | 评论 (2) 编辑
摘要: 1.rgb2yuv422p代码的运算速度取决于以下几个方面1、 算法本身的复杂度,比如MPEG比JPEG复杂,JPEG比BMP图片的编码复杂。2、 CPU自身的速度和设计架构3、 CPU的总线带宽4、 您自己代码的写法将RGB格式的彩色图像先转换成YUV图像。图像转换的公式如下:Y = 0.299 ...阅读全文
posted @ 2014-06-20 00:25 midu 阅读(106) | 评论 (0) 编辑
摘要: invert:倒置,翻转曝光值=快门+光圈:曝光值每增加1将改变一挡曝光,也就是将曝光量减半,比如将曝光时间或光圈面积减半。这一点可能会引起迷惑。之所以是减少而不是增加,是因为曝光值反映的是相机拍摄参数的设置,而非底片的照度(这一点将在下一段中提到)。曝光值的增加对应于更快的快门速度和更大的f值。因...阅读全文
posted @ 2014-06-18 17:40 midu 阅读(29) | 评论 (0) 编辑
摘要: histogram-直方图阅读全文
posted @ 2014-06-18 15:18 midu 阅读(13) | 评论 (0) 编辑
摘要: 因为在研究车牌识别算法(plr),遇到了算法 处理的格式问题,可分三个常用格式:0:rgb1:bgr2:yuv422——需要注意的是,这里为啥选yuv422做识别,当然还可选yuv444,最坏打算可选yuv420,主要是考虑颜色识别效果 R代表红,red; G代表绿,green; B代表蓝,b...阅读全文
posted @ 2014-06-16 00:20 midu 阅读(175) | 评论 (0) 编辑
摘要: 把物体从世界坐标系转化到视点坐标系的矩阵称为视图矩阵。 下面我们先看下opengl视图矩阵的推导过程: 假设视点或camera的局部坐标系为UVN,UVN分别指向右方、上方和后方从而构成右手坐标系,视点则处于局部坐标系的原点位置。 就如opengl的函数OpenGL的gluLookAt(eyex,...阅读全文
posted @ 2014-06-16 00:09 midu 阅读(29) | 评论 (0) 编辑
摘要: Javascript生成二维码(QR)网络上已经有非常多的二维码编码和解码工具和代码,很多都是服务器端的,也就是说需要一台服务器才能提供二维码的生成。本着对服务器性能的考虑,这种小事情都让服务器去做,感觉对不住服务器,尤其是对于大流量的网站,虽然有服务器端缓存,毕竟需要大量的CPU运算时间,这或多或...阅读全文
posted @ 2014-05-22 22:35 midu 阅读(53) | 评论 (0) 编辑
摘要: 在图像处理应用中二值化操作是一个很常用的处理方式,例如零器件图片的处理、文本图片和验证码图片中字符的提取、车牌识别中的字符分割,以及视频图像中的运动目标检测中的前景分割,等等。较为常用的图像二值化方法有:1)全局固定阈值;2)局部自适应阈值;3)OTSU等。全局固定阈值很容易理解,就是对整幅图像都是用一个统一的阈值来进行二值化;局部自适应阈值则是根据像素的邻域块的像素值分布来确定该像素位置上的二值化阈值。这样做的好处在于每个像素位置处的二值化阈值不是固定不变的,而是由其周围邻域像素的分布来决定的。亮度较高的图像区域的二值化阈值通常会较高,而亮度较低的图像区域的二值化阈值则会相适应地变小。不同亮阅读全文
posted @ 2014-01-19 18:26 midu 阅读(211) | 评论 (0) 编辑
摘要: OpenCV1.0版本有windows,linux之分,笔者曾经一直使用Opencv1.0。这个版本在下载,安装之后,在\OpenCV\_make文件夹下面已经存在了一个opencv.dsw的工程文件,直接用VC6,或者,VisualStudio就可以打开该工程,从而可以进行相应的编译工作;而对于OpenCV2.0及以后的版本而言,就没有类似的工程文件了。这个时候,就需要你自己利用CMake工具来生成一个VisualStudio的工程文件了;本文就是教你如何来完成这一步。具体步骤如下:(1)下载CMake工具,可以直接去CMake的主页上下载http://www.cmake.org/;(2)按阅读全文
posted @ 2014-01-19 18:24 midu 阅读(63) | 评论 (0) 编辑
摘要: 从头再来(594169949)2014-1-1611:03:17请问有谁知道如何在每条曲线附近添加注释?a=ezplot('y-sin(x)*sin(2*x)')set(a,'color','r')holdonplot(x,sin(x),'k')holdonplot(x,-sin(x),'m-.')axis([0pi-11])阅读全文
posted @ 2014-01-16 23:09 midu 阅读(16) | 评论 (0) 编辑
摘要: http://cunix.net/?p=105阅读全文
posted @ 2014-01-07 00:10 midu 阅读(23) | 评论 (0) 编辑
摘要: 版本 v1.0,存在内存问题在 void v4l2_process_image(struct buffer buf)中对 v4l2 采集来的一帧进行处理,存在 struct buffer buf 中buffer 结构定义为:struct buffer {void * start;size_t length;};buffer.start 为 YUV422 格式数据的起始地址。有关 YUV 格式:YUV 格式通常有两大类:打包(packed)格式和平面(planar)格式。前者将 YUV 分量存放在同一个数组中,通常是几个相邻的像素组成一个宏像素(macro-pixel);而后者使用三个数组分开存阅读全文
posted @ 2014-01-06 23:48 midu 阅读(57) | 评论 (0) 编辑
摘要: http://blog.csdn.net/liuhongxiangm/article/details/9135791http://blog.csdn.net/bluesky_sunshine/article/details/6074085v4l2+yuv420http://www.cnblogs.c...阅读全文
posted @ 2014-01-02 23:50 midu 阅读(13) | 评论 (0) 编辑
摘要: YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。 与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不阅读全文
posted @ 2014-01-01 21:13 midu 阅读(71) | 评论 (0) 编辑
摘要: //图像的熵=========================================================================================private void Menu_Entropy_Click(object sender, EventArgs e){if (curBitmap != null){//计算熵double entropy = GetEntropy(curBitmap, curBitmap.Width, curBitmap.Height);MessageBox.Show("图像:"+curFileName阅读全文
posted @ 2013-11-26 23:15 midu 阅读(130) | 评论 (0) 编辑
摘要: 参考文档:Adaptive Thresholding for the DigitalDesk.pdf Adaptive Thresholding Using the Integral Image.pdf一、问题的由来 一个现实: 当用照像机拍摄一副黑纸白字的纸张时,照相机获得的图像并不是真正的黑白图像。不管从什么角度拍摄,这幅图像实际上是灰度或者彩色的。除非仔细的设置灯光,否则照相机所拍摄的放在桌子上的纸张图像并不能代表原始效果。不像在扫描仪或打印机内部,想控制好桌子表面的光源是非常困难的。这个开放的空间可能会受到台灯、吊灯、窗户、移动的影子等影响。人类的视觉系统能自动补偿这些,...阅读全文
posted @ 2013-11-23 21:34 midu 阅读(150) | 评论 (0) 编辑
摘要: 因昨日写的匆忙,有不少错误,特重写并增加了适当的解释,并且觉得对于搞图像处理的朋友来说,这个可能在很多场合还是用得着的,因此删除了原随笔,又重新发布了下,非有意刷屏。原来一直认为彩色图像的去色算法没啥研究价值,网络上已经有很多类似的算法了,比如著名的Gray = R*0.299 + G*0.587 + B*0.114公式,或者LAB颜色通道的L值,HSL的L通道等等,直到最近看一些论文,发现原来也有很多人对这个过程进行过详细的研究和创新。在学习这些算法的同时,使我也认识到,任何你认为简单的东西在背后都有可能有着复杂的机理,只是你没有发现而已。 我先拿两个图片的例子来说明为什么要对彩图去色的过程阅读全文
posted @ 2013-11-23 21:11 midu 阅读(127) | 评论 (0) 编辑
没有更多推荐了,返回首页