关于cvAdsDiffS的那些事

cvAbsDiffS
计算数组元素与数量之间差的绝对值

void cvAbsDiffS( const CvArr* src, CvArr* dst, CvScalar value );


#define cvAbs(src, dst) cvAbsDiffS(src, dst, cvScalarAll(0))


src
原数组.
dst
输出数组
value
数量.
函数 cvAbsDiffS 计算数组元素与数量之间差的绝对值

dst(I)c = abs(src(I)c - valuec).

所有数组必须有相同的数据类型相同的大小(或ROI大小) 


代码:

 

// cvAdsDiffs函数的使用.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "opencv2/opencv.hpp"


int _tmain(int argc, _TCHAR* argv[])
{
	//创建两个窗口
	cvNamedWindow("src");
	cvNamedWindow("dst");
	//加载图片
        IplImage* src;
	src= cvLoadImage("F://Opencv_picture//a.jpg");
	//创建dst
	IplImage* dst;
	dst= cvCreateImage(cvGetSize(src), src->depth, src->nChannels);

	//使用cvAbsDiffS
	cvAbsDiffS(src,  dst,cvScalar(255, 255, 255));

	cvShowImage("src", src);
	cvShowImage("dst", dst);

	cvWaitKey(0);

	//释放和销毁
	cvReleaseImage(&src);
	cvReleaseImage(&dst);
	cvDestroyWindow("dst");
	cvDestroyWindow("src");

	return 0;
}


结果图:

关于cvAdsDiffS的那些事_第1张图片

PS: 《学习opencv》(中文版)上的cvAbsDiffS的参数顺序写错了和dst前没有写CvArr* ......

 


 

 

你可能感兴趣的:(diff)