c++ opencv 数学函数示例
// 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 数学函数示例的更多相关文章
- SQL Server数学函数
数学函数 1.计算绝对值ABS ABS函数对一个数值表达式结果计算绝对值(bit数据类型除外),返回整数. 语法结构: ABS(数值表达式) 返回值:与数值表达式类型一致的数据 示例: ) --输出 ...
- Oracle SQL函数之数学函数
Oracle SQL函数之数学函数 ABS(x) [功能]返回x的绝对值 [参数]x,数字型表达式 [返回]数字 SQL> SELECT ABS(),ABS(-) FROM DUAL; ABS( ...
- VB.Net常用数学函数整理
System.Math 类中定义了用于数学计算的函数.Math 类包括三角函数.对数函数和其他常用数学函数.下列函数是在 System 名称空间的 Math 类中定义的函数. 注意:要使用这些函数 ...
- MySQL 数学函数
MySQL 数学函数 所有的数学函数在发生错误的情况下,均返回 NULL. -元减.改变参数的符号 mysql> SELECT - 2; -> -2 注意,如果这个操作符被用于一个 BIG ...
- mysql 函数示例(转)
MySQL函数大全及用法示例 1.字符串函数ascii(str) 返回字符串str的第一个字符的ascii值(str是空串时返回0) mysql> select ascii('2'); ...
- MySql常用函数数学函数、加密函数等(转—收藏)
MySql函数众多,这里只是列举了一部分常用的函数. 一.数学函数 ABS(x) // 返回x的绝对值 BI ...
- Python 绘制你想要的数学函数图形
Python 非常热门,但除非工作需要没有刻意去了解更多,直到有个函数图要绘制,想起了它.结果发现,完全用不着明白什么是编程,就可以使用它完成很多数学函数图的绘制. 通过以下两个步骤,就可以进行数学函 ...
- Lua的函数的定义、math数学函数、lua字符串的处理、lua支持的字符串类、模式串中的特殊字符_学习笔记04
Lua的函数的定义.math数学函数 定义函数 function [function name] (param1,param2) [function code] --定义一个函数用来求的两个数字的和 ...
- opencv-6-图像绘制与opencv Line 函数剖析
opencv-6-图像绘制与opencv Line 函数剖析 opencvc++qt 开始之前 越到后面, 写的越慢, 之前还抽空去看了下 学堂在线那篇文章提供的方法, 博客第一个人评论的我, 想想还 ...
随机推荐
- maven构建项目失败----99%
删除工作空间信息,重新导入,问题解决, 该问题,可能是安装Spring IDE 导致的问题,eclipse兼容性问题
- Mybatis入门(四)配置别名(二)
这一章我们练习一下Mybatis的别名,这大大的提高了我们的开发效率 类型别名(typeAliases) 类型别名是为 Java 类型设置一个短的名字. 它只和 XML 配置有关,作用在于用来减少类完 ...
- 大数据篇:DolphinScheduler-1.2.0.release安装部署
大数据篇:DolphinScheduler-1.2.0.release安装部署 1 配置jdk #查看命令 rpm -qa | grep java #删除命令 rpm -e --nodeps xxx ...
- Linux安装nginx的环境要求
# Linux下切记不能乱删东西!我把pcre强制删除后,什么命令都不能使用了,系统奔溃,血的教训! nginx是C语言开发,建议在linux上运行,本教程使用Centos6.4作为安装环境. 一. ...
- 嵊州普及Day5T1
题意:有n个商店,自家商店的定价不可高于任何一家商店定价,求自家商店最高定价. 思路:拿个变量打擂台即可,不用解释太多. 见代码: #include<iostream> #include& ...
- rinetd 进行转发
目前云数据库 Redis 版需要通过 ECS 进行内网连接访问.如果您本地需要通过公网访问云数据库 Redis,可以在 ECS Linux 云服务器中安装 rinetd 进行转发实现. 在云服务器 E ...
- vue 使用 element-ui 时报错ERROR in ./node_modules/element-ui/lib/theme-chalk/fonts/element-icons.ttf
在vue项目中引用 element-ui 时,虽然按照 element-ui 的官方文档一步步操作,还是产生了下面的错误 解决这个问题的方法,就是在 web pack.config.js 文件中进 ...
- Jmeter - Linux 下面执行jmeter-server的时候出现:An error occurred: Cannot start. localhost is a loopback address.错误
Jmeter - Linux 下面执行jmeter-server的时候出现:An error occurred: Cannot start. localhost is a loopback addre ...
- Rolling Update【转】
滚动更新是一次只更新一小部分副本,成功后,再更新更多的副本,最终完成所有副本的更新.滚动更新的最大的好处是零停机,整个更新过程始终有副本在运行,从而保证了业务的连续性. 下面我们部署三副本应用,初始镜 ...
- 从LG绝不放弃智能手机业务看后者到底有多重要?
近年来,全球手机市场放缓已经是不争的事实.与此同时,手机行业集中趋势明显,几家巨头掌握着大部分市场,占据着垄断的市场位置.但就是在这样的态势下,很多手机部门明显已经成为累赘的企业,却依然不想放弃智能手 ...