矩阵和图像的操作

(1)cvCrossProduct函数

其结构

void cvCrossProdust(//计算两个三维向量的叉积
const CvArr* src1,
const CvArr* src2,
CvArr* dst
);

实例代码

#include <cv.h>
#include <highgui.h>
#include <stdio.h>
#include <iostream>
using namespace std; int main()
{
double va[] = {3,0,0};
double vb[] = {0,4,0};
double vc[3];
CvMat Va=cvMat(3, 1, CV_64FC1, va);
CvMat Vb=cvMat(3, 1, CV_64FC1, vb);
CvMat Vc=cvMat(3, 1, CV_64FC1, vc);
cvCrossProduct(&Va, &Vb, &Vc);
cout <<CV_MAT_ELEM(Vc,double,0,0)<<endl;
cout <<CV_MAT_ELEM(Vc,double,1,0)<<endl;
cout <<CV_MAT_ELEM(Vc,double,2,0)<<endl;
getchar();
return 0;
}

输出结果

(2)cvCvtColor函数

其结构

void cvCvtColor(//改变图像色彩空间
const CvArr* src,
CvArr* dst,
int code
);

当中code是色彩空间转换的标记其标记例如以下

CV_BGR2RGB

CV_RGB2BGR

CV_RGBA2BGRA

CV_BGRA2RGBA         在RGB或BGR色彩空间之间转换(包含或者不包含alpha 通道)

CV_RGB2RGBA

CV_BGR2BGRA           在RGB或BGR图像中增加alpha 通道

CV_RGBA2RGB

CV_BGRA2BGR           从RGB或BGR图像中删除alpha 通道

CV_RGB2BGRA

CV_RGBA2BGR

CV_BGRA2RGB

CV_BGR2RGBA            增加或者移除alpha通道时,转换RGB到BGR 色彩空间

CV_RGB2GRAY

CV_BGR2GRAY            转换RGB或者BGR色彩空间为灰度空间

CV_GRAY2RGB

CV_GRAY2BGR

CV_RGBA2GRAY

CV_BGRA2GRAY         转换灰度为RGB或者BGR色彩空间(在进程中选择移除alpha通道)

CV_GRAY2RGBA

CV_GRAY2BGRA         转换灰度为RGB或者BGR色彩空间而且增加alpha通道

CV_RGB2BGR565

CV_BGR2BGR565

CV_BGR5652RGB

CV_BGR5652BGR

CV_RGBA2BGR565

CV_BGRA2BGR565

CV_BGR5652RGBA

CV_BGR5652BGRA        在从RGB或者BGR色彩空间转换到BGR565彩色图画时,选择增加或者移除 alpha通道 (16位图)

CV_GRAY2BGR565

CV_BGR5652GRAY         转换灰度为BGR565彩色图像或者反变换(16位图)

CV_RGB2BGR555

CV_BGR2BGR555

CV_BGR5552RGB

CV_BGR5552BGR

CV_RGBA2BGR555

CV_BGRA2BGR555          在从RGB或者BGR色彩空间转换到BGR555色彩空间时,选择增加或者移除alpha通道(16位图)

CV_BGR5552RGBA

CV_BGR5552BGRA

CV_GRAY2BGR555

CV_BGR5552GRAY          转换灰度到BGR555色彩空间或者反变换(16位图)

CV_RGB2XYZ

CV_BGR2XYZ

CV_XYZ2RGB

CV_XYZ2BGR                    转换RGB或者BGR色彩空间到CIE XYZ色彩空间或者反变换(Rec 709和D65 白点)

CV_RGB2YCrCb

CV_BGR2YCrCb

CV_YCrCb2RGB

CV_YCrCb2BGR                转换RGB 或者BGR色彩空间到luma-chroma (aka YCC)色彩空间

CV_RGB2HSV

CV_BGR2HSV

CV_HSV2RGB

CV_HSV2BGR                    转换RGB或者BGR色彩空间到HSV(hue。saturation,value)色彩空间或反变换

CV_RGB2HLS

CV_BGR2HLS

CV_HLS2RGB

CV_HLS2BGR                     转换RGB或者BGR色彩空间到HLS(hue,Lightness,saturation)色彩空间或反变换

CV_RGB2Lab

CV_BGR2Lab

CV_Lab2RGB

CV_Lab2BGR                      转换RGB或者BGR色彩空间到CIE LAB色彩空间或反变换

CV_RGB2Luv

CV_BGR2Luv

CV_Luv2RGB

CV_Luv2BGR                        转换RGB或者BGR色彩空间到CIE Luv色彩空间

CV_BayerBG2RGB

CV_BayerGB2RGB               转换Bayer模式(单通道) 到RGB或者BGR色彩空间

CV_BayerRG2RGB

CV_BayerGR2RGB

CV_BayerBG2BGR

CV_BayerGB2BGR

CV_BayerRG2BGR

CV_BayerGR2BGR

依据英文含义非常easy明确其意义

实例代码

#include <cv.h>
#include <highgui.h>
#include <stdio.h> int main(int argc, char** argv)
{
IplImage *src2,*src3;
src2=cvLoadImage("3.jpg");
src3=cvLoadImage("7.jpg"); cvCvtColor(src2,src3,CV_RGB2HSV);
cvShowImage( "測试2", src2);
cvShowImage( "測试3", src3);
cvWaitKey();
return 0;
}

