【OpenCV】图像代数运算:平均值去噪,减去背景

代数运算,就是对两幅图像的点之间进行加、减、乘、除的运算。四种运算相应的公式为:


代数运算中比较常用的是图像相加和相减。图像相加常用来求平均值去除addtive噪声或者实现二次曝光(double-exposure)。图像相减用于减去背景或周期噪声,污染等。

图像相加


OpenCV中提供了相加的函数
void cvAcc( 
           const CvArr* image,//输入图像
           CvArr* sum,  //累积图像 
           const CvArr* mask=NULL//可选的运算
 );
我们还需要用到一个线性变换转换函数来对相加的结果求平均
void cvConvertScale( 
        const CvArr* src, //输入数组
        CvArr* dst,//输出数组
        double scale=1,//比例
        double shift=0 //缩放比例,可选
);
#define cvCvtScale cvConvertScale
#define cvScale  cvConvertScale
#define cvConvert( src, dst )  cvConvertScale( (src), (dst), 1, 0 )


实践:平均值去噪

我们用NASA的一段幸运团的视频做实验,截取视频的某几个连续帧求平均值:
int main()
{
	CvCapture* capture=cvCaptureFromFile("media.avi");
	IplImage* frame=  NULL;
	IplImage * imgsum =NULL;
	
	int start=301;
	int end=304;
	cvSetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES, start);
	
	int count = st
  • 23
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值