//cvMul(M1, M2, M3); //cvDiv(M1, M2, M3); cvAddS(M1, cvScalar(-10.0), M3);
2012-04-26 08:36
295 查看
//运行参数:girl.jpg #pragma comment(lib,"highgui.lib") #pragma comment(lib,"cxcore.lib") #pragma comment(lib,"cv.lib") #pragma comment(lib,"ml.lib") #pragma comment(lib,"cvaux.lib") #pragma comment(lib,"cvcam.lib") #include "cv.h" #include "highgui.h" #include <stdio.h> inline void cvDoubleMatPrint( const CvMat* mat ); int main( int argc, char** argv ) { IplImage* pImg; //声明IplImage指针 if( argc == 2 && (pImg = cvLoadImage( argv[1], CV_LOAD_IMAGE_UNCHANGED)) != 0 ) { /* CvMat *Ma, *Mb, *Mc; cvMul(Ma, Mb, Mc); // Ma.*Mb -> Mc cvDiv(Ma, Mb, Mc); // Ma./Mb -> Mc cvAddS(Ma, cvScalar(-10.0), Mc); // Ma.-10 -> Mc */ int i,j; //CvMat* M1 = cvCreateMat(4,4,CV_32FC1); CvMat* M1 = cvCreateMat(4,4,CV_64FC1); //cvSetIdentity(M1);//初始化矩阵为单位矩阵 for(i=0;i<4;i++) for(j=0;j<4;j++) cvmSet(M1,i,j,2.0); cvDoubleMatPrint(M1); CvMat* M2 = cvCreateMat(4,4,CV_64FC1); printf("\n=====M2赋值为2.0==============\n"); for(i=0;i<4;i++) for(j=0;j<4;j++) cvmSet(M2,i,j,2.0); CvMat* M3 = cvCreateMat(4,4,CV_64FC1); //(1) 矩阵之间的运算: //cvAdd(M1, M2, M3); //cvSub(M1, M2, M3); //cvMatMul(M1, M2, M3); //(2) 矩阵之间的元素级运算: //cvMul(M1, M2, M3); //cvDiv(M1, M2, M3); cvAddS(M1, cvScalar(-10.0), M3); for( i=0;i<4;i++) { for( j=0;j<4;j++) printf("%f ",cvmGet(M3,i,j)); printf("\n"); } printf("\n===End:赋值为2.0==============\n"); cvReleaseMat(&M1); cvReleaseMat(&M2); cvReleaseMat(&M3); cvNamedWindow( "Image", 1 ); // 创建窗口 cvShowImage( "Image", pImg ); // 显示图像 cvWaitKey(0); // 等待按键 cvDestroyWindow( "Image" ); // 销毁窗口 cvReleaseImage( &pImg ); // 释放图像 return 0; } return -1; } inline void cvDoubleMatPrint( const CvMat* mat ) { int i, j; for( i = 0; i < mat->rows; i++ ) { for( j = 0; j < mat->cols; j++ ) { printf( "%lf ",cvmGet( mat, i, j ) ); } printf( "\n" ); } }
相关文章推荐
- M0、M1、M2、M3
- 笛卡尔乘积运算结果的输出{n1,n2...}*{m1,m2,m3..}*{p1,p2,p3...}*
- cvAdd(M1, M2, M3); //cvSub(M1, M2, M3); //cvMatMul(M1, M2, M3);
- 笛卡尔乘积运算结果的输出{n1,n2...}*{m1,m2,m3..}*{p1,p2,p3...}*....
- 在目录下有四个文件m1.txt,m2.txt,m3.txt,m4.txt,用Shell编程,实现自动创建m1,m2,m3,m4四个目录,并将m1.txt,m2.txt,m3.txt,m4.txt四个
- Eclipse 中的组合键(M1,M2,M3,M4)
- M0、M1、M2、M3都是用来反映货币供应量的重要指标
- 分布式消息队列RocketMQ之Netty -- 1+N+M1+M2模型
- 什么是M1、M2以及与资本市场的关系
- M1/M2总结
- M1/M2 总结
- 求出此人的年龄。 C语言编程输入某人出生日期(y1:m1:d1:)和今天的日期(y2:m2:d2)
- cvGetSubRect与cvMul用法
- 设计一个string类,通过重载“+=”运算符,实现对两个string类对象m1,m2的操作。
- 坚毅忍者:货币供应量M1和M2
- 编写一个程序用于执行矩阵的乘法。 m1是一个x行y列的矩阵,m2是y行z列的矩阵。 这两个矩阵应该相乘,结果存储在r中,它是x行z列的矩阵。
- cvGetSubRect与cvMul用法
- 个人阅读作业——M1/M2总结
- M1/M2阶段项目总结和感想_孙胜
- M1/M2总结