【opencv&VS2008】關於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;
}


結果圖:


PS: 《學習opencv》(中文版)上的cvAbsDiffS的參數順序寫錯了和dst前沒有寫CvArr* ......


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章