第一种:参考http://www.opencv.org.cn/index.php/Cxcore%E6%95%B0%E7%BB%84%E6%93%8D%E4%BD%9C#ConvertScale
用函数cvConvertScale();
void cvConvertScale( const CvArr* src, CvArr* dst, double scale=1, double shift=0 );
src
输入数组.
dst
输出数组
scale
比例因子.
shift
该加数被加到输入数组元素按比例缩放后得到的元素上
函数 cvConvertScale 有多个不同的目的因此就有多个同义函数(如上面的#define所示)。该函数首先对输入数组的元素进行比例缩放,然后将shift加到比例缩放后得到的各元素上,即: dst(I)=src(I)*scale + (shift,shift,...),最后可选的类型转换将结果拷贝到输出数组。
多通道的数组对各个通道是独立处理的。
类型转换主要用舍入和溢出截断来完成。也就是如果缩放+转换后的结果值不能用输出数组元素类型值精确表达,就设置成在输出数组数据轴上最接近该数的值。
如果 scale=1, shift=0 就不会进行比例缩放. 这是一个特殊的优化,相当于该函数的同义函数名:cvConvert 。如果原来数组和输出数组的类型相同,这是另一种特殊情形,可以被用于比例缩放和平移矩阵或图像,此时相当于该函数的同义函数名:cvScale。
如何在matlab下要实现矩阵A = B*a,A、B为矩阵,a为系数,则在opencv下是 cvConvertScale(B,A,a,0); 如果要实现A = B*a + b ,在opencv下既是:cvConvertScale(B,A,a,b)
第二种方法:参考http://hi.baidu.com/262035983/blog/item/6f9a8d51b51cea140cf3e3ad.html,
用函数cvAddWeighted()来实现。
void cvAddWeighted(const CvArr* src1,double alpha,const CvArr* src2,double beta,double gamma,CvArradded to each sum* dst);//带权相加相当于dst(x,y) = alpha* src1(x,y) + beta* src2(x,y) + gamma , dst为输出矩阵。
分享到:
相关推荐
本程序是Opencv官方文档(3.0)的一个关于矩阵掩码操作的例子,可以完美运行
本程序实现了基于OpenCV的矩阵操作,包括随机创建矩阵,矩阵运算,计算均值、标准差等,适合刚学OpenCV的新手
基于OpenCV和VS2008的图像灰度共生矩阵特征提取程序。并附带matlab版的。
1,它需要cvblobslib这一个opencv的扩展库来实现检测物体与给物体画框的功能,具体安装信息请见: http://dsynflo.blogspot.com/2010/02/cvblobskib-with-opencv-installation.html,当你配置好cvblobslib之后,你...
介绍了Opencv中的基本矩阵运算函数和使用方法,并给出了实例。
用visual studio 2008和opencv2.0的库实现的灰度共生矩阵,并简单计算了纹理的能量特征。自己编写并测试过,只要opencv2.0的库没问题就OK。4个方向,灰度级可调,距离可调。
opencv矩阵操作.pdf
OpenCV两种方法显示中文(一种配置CvxText和FreeType库,一种不需要配置库),默认环境VS2012+OpenCV249。
总结了OpenCV总常用的图像和矩阵操作,并对相似的函数做了比较和区别。
opencv矩阵操作.doc
opencv中cvmat创建矩阵并给矩阵赋值并存储成xml文件,适合初学者,可以进一步了解矩阵的存储。
opencv实现两种手势识别,拳头和手掌,效果还是可以的
OpenCV矩阵操作借鉴.pdf
模糊矩阵的乘积运算,opencv2实现。仅供参考。
OpenCV图像、矩阵、数组.[归类].pdf
使用vc++6.0生成调用opencv生成的5*5单位矩阵,从而更好的服务程序!
基于OpenCV实现,仿Halcon卡尺工具
基于Opencv库的投影矩阵P分解成K R T三分量,即内参K,外参R T。
基于vc++结合opencv,利用8点法计算两视图基本矩阵,可用于图像匹配中。
opencv中试用surf匹配 求仿射矩阵