当前位置:首页 » 操作系统 » haar源码

haar源码

发布时间: 2022-09-19 05:32:18

① 彩色图像分割源码

能不能给我发一份呀?

② 人脸识别程序代码问题求教

就这么些代码,看不出来

③ OpenCV源码中真正计算Haar特征的那段在哪

//针对大小为winsize的图,计算所有HaarFeature的rect,存入features返回,即获取所有特征坐标
CvIntHaarFeatures* icvCreateIntHaarFeatures( CvSize winsize,
int mode,
int symmetric )

//训练样本图集
//创建结构CvHaarTrainigData,分配空间,并未填入sample数据
CvHaarTrainigData* icvCreateHaarTrainingData( CvSize winsize, int maxnumsamples )

//计算训练样本集的特征值,调用icvGetTrainingDataCallback
//已知训练样本的积分图,计算特征值valcache、索引idxcache
void icvPrecalculate( CvHaarTrainingData* data, CvIntHaarFeatures* haarFeatures,
int numprecalculated )//numprecalculated:要计算的特征数

//userdata:含训练数据、haar特征
//计算从first开始的num个特征,结果存入mat
//若sampleIdx为null,则计算全部样本,否则计算由sampleIdx指定的样本
void icvGetTrainingDataCallback( CvMat* mat, CvMat* sampleIdx, CvMat*,
int first, int num, void* userdata )

//计算一个样本(积分图为sum和tilted)的一个HaarFeature,并返回该值
CV_INLINE float cvEvalFastHaarFeature( CvFastHaarFeature* feature,
sum_type* sum, sum_type* tilted )

//特征的rect由坐标表示转换为由像素索引表示
//每个haarFeature最多由3个rect组成,但都保留3个的存储空间
void icvConvertToFastHaarFeature( CvTHaarFeature* haarFeature,
CvFastHaarFeature* fastHaarFeature,
int size, int step )

④ 求多聚焦图像融合的MATLAB源代码

clc;
clear all;
close all; % 清理工作空间
clear
[imA,map1] = imread('A.tif');
M1 = double(imA) / 256;
[imB,map2] = imread('B.tif');
M2 = double(imB) / 256;

zt= 4;
wtype = 'haar';
% M1 - input image A
% M2 - input image B
% wtype使用的小波类型
% Y - fused image
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% 小波变换图像融合
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 小波变换的绝对值大的小波系数,对应着显着的亮度变化,也就是图像中的显着特征。所以,选择绝对值大
%% 的小波系数作为我们需要的小波系数。【注意,前面取的是绝对值大小,而不是实际数值大小】
%%
%% 低频部分系数采用二者求平均的方法
%%
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[c0,s0] = wavedec2(M1, zt, wtype);%多尺度二维小波分解

[c1,s1] = wavedec2(M2, zt, wtype);%多尺度二维小波分解

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 后面就可以进行取大进行处理。然后进行重构,得到一个图像
%% 的小波系数,然后重构出总的图像效果。
%% 取绝对值大的小波系数,作为融合后的小波系数
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
KK = size(c1);
Coef_Fusion = zeros(1,KK(2));
Temp = zeros(1,2);
Coef_Fusion(1:s1(1,1)) = (c0(1:s1(1,1))+c1(1:s1(1,1)))/2; %低频系数的处理
%这儿,连高频系数一起处理了,但是后面处理高频系数的时候,会将结果覆盖,所以没有关系

%处理高频系数
MM1 = c0(s1(1,1)+1:KK(2));
MM2 = c1(s1(1,1)+1:KK(2));
mm = (abs(MM1)) > (abs(MM2));
Y = (mm.*MM1) + ((~mm).*MM2);
Coef_Fusion(s1(1,1)+1:KK(2)) = Y;
%处理高频系数end

%重构
Y = waverec2(Coef_Fusion,s0,wtype);

%显示图像
subplot(2,2,1);imshow(M1);
colormap(gray);
title('input2');
axis square

subplot(2,2,2);imshow(M2);
colormap(gray);
title('input2');
axis square

subplot(223);imshow(Y,[]);
colormap(gray);
title('融合图像');
axis square;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

⑤ 求教opencv人脸识别中Haar特征值的计算

我最近也再看haar-like特征的人脸检测源代码。我记得源代码有这么一行:
correction_ratio = weight_scale * (!feature->tilted ? 1 : 0.5);
其中:
weight_scale = 1./(equRect.width*equRect.height);
cascade->inv_window_area = weight_scale;
weight_scale就是面积分之一。我个人理解correction_ratio就是看你的haar-like特征旋转没,
若旋转过则:要乘以1/2。若没有就是原面积。
然后去乘以矩形内的像素和就应该是该haar—like的特征值了。
我也是最近正在看。不知道说对了没,请楼主斧正啊?