输出结果

to be continued

《学习opencv》笔记——矩阵和图像操作——cvCrossProduct and cvCvtColor的更多相关文章

  1. 《学习opencv》笔记——矩阵和图像操作——cvCalcCovarMatrix,cvCmp and cvCmpS

    矩阵和图像的操作 (1)cvCalcCovarMatrix函数 其结构 void cvCalcCovarMatrix(计算给定点的均值和协方差矩阵 const CvArr** vects,//给定向量 ...

  2. 《学习opencv》笔记——矩阵和图像操作——cvSetIdentity,cvSolve,cvSplit,cvSub,cvSubS and cvSubRS

    矩阵和图像的操作 (1)cvSetIdentity函数 其结构 void cvSetIdentity(//将矩阵行与列相等的元素置为1.其余元素置为0 CvArr* arr//目标矩阵 ); 实例代码 ...

  3. 《学习opencv》笔记——矩阵和图像操作——cvAnd、cvAndS、cvAvg and cvAvgSdv

    矩阵和图像的操作 (1)cvAnd函数 其结构 void cvAnd( //将src1和src2按像素点取"位与运算" const CvArr* src1,//第一个矩阵 cons ...

  4. 《学习opencv》笔记——矩阵和图像操作——cvAbs,cvAbsDiff and cvAbsDiffS

    矩阵和图像的操作 (1)cvAbs,cvAbsdiff,cvAbsDiffS 它们的结构为: void cvAbs( //取src中元素的绝对值,写到dst中 const CvArr* src, co ...

  5. 《学习opencv》笔记——矩阵和图像操作——cvInRange,cvInRangeS,cvInvert and cvMahalonobis

    矩阵和图像的操作 (1)cvInRange函数 其结构 void cvInRange(//提取图像中在阈值中间的部分 const CvArr* src,//目标图像 const CvArr* lowe ...

  6. 《学习opencv》笔记——矩阵和图像操作——cvConvertScale,cvConvertScaleAbs,cvCopy and cvCountNonZero

    矩阵和图像的操作 (1)cvConvertScale函数 其结构: void cvConvertScale( //进行线性变换,将src乘scale加上shift保存到dst const CvArr* ...

  7. opencv笔记2:图像ROI

    time:2015年 10月 03日 星期六 12:03:45 CST # opencv笔记2:图像ROI ROI ROI意思是Region Of Interests,感兴趣区域,是一个图中的一个子区 ...

  8. OpenCV —— 矩阵和图像操作

    cvAbs , cvAbsDiff , cvAbsDiffS cvAdd , cvAddS , cvAddWeighted(可添加权重) #include <cv.h> #include ...

  9. OpenCV利用矩阵实现图像旋转

    利用OpenCV的矩阵操作实现图像的逆时针旋转90度操作 代码 Mat src = imread("C:\\Users\\fenggl\\Desktop\\测试.jpg",MREA ...

随机推荐

  1. bzoj 3772

    感觉做这种题收获很大. 1.DFS序(广义上)除了用于静态子树操作,也可以用来做点到根的路上某些信息的统计(如点到根的路径上标记了多少个点),如果在加上lca,就可以支持路径的信息查询. 2.树上的可 ...

  2. bzoj 1415 无环期望

    #include <cstdio> #include <vector> #include <queue> #include <algorithm> #d ...

  3. Educational Codeforces Round 11 D. Number of Parallelograms 暴力

    D. Number of Parallelograms 题目连接: http://www.codeforces.com/contest/660/problem/D Description You ar ...

  4. 2015 UESTC 数据结构专题G题 秋实大哥去打工 单调栈

    秋实大哥去打工 Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/59 Descr ...

  5. JDK及JRE中bin工具说明

    jre/bin工具说明:javac:Java编译器,将Java源代码换成字节代 java:Java解释器,直接从类文件执行Java应用程序代码 appletviewer(小程序浏览器):一种执行HTM ...

  6. mp4网页播放代码,有声音无图像的解决办法~

    mp4网页播放代码,有声音无图像的解决办法~     关于网页播放mp4格式的视频,找了一些插件,这里推荐一下video.js 官方网址:http://www.videojs.com/ github ...

  7. javascript函数中的匿名函数

    一般写函数,我们会这样调用: function add(x, y) { return x + y; } alert(add(2, 3)); 或者这样: var add = function(x, y) ...

  8. FAQ:领域服务和应用服务的职责是什么?

    问答部分 问: 领域服务的职责是什么? 答: 夸聚合实例业务逻辑. 没办法合理放到实体中的其它业务逻辑. 问: 领域服务的设计原则是什么? 答: 用来组织业务逻辑. 面向业务逻辑. 细粒度. 内部视图 ...

  9. 优化png图片的历程

    一.使用yslow一个tool  找到一个叫做smush的工具,点击就可以进入工具的页面. 然后你就能够压缩,下载压缩后的图片. 可是终于我还是没有选择这个方案.由于压缩的图片大小还是太大了,我认为还 ...

  10. Latex作者单位的写法—AND 首页脚注

    IEEE会议的模板 以四个作者为例 正常: 作者单位如果名字较短,可以直接写在作者对应的下面,邮箱可以对应写在再接下来的下面. 一 如果邮箱较长,可以用\thanks{ }命令将其变为脚注.例如: ~ ...