《學習opencv》筆記——矩陣和圖像操作——cvAnd、cvAndS、cvAvg and cvAvgSdv
阿新 • • 發佈:2019-05-01
-c soft wim names href include temp tdi con
程序實例
輸出結果
(2)cvAndS函數 其結構
實例程序
輸出結果
(3)cvAvg函數 其結構
實例代碼:我對上面那個機器貓的圖像使用
輸出結果
(4)cvAvgSdv函數 其結構
程序實例:依舊用的機器貓圖片
輸出結果
to be continued
矩陣和圖像的操作
(1)cvAnd函數
其結構
void cvAnd( //將src1和src2按像素點取“位與運算”
const CvArr* src1,//第一個矩陣
const CvArr* src2,//第二個矩陣
CvArr* dst,//結果矩陣
const CvArr* mask = NULL;//矩陣經行像素點與的“開關”
);
程序實例
#include <cv.h> #include <highgui.h> #include <stdio.h> int main(int argc, char** argv) { IplImage *src1, *src2,*src3; src1=cvLoadImage("1.jpg"); src2=cvLoadImage("3.jpg"); src3=cvLoadImage("4.jpg"); cvAnd(src1,src2,src3); cvShowImage( "測試1", src1); cvShowImage( "測試2", src2); cvShowImage( "測試3", src3); cvWaitKey(); return 0; }
輸出結果
(2)cvAndS函數 其結構
void cvAndS(//使src1與value進行 位與運算
const CvArr* src1,//第一個矩陣
CvScalar value,//運算標量
CvArr* dst,//結果矩陣
const CvArr* mask = NULL;//運算開關
);
實例程序
#include <cv.h> #include <highgui.h> #include <stdio.h> int main(int argc, char** argv) { IplImage *src1, *src2,*src3; src1=cvLoadImage("1.jpg"); src2=cvLoadImage("5.jpg"); CvScalar cs; cs.val[1] = 100.0; cs.val[2] = 100.0; cs.val[0] = 100.0; cs.val[3] = 100.0; cvAndS(src1,cs,src1); cvShowImage( "測試1", src1); cvShowImage( "測試2", src2); cvWaitKey(); return 0; }
輸出結果
(3)cvAvg函數 其結構
CvScalar cvAvg(//求出src的平均像素值
const CvArr* src,//目標矩陣
const CvArr* mark = NULL//像素開關
);
實例代碼:我對上面那個機器貓的圖像使用
#include <cv.h> #include <highgui.h> #include <iostream> #include <stdio.h> using namespace std; int main(int argc, char** argv) { IplImage *src1; src1=cvLoadImage("1.jpg"); CvScalar cs; cs = cvAvg(src1); cout<<cs.val[0] << endl; cout<<cs.val[1] << endl; cout<<cs.val[2] << endl; cout<<cs.val[3] << endl; getchar(); return 0; }
輸出結果
(4)cvAvgSdv函數 其結構
CvScalar cvAvg(//求像素平均值和標準差
const CvArr* arr,//目標矩陣
CvScalar* mean,//平均值
CvScalar* std_dev,//標準差
const CvArr* mark = NULL//像素開關
);
程序實例:依舊用的機器貓圖片
#include <cv.h>
#include <highgui.h>
#include <iostream>
#include <stdio.h>
using namespace std;
int main(int argc, char** argv)
{
IplImage *src1;
src1=cvLoadImage("1.jpg");
CvScalar cs,cs1;
cvAvgSdv(src1,&cs,&cs1);
cout<<"平均值:"<<endl;
cout<<cs.val[0] << endl;
cout<<cs.val[1] << endl;
cout<<cs.val[2] << endl;
cout<<cs.val[3] << endl;
cout <<endl;
cout <<"標準差"<<endl;
cout<<cs1.val[0] << endl;
cout<<cs1.val[1] << endl;
cout<<cs1.val[2] << endl;
cout<<cs1.val[3] << endl;
getchar();
return 0;
}
輸出結果
to be continued
《學習opencv》筆記——矩陣和圖像操作——cvAnd、cvAndS、cvAvg and cvAvgSdv