《学习opencv》笔记——矩阵和图像操作——cvAnd、cvAndS、cvAvg and cvAvgSdv
矩阵和图像的操作
(1)cvAnd函数
其结构
void cvAnd( //将src1和src2按像素点取“位与运算”
const CvArr* src1,//第一个矩阵
const CvArr* src2,//第二个矩阵
CvArr* dst,//结果矩阵
const CvArr* mask = NULL;//矩阵经行像素点与的“开关”
);
程序实例
#include <cv.h>
#include <highgui.h>
#include <stdio.h>
int main(int argc, char** argv)
{
IplImage *src1, *src2,*src3;
src1=cvLoadImage("1.jpg");
src2=cvLoadImage("3.jpg");
src3=cvLoadImage("4.jpg");
cvAnd(src1,src2,src3);
cvShowImage( "測试1", src1);
cvShowImage( "測试2", src2);
cvShowImage( "測试3", src3);
cvWaitKey();
return 0;
}
输出结果
void cvAndS(//使src1与value进行 位与运算
const CvArr* src1,//第一个矩阵
CvScalar value,//运算标量
CvArr* dst,//结果矩阵
const CvArr* mask = NULL;//运算开关
);
实例程序
#include <cv.h>
#include <highgui.h>
#include <stdio.h>
int main(int argc, char** argv)
{
IplImage *src1, *src2,*src3;
src1=cvLoadImage("1.jpg");
src2=cvLoadImage("5.jpg");
CvScalar cs;
cs.val[1] = 100.0;
cs.val[2] = 100.0;
cs.val[0] = 100.0;
cs.val[3] = 100.0;
cvAndS(src1,cs,src1);
cvShowImage( "測试1", src1);
cvShowImage( "測试2", src2);
cvWaitKey();
return 0;
}
输出结果
CvScalar cvAvg(//求出src的平均像素值
const CvArr* src,//目标矩阵
const CvArr* mark = NULL//像素开关
);
实例代码:我对上面那个机器猫的图像使用
#include <cv.h>
#include <highgui.h>
#include <iostream>
#include <stdio.h>
using namespace std;
int main(int argc, char** argv)
{
IplImage *src1;
src1=cvLoadImage("1.jpg");
CvScalar cs;
cs = cvAvg(src1);
cout<<cs.val[0] << endl;
cout<<cs.val[1] << endl;
cout<<cs.val[2] << endl;
cout<<cs.val[3] << endl;
getchar();
return 0;
}
输出结果
CvScalar cvAvg(//求像素平均值和标准差
const CvArr* arr,//目标矩阵
CvScalar* mean,//平均值
CvScalar* std_dev,//标准差
const CvArr* mark = NULL//像素开关
);
程序实例:依旧用的机器猫图片
#include <cv.h>
#include <highgui.h>
#include <iostream>
#include <stdio.h>
using namespace std;
int main(int argc, char** argv)
{
IplImage *src1;
src1=cvLoadImage("1.jpg");
CvScalar cs,cs1;
cvAvgSdv(src1,&cs,&cs1);
cout<<"平均值:"<<endl;
cout<<cs.val[0] << endl;
cout<<cs.val[1] << endl;
cout<<cs.val[2] << endl;
cout<<cs.val[3] << endl;
cout <<endl;
cout <<"标准差"<<endl;
cout<<cs1.val[0] << endl;
cout<<cs1.val[1] << endl;
cout<<cs1.val[2] << endl;
cout<<cs1.val[3] << endl;
getchar();
return 0;
}
输出结果
《学习opencv》笔记——矩阵和图像操作——cvAnd、cvAndS、cvAvg and cvAvgSdv的更多相关文章
- 《学习opencv》笔记——矩阵和图像操作——cvCalcCovarMatrix,cvCmp and cvCmpS
矩阵和图像的操作 (1)cvCalcCovarMatrix函数 其结构 void cvCalcCovarMatrix(计算给定点的均值和协方差矩阵 const CvArr** vects,//给定向量 ...
- 《学习opencv》笔记——矩阵和图像操作——cvSetIdentity,cvSolve,cvSplit,cvSub,cvSubS and cvSubRS
矩阵和图像的操作 (1)cvSetIdentity函数 其结构 void cvSetIdentity(//将矩阵行与列相等的元素置为1.其余元素置为0 CvArr* arr//目标矩阵 ); 实例代码 ...
- 《学习opencv》笔记——矩阵和图像操作——cvAbs,cvAbsDiff and cvAbsDiffS
矩阵和图像的操作 (1)cvAbs,cvAbsdiff,cvAbsDiffS 它们的结构为: void cvAbs( //取src中元素的绝对值,写到dst中 const CvArr* src, co ...
- 《学习opencv》笔记——矩阵和图像操作——cvInRange,cvInRangeS,cvInvert and cvMahalonobis
矩阵和图像的操作 (1)cvInRange函数 其结构 void cvInRange(//提取图像中在阈值中间的部分 const CvArr* src,//目标图像 const CvArr* lowe ...
- 《学习opencv》笔记——矩阵和图像操作——cvCrossProduct and cvCvtColor
矩阵和图像的操作 (1)cvCrossProduct函数 其结构 void cvCrossProdust(//计算两个三维向量的叉积 const CvArr* src1, const CvArr* s ...
- 《学习opencv》笔记——矩阵和图像操作——cvConvertScale,cvConvertScaleAbs,cvCopy and cvCountNonZero
矩阵和图像的操作 (1)cvConvertScale函数 其结构: void cvConvertScale( //进行线性变换,将src乘scale加上shift保存到dst const CvArr* ...
- opencv笔记2:图像ROI
time:2015年 10月 03日 星期六 12:03:45 CST # opencv笔记2:图像ROI ROI ROI意思是Region Of Interests,感兴趣区域,是一个图中的一个子区 ...
- OpenCV —— 矩阵和图像操作
cvAbs , cvAbsDiff , cvAbsDiffS cvAdd , cvAddS , cvAddWeighted(可添加权重) #include <cv.h> #include ...
- OpenCV利用矩阵实现图像旋转
利用OpenCV的矩阵操作实现图像的逆时针旋转90度操作 代码 Mat src = imread("C:\\Users\\fenggl\\Desktop\\测试.jpg",MREA ...
随机推荐
- lnmp创建站点
一.创建站点 1.输入命令 lnmp vhost add 输入域名 www.xxx.com 回车 回车 回车 y创建 n不创建 网站如果有目录权限 更改目录权限 chown -R www:www /h ...
- LeetCode(31): 下一个排列
Medium! 题目描述: (请仔细读题) 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列. 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列) ...
- linux下的文件结构
linux下的文件结构,看看每个文件夹都是干吗用的/bin 二进制可执行命令/dev 设备特殊文件/etc 系统管理和配置文件/etc/rc.d 启动的配置文件和脚本/home 用户主目录的基点,比如 ...
- 关系操作符 == != equals()
== 和!= //: object/test.java package object; import java.util.*; public class Test{ public static vo ...
- PHP常见错误提示含义解释
1.Notice: Undefined variable: 变量名 in 注:使用了一个没有被定义的变量 2.Parse error: syntax error, unexpected T_ELSE ...
- hdu1423LCIS zoj2432 必须掌握!
LCIS就是最长上升公共子序列,要结合LIS和LCS来求 LIS:f[j]=max(f[i])+1; LCS:f[i,j]=max(f[i-1,j],f[i,j-1]或f[i-1,j-1]+1 那么对 ...
- VMvare虚拟机如何删除安装的ubuntu操作系统
VMvare虚拟机如何删除安装的ubuntu操作系统呢??? 这个问题其实在我刚开始接触虚拟机和ubuntu操作系统的时候对于如何删除操作系统是一件很苦恼的事情,因为按照书本的步骤,根本看不懂如何操作 ...
- zprofiler三板斧解决cpu占用率过高问题
zprofiler三板斧解决cpu占用率过高问题 九居 浏览 171 2015-04-08 14:11:58 发表于:JVM性能与调试平台 zprofiler 上周五碰到了一个线上机器cpu ...
- IE浏览器url中带中文报错的问题;以及各种兼容以及浏览器问题总结
1.解决IE浏览器url带中文报错 /* encodeURI()解决IE浏览器请求url中带中文报错的问题 */ URL = encodeURI("<%=basePath%>ve ...
- 080 HBase的属性
一:基本属性 1.查看属性 2.解释属性 NAME:列簇名 BLOOMFILTER:布隆过滤器,用于对storefile的过滤 共有三种类型: ROW:行健过滤 ROWCOL:行列过滤 NONE:无 ...