// ConsoleApplication11.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
CvMat *mat = cvCreateMat(3, 4, CV_32FC1);
cvRange(mat, 0.0, 100.0);
CvRNG rng;
cvRandShuffle(mat, &rng, 1.0);
for (int i = 0; i < mat->rows; i++){
for (int j = 0; j < mat->cols; j++){
printf("%f ", cvmGet(mat, i, j));
}
printf("\n");
}
printf("\n");

CvMat *mat1 = cvCloneMat(mat);
CvMat *mat2 = cvCloneMat(mat);
cvSub(mat, mat1, mat2);
for (int i = 0; i < mat->rows; i++){
for (int j = 0; j < mat->cols; j++){
printf("%f ", cvmGet(mat2, i, j));
}
printf("\n");
}
printf("\n");

Scalar sca = cvSum(mat);
Scalar sca1 = cvAvg(mat);

cvPow(mat, mat2, 3.3);
for (int i = 0; i < mat->rows; i++){
for (int j = 0; j < mat->cols; j++){
printf("%f ", cvmGet(mat2, i, j));
}
printf("\n");
}
printf("\n");

cvLog(mat, mat2);
for (int i = 0; i < mat->rows; i++){
for (int j = 0; j < mat->cols; j++){
printf("%f ", cvmGet(mat2, i, j));
}
printf("\n");
}
printf("\n");

cvExp(mat, mat2);
for (int i = 0; i < mat->rows; i++){
for (int j = 0; j < mat->cols; j++){
printf("%f ", cvmGet(mat2, i, j));
}
printf("\n");
}
printf("\n");

cvAbsDiff(mat, mat1, mat2);
for (int i = 0; i < mat->rows; i++){
for (int j = 0; j < mat->cols; j++){
printf("%f ", cvmGet(mat2, i, j));
}
printf("\n");
}
printf("\n");

cvAbsDiffS(mat, mat2, Scalar(255, 0, 0));
for (int i = 0; i < mat->rows; i++){
for (int j = 0; j < mat->cols; j++){
printf("%f ", cvmGet(mat2, i, j));
}
printf("\n");
}
printf("\n");

cvMax(mat, mat1, mat2);
for (int i = 0; i < mat->rows; i++){
for (int j = 0; j < mat->cols; j++){
printf("%f ", cvmGet(mat2, i, j));
}
printf("\n");
}
printf("\n");

cvMaxS(mat, 50.0, mat2);
for (int i = 0; i < mat->rows; i++){
for (int j = 0; j < mat->cols; j++){
printf("%f ", cvmGet(mat2, i, j));
}
printf("\n");
}
printf("\n");

cvMin(mat, mat1, mat2);
for (int i = 0; i < mat->rows; i++){
for (int j = 0; j < mat->cols; j++){
printf("%f ", cvmGet(mat2, i, j));
}
printf("\n");
}
printf("\n");

cvMinS(mat, 1.5, mat2);
for (int i = 0; i < mat->rows; i++){
for (int j = 0; j < mat->cols; j++){
printf("%f ", cvmGet(mat2, i, j));
}
printf("\n");
}
printf("\n");

IplImage *pl = cvCreateImage(cvSize(50, 50), IPL_DEPTH_64F, 3);
IplImage *pl1 = cvCreateImage(cvSize(50, 50), IPL_DEPTH_64F, 1);
IplImage *pl2 = cvCreateImage(cvSize(50, 50), IPL_DEPTH_64F, 1);
IplImage *pl3 = cvCreateImage(cvSize(50, 50), IPL_DEPTH_64F, 1);
cvSplit(pl, pl1, pl2, pl3, NULL);

return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

