【 – 字数作文】
第一篇:《OpenCV 学习笔记》
OpenCV 学习笔记(1
)安装设置、显示图像
分类: 机器视觉 2009-09-22 23:39 6849人阅读 评论(21) 收藏 举报
20091027-Update:
VS2008下安装OpenCV2.0请参考于仕琪老师《VC 2008 Express下安装OpenCV2.0》作适当修改。
1、OpenCV 的下载地址:
2、有用的网址:
(1) Visit OpenCV Wiki-pages at and look for the information there (and/or add it when you have found a solution)
(2) Search through OpenCV archives at (
(3) Join OpenCV mailing list at yahoo groups (see FAQs on how to do it) and mail your questions (the mailing list will probably migrate to OpenCV's SourceForge site /documentation/index.html )
(5) OpenCV 中文网站: /retype/zoom/918aa008f12d2af90242e67e?pn=2&x=0&y=518&raww=893&rawh=148&o=png_6_0_0_0_0_0_0_892.979_1262.879&type=pic&aimh=79.55207166853303&md5sum=29de60e6ef5d16098db5f9bc27edbdb9&sign=3863d79f7b&zoom=&png=80257-168017&jpg=0-0″ target=”_blank”>
进程,然后再重新运行
explorer.exe )。
2、下载安装 Microsoft Visual C++ 2008 Redistributable
OpenCV1.2 在 VS2005 环境下编译时,可能出现如下错误(即应用程序正常初始化(0xc0150002失败)‘):
应从微软官方网站中下载安装 Microsoft Visual C++ 2008 Redistributable ,一般可解决此问题,下载地址为:
/downloads/thankyou.aspx?familyId=a5c84275-3b97-4ab7-a40d-3802b2af5fc2&displayLang=zh-cn
有关OpenCV安装后编译的问题,在OpenCV中文网论坛中有详细介绍:
/retype/zoom/918aa008f12d2af90242e67e?pn=3&x=0&y=1219&raww=893&rawh=434&o=png_6_0_0_0_0_0_0_892.979_1262.879&type=pic&aimh=233.28107502799554&md5sum=29de60e6ef5d16098db5f9bc27edbdb9&sign=3863d79f7b&zoom=&png=168018-318763&jpg=0-0″ target=”_blank”>
——
再从―Show Directories for‖的下拉菜单中选择―Source files‖
——在包含文件列表中,定位并添加:
C:/Program Files/OpenCV1.2/src/cv
C:/Program Files/OpenCV1.2/src/cvaux
C:/Program Files/OpenCV1.2/src/cxcore
C:/Program Files/OpenCV1.2/src/highgui
C:/Program Files/OpenCV1.2/src/ml{2.09746E,18}.
按OK键保存
(2)建立OpenCV Project
——建立一个Win32 Console项目
——
设置项目所需要的lib
菜单Project -> Properties -> Configuration Properties -> Linker -> Input
在additional dependencies中加入 cxcore120.lib cv120.lib ml120.lib cvaux120.lib highgui120.lib cxts120.lib 等需要的库
二、一个简单的入门程序——显示图像
代码如下:
注意,在Debug完成后,应该把原始图像放到项目文件夹的 debug 文件夹中,使图像与exe程序在同一文件夹内,才能在运行程序时正确读入并显示图像。
第二篇:《附录E》
附录E 桩基等效沉降系数e计算参数
E.0.1 桩基等效沉降系数应按表E.0.1-1~E.0.1-5中列出的参数,采用本规范式5.5.9-1或5.5.9-2计算。 表E.0.1-1 s
/d2
106
107
注:c— 群桩基础承台长度;c— 群桩基础承台宽度;— 桩长;— 桩径。
108
表E.0.1-2
sa/d3
109
注:c— 群桩基础承台长度;c— 群桩基础承台宽度;— 桩长;— 桩径。
110
第三篇:《数值分析计算实习第一题》
北航数值分析作业第一题:
一、 算法的设计:
1、A为五对角带状矩阵,其中有较多的零元素,故将A中非零元素压缩存储在C中,C
为5行501列矩阵,其元素与A中元素一一对应,对应关系为:
aijc(ij2)j;
2、求A的最大最小特征值,可以对A用幂法求出模最大的特征值λm1,然后以λm1为平移量对A进行平移后再用幂法求出λm,令λm2=λm1+λm,可以得知λm1,λm2为A的最大最小特征值,从而可得到A的最大特征值λ501,最小特征值λ1;
3、因为在用反幂法的过程中要解方程组Auky(k1),还要求A的行列式,所以对A进行LU分解,并将分解后的元素也存在C中,以便在求A的模最小的特征值和行列式的时候调用;
4、用反幂法求出A的模最小的特征值λs;
5、求与数μk最接近的特征值:
依次k=1到39执行:对A按μk进行平移得B=A-μkI,并将B存在C中,再对B用反幂法求出B的特征值λ,则离μk最近的特征值为λik=λ+μk;{2.09746E,18}.
m15、A为实对称矩阵,所以A的条件数condA(2)s,其中λm1,λs分别
为A的模最大和模最小的特征值;
6、调用A的LU分解程序,则分解后的U矩阵的对角线元素相乘即为矩阵的行列式值。 此算法的编译环境为Microsoft Visual Studio
需要编写的函数有矩阵压缩函数,矩阵LU分解函数,幂法函数,反幂法函数,最值函数,主函数。
二、 全部源程序
源程序如下:
#include<stdio.h>
#include<math.h>
#include<conio.h>
//定义A中元素
double C[5][501];
double a[501];
double b;
double c;
//声明所有函数
void YaSuoJZ(double C[5][501],double a[501],double b,double c) ;//压缩矩阵函数 double mifa(double C[5][501]); //幂法函数
void daizhuangLU(double A[5][501]); //带状矩阵的LU分解
double fanmifa(double C[5][501]);//反幂法函数
//最值函数
int max2(int x,int y);
int max3(int x,int y,int z);
int min(int x,int y);
//最值函数
int max2(int x,int y) //求2个数的最大值
{
int z;
z=x>y?x:y;
return(z);
}
int max3(int x,int y,int z) //求3个数的最大值
{
int w;
w = z > max2(x,y)? z:max2(x,y);
return(w);
}
int min(int x,int y) //求2个数的最小值
{
int z;
z=x>y?y:x;
return(z);
}{2.09746E,18}.
//将矩阵A压缩存储在矩阵C中
void YaSuoJZ(double C[5][501],double a[501],double b,double c)
{
int i;
for(i=0;i<=500;i++)
{
if(i>=2) C[0][i]=c;
else C[0][i]=0;
if(i>=1) C[1][i]=b;
else C[1][i]=0;
if(i<=499) C[3][i]=b;
else C[3][i]=0;
if(i<=498) C[4][i]=c;
else C[4][i]=0;
C[2][i]=a[i];
}
}
//幂法函数:用幂法求矩阵模最大的特征值
double mifa(double C[5][501])
{
double u[501];
double y[501]={0},η=0;
double β,βk=0;
double ε=1; // ε为精度
double sumu=0,sumAY=0;
int i,j,k=1; //k为循环次数
for (i=0;i<=500;i++) //取任一非零向量u0
u[i] = 1.0;
while(ε>=1e-12)
{
for(i=0;i<=500;i++) //求u(k-1)的2范数η
sumu=sumu+u[i]*u[i];
η=sqrt(sumu);
sumu=0;
for(i=0;i<=500;i++) //求y(k-1)
y[i]=u[i]/η;{2.09746E,18}.
for(i=0;i<=500;i++) //求u(k)的各分量u[i]
{
for(j=max2(0,i-2);j<=min(i+2,500);j++)
sumAY=sumAY+C[i-j+2][j]*y[j];
u[i]=sumAY;
sumAY=0;
}
//求幂法中的βk
β=βk; //将β(k-1)放在β中
βk=0;
for(i=0;i<=500;i++) //求βk
βk=βk+y[i]*u[i];
if(k>=2)
ε=fabs(βk-β)/fabs(βk);
k++;
}
return(βk);
}
//带状矩阵的LU分解
void daizhuangLU(double A[5][501])
{
int i,j,k,m,t;
double sumukj=0,sumlik=0;
for(k=0;k<=500;k++)
{
for(j=k;j<=min(k+2,500);j++) //求ukj并存在A[k-j+2][j]中 {
for(t=max3(0,k-2,j-2);t<=k-1;t++)
sumukj=sumukj+A[k-t+2][t]*A[t-j+2][j];
A[k-j+2][j]=A[k-j+2][j]-sumukj;
sumukj=0;
}
if(k<500)
for(i=k+1;i<=min(k+2,500);i++) //求lik并存在A[i-k+2][k]中 {
for(m=max3(0,i-2,k-2);m<=k-1;m++)
sumlik=sumlik+A[i-m+2][m]*A[m-k+2][k];
A[i-k+2][k]=(A[i-k+2][k]-sumlik)/A[2][k];
sumlik=0;
}
}
}{2.09746E,18}.
//反幂法函数:用反幂法求矩阵的模最小的特征值
double fanmifa(double M[5][501])
{
double u[501];
double y[501]={0},x[501],η=0;
double fβ,fβk=0;
double ε=1;
double fsumu=0,sumLX=0,sumUu=0;
int i,t,m,k=1;
for(i=0;i<=500;i++) //任取一非零向量u0
u[i]=1;
daizhuangLU(M); //对A进行LU分解A=LU,Au(k)=y(k-1)等价于Uu(k)=x和Lx=y(k-1) while(ε>=1e-12)
{
for(i=0;i<=500;i++) //求u(k-1)的2范数η
fsumu=fsumu+u[i]*u[i];
η=sqrt(fsumu);
fsumu=0;
for(i=0;i<=500;i++) //求y(k-1)
y[i]=u[i]/η;
for(i=0;i<=500;i++) //求中间向量x
x[i]=y[i];
for(i=1;i<=500;i++)
{
for(t=max2(0,i-2);t<=i-1;t++)
sumLX=sumLX+M[i-t+2][t]*x[t];
x[i]=x[i]-sumLX;
sumLX=0;
}
u[500]=x[500]/C[2][500]; //求u(k)的各分量u[i]
for(i=499;i>=0;i–)
{{2.09746E,18}.
for(m=i+1;m<=min(i+2,500);m++)
sumUu=sumUu+M[i-m+2][m]*u[m];
u[i]=(x[i]-sumUu)/M[2][i];
sumUu=0;
}
//求反幂法中的βk
fβ=fβk; //将fβ(k-1)放在fβ中
fβk=0;
for(i=0;i<=500;i++) //求fβk
fβk=fβk+y[i]*u[i];
if(k>=2)
ε=fabs(1/fβk-1/fβ)/fabs(1/fβk);
k++;
}
return(1/fβk);
}
//主函数
void main()
{
int i,j,k;
double λ1,λ501,λm,λm1,λm2,λs,λ,p;
double cond,detA=1;
for(i=1;i<=501;i++)
a[i-1]=(1.64-0.024*i)*sin(0.2*i)-0.64*exp(0.1/i);
b=0.16;
c=-0.064;
YaSuoJZ(C,a,b, c); //将矩阵A中元素压缩存储在C中
λm1=mifa(C); //对A用幂法求出模最大的特征值λm1
λs=fanmifa(C); //对A用反幂法求出模最小的特征值λs
YaSuoJZ(C,a,b, c); //还原矩阵A中元素并压缩存储在C中
for(j=0;j<=500;j++) //对A进行平移,平移量为λm1,平移后矩阵元素压缩存储在C中 C[2][j]=C[2][j]-λ?m1;
λm=mifa(C);
λm2=λm1+λm; //λm1与λm2是矩阵的最大最小特征值
if(λm1>λm2) //判断A最大最小特征值