⑥ 你有没有看过opencv中haar生成级联分类器的源码,icvCreateCARTStageClassifier这个函数具体是什么情况

自己去看下源码不就可以了。

⑦ 图像融合的matlab源代码

一、小波入门简介

(1)小波分析的起源、发展与应用
http://blog.csdn.net/chenyusiyuan/archive/2007/11/09/1876282.aspx

(2)感受小波
http://blog.csdn.net/chenyusiyuan/archive/2007/11/02/1864195.aspx

二、小波变换与信号分解重构专题

(1)小波变换与信号分解重构
http://blog.csdn.net/chenyusiyuan/archive/2007/11/09/1876329.aspx

(2)自己动手编写小波信号分解与重构的Matlab程序
http://blog.csdn.net/chenyusiyuan/archive/2007/11/13/1881781.aspx

(3)用自编的程序实现小波图像分解与重构
http://blog.csdn.net/chenyusiyuan/archive/2007/11/13/1881940.aspx

三、小波图像融合专题

(1)小波图像融合综述
http://blog.csdn.net/chenyusiyuan/archive/2007/11/14/1883889.aspx

(2)小波图像融合的Matlab实现示例
http://blog.csdn.net/chenyusiyuan/archive/2007/11/16/1888808.aspx

四、小波图像压缩专题

(1)基于小波变换的图像压缩技术初探
http://blog.csdn.net/chenyusiyuan/archive/2007/11/12/1881231.aspx

(2)零树小波图像压缩专题
http://blog.csdn.net/chenyusiyuan/archive/2007/11/15/1886395.aspx

(3)嵌入式小波零树(EZW)算法的过程详解和Matlab代码
http://blog.csdn.net/chenyusiyuan/archive/2007/11/29/1907584.aspx

(4)多级树集合分裂(SPIHT)算法的过程详解与Matlab实现
http://blog.csdn.net/chenyusiyuan/archive/2007/12/07/1923334.aspx

(5)讨论:一种基于状态位图的SPIHT改进算法
http://blog.csdn.net/chenyusiyuan/archive/2007/12/11/1930419.aspx

另外,附件 Wavelet.rar 给出了几个Matlab程序,分别是:

1、基于低频融合策略的小波图像融合程序(Imfus.rar);
2、嵌入式零树小波(EZW)算法的图像压缩编解码程序(EZW.rar);
3、多级树集合分裂(SPIHT)算法的图像压缩编解码程序(SPIHT.rar);
4、一种SPIHT改进算法(Mod-SPIHT.rar)。

其中都包含了基本的小波图像分解与重构程序,使用的是基本的Haar小波,根据Mallat算法编写。

matlab的小波变换源代码可以用来做图像分析:
http://x.soso.com/cgi-bin/show_detail?Hash=

http://www.pudn.com/downloads76/sourcecode/windows/csharp/detail282742.html

⑧ OpenCV源码中真正计算Haar特征的那段在哪

#include <stdio.h>
#include <string.h>
#include "cv.h"
#include "cvaux.h"
#include "highgui.h"

using namespace cv;

//globle variables
int nTrainFaces = 0; // number of trainning images
int nEigens = 0; // number of eigenvalues
IplImage** faceImgArr = 0; // array of face images
CvMat* personNumTruthMat = 0; // array of person numbers
IplImage* pAvgTrainImg = 0; // the average image
IplImage** eigenVectArr = 0; // eigenvectors
CvMat* eigenValMat = 0; // eigenvalues
CvMat* projectedTrainFaceMat = 0; // projected training faces

//// Function prototypes
void learn();
void recognize();
void doPCA();
void storeTrainingData();
int loadTrainingData(CvMat** pTrainPersonNumMat);
int findNearestNeighbor(float* projectedTestFace);
int loadFaceImgArray(char* filename);
void printUsage();

int main( int argc, char** argv )
{
if((argc != 2) && (argc != 3)){
printUsage();
return -1;
}

if( !strcmp(argv[1], "train" )){
learn();
} else if( !strcmp(argv[1], "test") ){
recognize();
} else {
printf("Unknown command: %s\n", argv[1]);
}
return 0;
}

void printUsage(){
printf("Usage: eigenface <command>\n",
" Valid commands are\n"
" train\n"
" test\n"
);
}

void learn(){
int i;

// load training data
nTrainFaces = loadFaceImgArray("train.txt");
if( nTrainFaces < 2){
fprintf(
stderr,
"Need 2 or more training faces\n"
"Input file contains only %d\n",
nTrainFaces

热点内容
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:335
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:378
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:612
java用什么软件写 发布:2025-05-18 03:56:19 浏览:32
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:107
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:943
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:739
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:802
网卡访问 发布:2025-05-18 03:35:04 浏览:510
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:371