// 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. CentOS 下 安装 nginx 执行配置命令 ./configure 报错

    CentOS 下 安装 nginx 执行配置命令 ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx 时提示以下错误: checkin ...

  2. JavaScript之bind方法实现代码分析

    我们来分析一下bind方法的实现代码,下图的bind方法的实现为MDN(开发者社区)中的代码. 由上图可得:bind方法实现了两个功能:绑定this和科里化.

  3. Spring JMSTemplate 与 JMS 原生API比较

    博客分类: JMS Spring 2.x   JMSUtil与Spring JmsTemplate的对比 Author:信仰 Date:2012-4-20 未完待续,截止日期2012-4-20 从以下 ...

  4. angularJS MVVM

  5. 第3节 sqoop:2、sqoop的基本简介和安装

    3. sqoop数据迁移 3.1.概述 sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具. 导入数据:MySQL,Oracle导入数据到Hadoop的HDFS.HI ...

  6. JS动态判断设备类型为PC或者移动端,然后根据设备加载相应的代码

    这里是通过JS判断设备之后加载相应的网站,如果是移动端加载m开头的网站域名,如果是PC端就加载 www.开头的正式域名 <script> (function () { var url = ...

  7. Java并发——volatile的原理

    111 Java并发——volatile的原理

  8. LCA之tarjan离线

    显然81篇题解是有点多了,不让我提交. 更为不好的是没有一篇详细的\(tarjan\)(不过我也不会写详细的). 不过\(tarjan\)并没有我们想象的那样难理解,时间也并不爆炸(巧妙的跳过难写二字 ...

  9. Java日志相关概述

    日志是代码调试.生产运维必备工具,基本所有软件都会有日志记录. 1.常用日志框架介绍 1.Logging jdk1.5自带日志工具类,位于java.util.logging; 2.Log4j 市场占有 ...

  10. linux内核链表的实现

    .\linux-2.6.22.6_vscode\include\linux\list.h #ifndef _LINUX_LIST_H#define _LINUX_LIST_H #ifdef __KER ...