c++ opencv 数学函数示例的更多相关文章

  1. SQL Server数学函数

    数学函数 1.计算绝对值ABS ABS函数对一个数值表达式结果计算绝对值(bit数据类型除外),返回整数. 语法结构: ABS(数值表达式) 返回值:与数值表达式类型一致的数据 示例: ) --输出 ...

  2. Oracle SQL函数之数学函数

    Oracle SQL函数之数学函数 ABS(x) [功能]返回x的绝对值 [参数]x,数字型表达式 [返回]数字 SQL> SELECT ABS(),ABS(-) FROM DUAL; ABS( ...

  3. VB.Net常用数学函数整理

      System.Math 类中定义了用于数学计算的函数.Math 类包括三角函数.对数函数和其他常用数学函数.下列函数是在 System 名称空间的 Math 类中定义的函数. 注意:要使用这些函数 ...

  4. MySQL 数学函数

    MySQL 数学函数 所有的数学函数在发生错误的情况下,均返回 NULL. -元减.改变参数的符号 mysql> SELECT - 2; -> -2 注意,如果这个操作符被用于一个 BIG ...

  5. mysql 函数示例(转)

    MySQL函数大全及用法示例 1.字符串函数ascii(str)   返回字符串str的第一个字符的ascii值(str是空串时返回0)  mysql> select ascii('2');   ...

  6. MySql常用函数数学函数、加密函数等(转—收藏)

        MySql函数众多,这里只是列举了一部分常用的函数.   一.数学函数 ABS(x)                                         // 返回x的绝对值 BI ...

  7. Python 绘制你想要的数学函数图形

    Python 非常热门,但除非工作需要没有刻意去了解更多,直到有个函数图要绘制,想起了它.结果发现,完全用不着明白什么是编程,就可以使用它完成很多数学函数图的绘制. 通过以下两个步骤,就可以进行数学函 ...

  8. Lua的函数的定义、math数学函数、lua字符串的处理、lua支持的字符串类、模式串中的特殊字符_学习笔记04

    Lua的函数的定义.math数学函数 定义函数 function [function name] (param1,param2) [function code] --定义一个函数用来求的两个数字的和 ...

  9. opencv-6-图像绘制与opencv Line 函数剖析

    opencv-6-图像绘制与opencv Line 函数剖析 opencvc++qt 开始之前 越到后面, 写的越慢, 之前还抽空去看了下 学堂在线那篇文章提供的方法, 博客第一个人评论的我, 想想还 ...

随机推荐

  1. docker学习笔记-05:DockerFile解析

    一.DockerFile是什么 1.DockerFile是用来构建docker镜像的构建文件,是由一系列参数和命令构成的脚本. 2.构建三步骤: 手动编写一个dockerfile文件,然后直接dock ...

  2. 仿有道词典App开发

    最近在学习HCoder提供的仿有道词典App项目,该项目采用MUI为前端框架,服务端采用PHP,底层采用了H5+.

  3. PHP实现微信网页登陆授权开发

    这篇文章主要介绍了关于PHP实现微信网页登陆授权开发,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 更多PHP相关知识请关注我的专栏PHP​zhuanlan.zhihu.com 微信开 ...

  4. 阿里RocketMq试用记录+简单的Spring集成

    CSDN学院招募微信小程序讲师啦 程序猿全指南,让[移动开发]更简单! [观点]移动原生App开发 PK HTML 5开发 云端应用征文大赛,秀绝招,赢无人机! 阿里RocketMq试用记录+简单的S ...

  5. Windows驱动开发-内核常用内存函数

    搞内存常用函数 C语言 内核 malloc ExAllocatePool memset RtlFillMemory memcpy RtlMoveMemory free ExFreePool

  6. 第1节 HUE:14、15、16、hue与hdfs、yarn集群、hive、impala、mysql的整合

    3.hue与其他框架的集成 3.1.hue与hadoop的HDFS以及yarn集成 第一步:更改所有hadoop节点的core-site.xml配置 记得更改完core-site.xml之后一定要重启 ...

  7. 【LeetCode】寻找右区间

    [问题] 给定一组区间,对于每一个区间 i,检查是否存在一个区间 j,它的起始点大于或等于区间 i 的终点,这可以称为 j 在 i 的“右侧”. 对于任何区间,你需要存储的满足条件的区间 j 的最小索 ...

  8. docker学习笔记-04:docker容器数据卷

    一.容器数据卷是什么 1.为了保存docker容器运行时产生的数据,做数据的持久化,我们需要用到容器数据卷.因为如果不通过docker commit 生成新的镜像,那么当容器被删除时,数据自然就没有了 ...

  9. Python面试常问的10个问题

    很多人想找Python工作,面试往往在基础知识点采坑了 Python是个非常受欢迎的编程语言,随着近些年机器学习.云计算等技术的发展,Python的职位需求越来越高.下面我收集了10个Python面试 ...

  10. 《新标准C++程序设计》4.5(C++学习笔记15)

    实例:长度可变的整型数组类 int main() { //要编写可变长整型数组类,使之能如下使用: CArray a; //开始里的数组是空的 ; i < ; ++i) a.push_back( ...