博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《学习opencv》笔记——矩阵和图像操作——cvSetIdentity,cvSolve,cvSplit,cvSub,cvSubS and cvSubRS...
阅读量:6114 次
发布时间:2019-06-21

本文共 2950 字,大约阅读时间需要 9 分钟。

矩阵和图像的操作

(1)cvSetIdentity函数

其结构

void cvSetIdentity(//将矩阵行与列相等的元素置为1。其余元素置为0	CvArr* arr//目标矩阵);

实例代码

#include 
#include
#include
#include
using namespace std;int main() { double a[3][3] = { {1,2,3}, {4,5,6}, {7,8,9} }; CvMat va = cvMat(3,3, CV_64FC1,a); cout<<"目标矩阵:"<

输出结果

(2)cvSolve函数

其结构

int cvSolve(//求解线性方程组解 src*dst = src2	const CvArr* src1,//系数矩阵	const CvArr* src2,//常数矩阵	CvArr* dst,//解矩阵	int method = CV_LU//用法);

实例代码

#include 
#include
#include
#include
using namespace std;int main() { cout<< "计算A*X = B中的解X:" <

输出结果

(3)cvSplit函数

其结构

void cvSplit(//分解多通道图像为各个单通道	const CvArr* src,//目标图像	CvArr* dst0,//单通道图像1	CvArr* dst1,//单通道图像2	CvArr* dst2,//单通道图像3	CvArr* dst3//单通道图像4);

实例代码

#include 
#include
#include
int main() { IplImage *src1,*dst1,*dst2,*dst3,*dst4; src1=cvLoadImage("3.jpg",1); dst1 = cvCreateImage(cvSize(src1->width, src1->height), IPL_DEPTH_8U, 1); dst2 = cvCreateImage(cvSize(src1->width, src1->height), IPL_DEPTH_8U, 1); dst3 = cvCreateImage(cvSize(src1->width, src1->height), IPL_DEPTH_8U, 1); cvSplit(src1, dst1, dst2, dst3, 0); cvShowImage("1",src1); cvShowImage("2",dst1); cvShowImage("3",dst2); cvShowImage("4",dst3); cvWaitKey(); return 0;}

输出结果

(4)cvSub函数

其结构

void cvSub(//两个矩阵做减法	const CvArr* src1,//被减矩阵	const CvArr* src2,//减矩阵	CvArr* dst,//结果矩阵	const CvArr* mask = NULL//矩阵开关);

实例代码

#include 
#include
#include
int main() { IplImage *src1,*src2,*src3; src1 = cvLoadImage("3.jpg"); src2 = cvLoadImage("1.jpg"); src3 = cvLoadImage("7.jpg"); cvSub(src1,src2,src3); cvShowImage("1",src1); cvShowImage("2",src2); cvShowImage("3",src3); cvWaitKey(); return 0;}

输出结果

(5)cvSubS函数

其结构

void cvSubS(//矩阵和值做减法	const CvArr* src,//被减矩阵	CvScalar value,//减数值	CvArr* dst,//结果矩阵	const CvArr* mask = NULL//矩阵“开关”);

实例代码

#include 
#include
#include
int main() { IplImage *src1, *src2; src1 = cvLoadImage("1.jpg"); src2 = cvLoadImage("7.jpg"); CvScalar cs; cs.val[0] = 0; cs.val[1] = 255; cs.val[2] = 0; cs.val[3] = 0; cvSubS(src1,cs,src2); cvShowImage( "測试1", src1); cvShowImage( "測试2", src2); cvWaitKey(); return 0;}

输出结果

(6)cvSubRS函数

其结构

void cvSubRS(//给定值减去矩阵	const CvArr* src,//减矩阵	CvScalar value,//被减数值	CvArr* dst,//结果矩阵	const CvArr* mask = NULL//矩阵“开关”);

实例代码

#include 
#include
#include
int main() { IplImage *src1, *src2; src1 = cvLoadImage("1.jpg"); src2 = cvLoadImage("7.jpg"); CvScalar cs; cs.val[0] = 0; cs.val[1] = 255; cs.val[2] = 0; cs.val[3] = 0; cvSubRS(src1,cs,src2); cvShowImage( "測试1", src1); cvShowImage( "測试2", src2); cvWaitKey(); return 0;}

输出结果

to be continued

本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5153156.html,如需转载请自行联系原作者
你可能感兴趣的文章
9、Dubbo-配置(4)
查看>>
前端第七天
查看>>
BZOJ 2190[SDOI2008]仪仗队
查看>>
图解SSH原理及两种登录方法
查看>>
[转载] 七龙珠第一部——第058话 魔境圣地
查看>>
【总结整理】JQuery基础学习---样式篇
查看>>
查询个人站点的文章、分类和标签查询
查看>>
基础知识:数字、字符串、列表 的类型及内置方法
查看>>
JSP的隐式对象
查看>>
P127、面试题20:顺时针打印矩阵
查看>>
JS图片跟着鼠标跑效果
查看>>
[SCOI2005][BZOJ 1084]最大子矩阵
查看>>
学习笔记之Data Visualization
查看>>
Leetcode 3. Longest Substring Without Repeating Characters
查看>>
【FJOI2015】金币换位问题
查看>>
数学之美系列二十 -- 自然语言处理的教父 马库斯
查看>>
Android实现自定义位置无标题Dialog
查看>>
面试总结
查看>>
Chrome浏览器播放HTML5音频没声音的解决方案
查看>>
easyui datagrid 行编辑功能
查看>>