²é¿´: 1868  |  »Ø¸´: 0

yadan33

гæ (³õÈëÎÄ̳)

[½»Á÷] opencv2 ¾ØÕóÔËËã

http://blog.sina.com.cn/s/blog_afe2af380101bqhz.html


Ò»¡¢¾ØÕó
Mat I,img,I1,I2,dst,A,B;
double k,alpha;
Scalar s;
1.¼Ó·¨
I=I1+I2;//µÈͬadd(I1,I2,I);
add(I1,I2,dst,mask,dtype);
scaleAdd(I1,scale,I2,dst);//dst=scale*I1+I2;
2.¼õ·¨
absdiff(I1,I2,I);//I=|I1-I2|;
A-B;A-s;s-A;-A;
subtract(I1,I2,dst);
3.³Ë·¨
I=I.mul(I);//µã³Ë,I.mul(I,3);-->I=3*I.^2
Mat C=A.mul(5/B);//==divide(A,B,C,5);
A*B;¾ØÕóÏà³Ë
I=alpha*I;
Mat::cross(Mat);//ÈýάÏòÁ¿(»ò¾ØÕó)µÄ²æ³Ë,A.cross(B)
double Mat::dot(Mat);//2¸öÏòÁ¿(»ò¾ØÕó)µÄµã³ËµÄ½á¹û,A.dot(B)
mul-------multiply
pow(src,double p,dst);//Èç¹ûpÊÇÕûÊýdst(I)=src(I)^p;ÆäËû|src(I)|^p
4.³ý·¨
divide(I1,I2,dst,scale,int dtype=-1);//dst=saturate_cast(I1*scale/I2);
A/B;alpha/A;¶¼Êǵã³ý
5.ת»»
I.convertTo(I1,CV_32F);//ÀàÐÍת»»
A.t();//תÖÃ
flip(I,dst,int flipCode);//flipCode=0ÊÇÉÏÏ·­×ª£¬>0ʱ×óÓÒ·­×ª,<0ʱһÆðÀ´
sqrt(I,dst);
cvtColor(I,dst,int code,int dstCn=0);
resize:¶ÔͼÏñ½øÐÐÐαä
--------------------------------------------------------------------------
6.ÆäËû
Scalar s=sum(I);¸÷ͨµÀÇóºÍ
norm,countNonZero,trace,determinant,repeat¶¼ÊÇ·µ»ØMat»òÕßScalar
countNonZero:ÓÃÀ´Í³¼Æ·ÇÁãµÄÏòÁ¿¸öÊý.(rows*cols¸ö)
Scalar m=mean(I);//¸÷ͨµÀÇ󯽾ù
Mat RowClone=C.row(1).clone();//¸´ÖƵÚ2ÐÐ
addWeight(I1,alpha,I2,beta,gamma,dst,int dtype=-1);//dst=saturate(alpha*I1+beta*I2+gamma);dtypeÊÇdstµÄÉî¶È
----------------------------------------------------------------------------
7.ÔËËã·û
log10()
exp(I,dst);//dst=exp(I);¼ÆËãÿ¸öÊý×éÔªËØµÄÖ¸Êý
log(I,dst);//Èç¹ûIij!=0;Ôòdstij=log(|Iij|)
randu(I,Scalar::all(0),Scalar::all(255));
Mat::t()תÖÃ
Mat::inv(int method=DECOMP_LU)ÇóÄæ¡£method=DECOMP_CHOLESKY(רÃÅÓÃÓڶԳƣ¬ËÙ¶ÈÊÇLUµÄ2±¶),DECOMP_SVD//A.inv();A.inv()*B;
invert(I1,dst,int method=DECOMP_LU);//Ó÷¨Í¬ÉÏ
MatExpr abs(Mat)//Çó¾ø¶ÔÖµ
A cmpop B;A compop alpha;alpha cmpop A;ÕâÀïcmpop±íʾ>,>=,==,!=,<=,<µÈ£¬½á¹ûÊÇCV_8UC1µÄmaskµÄ0»ò255
°´Î»ÔËË㣺A logicop B;A logicop s;s logicop A;~A;ÕâÀïlogicop´ú±í&,|,^
bitwise_not(I,dst,mask);//invertsËùÓеĶÓÁÐ
»¹ÓÐbitwise_and,bitwise_or,bitwise_xor,
min(A,B);min(A,alpha);max(A,B);max(A,alpha);¶¼·µ»ØMatExpr,·µ»ØµÄdstºÍAµÄÀàÐÍÒ»Ñù
double determinant(Mat);//ÐÐÁÐʽ
bool eigen(I1,dst,int lowindex=-1,int highindex=-1);//
bool eigen(I1,dst,I,int...);//µÃµ½ÌØÕ÷ÖµÏòÁ¿dstºÍ¶ÔÓ¦ÌØÕ÷ÖµµÄÌØÕ÷ÏòÁ¿
minMaxLoc(I1,&minVal,&maxVal,Point *minLoc=0,Point* MaxLoc=0,mask);
//minLocÊÇ2Dʱ¾àÔ­µã×îСµÄµã(δ¿¼Ö¤)
------------------------------------------------------------------------------
8.³õʼ»¯
Mat I(img,Rect(10,10,100,100));//ÓÃÒ»¿éµØ·½³õʼ»¯¡£
Mat I=img(Range:all(),Range(1,3));//ËùÓÐÐУ¬1~3ÁÐ
Mat I=img.clone();//ÍêÈ«¸´ÖÆ
img.copyTo(I);//´«µÝ¾ØÕóÍ·
Mat I(2,2,CV_8UC3,Scalar(0,0,255));//I=[0,0,255,0,0,255;0,0,255,0,0,255];
Mat E=Mat::eye(4,4,CV_64F);//¶Ô½Ç¾ØÕó
Mat O=Mat:nes(2,2,CV_32F);//ȫһ¾ØÕó
Mat Z=Mat::zeros(3,3,CV_8UC1);//È«Áã¾ØÕó
Mat C=(Mat_(2,2)<<0,-1,2,3);//Èç¹ûÊǼòµ¥¾ØÕóµÄ³õʼ»¯
Mat::row(i);Mat::row(j);Mat::rowRange(start,end);Mat::colRange(start,end);¶¼Ö»ÊÇ´´½¨¸öÍ·
Mat::diag(int d);d=0ÊÇÊÇÖ÷¶Ô½ÇÏߣ¬d=1ÊDZÈÖ÷µÍµÄ¶Ô½ÇÏß,d=-1....
static Mat Mat::diag(const Mat& matD)
Mat::setTo(Scalar &s);ÒÔs³õʼ»¯¾ØÕó
Mat::push_back(Mat);ÔÚÔ­À´µÄMatµÄ×îºóÒ»ÐкóÔÙ¼Ó¼¸ÐÐ
Mat::pop_back(size_t nelems=1);//ÒÆ³ö×îÏÂÃæ¼¸ÐÐ
-------------------------------------------------------------------------------
9.¾ØÕó¶ÁÈ¡ºÍÐÞ¸Ä
(1)1¸öͨµÀ£º
for(int i=0;i
for(int j=0;j
I.at(i,j)=k;
(2)3¸öͨµÀ£º
Mat_ _I=I;//ËûûÓÐ4¸öͨµÀ´ç£¬Ö»ÓÐ3¸öͨµÀ£¡
for(int i=0;i
for(int j=0;j
{
_I(i,j)[0]=b;
_I(i,j)[1]=g;
_I(i,j)[2]=r;
}
I=_I;
------------------------------------------------------------
»òÕßÖ±½ÓÓÃI.at(i,j)[0]....
-------------------------------------------------
float *s;
for(i=0;i
{s=proImg.ptr(i);
for(j=0;j
{a1=s[3*j+1]-m1;
a2=s[3*j+2]-m2;}}
-------------------------------------------------------------------------
(3)ÆäËû»úÖÆ
I.rows(0).setTo(Scalar(0));//°ÑµÚÒ»ÐÐÇåÁã
saturate_cast(...);//¿ÉÒÔÈ·±£ÄÚÈÝΪ0~255µÄÕûÊý
Mat::total();·µ»ØÒ»¹²µÄÔªËØÊýÁ¿
size_t Mat::elemSize();·µ»ØÔªËصĴóС:CV_16SC3-->3*sizeof(short)-->6
size_t Mat::elemSize1();·µ»ØÔªËØÒ»¸öͨµÀµÄ´óСCV_16SC3-->sizeof(short)-->2
int Mat::type()·µ»ØËûµÄÀàÐÍCV_16SC3Ö®Àà
int Mat::depth()·µ»ØÉî¶È:CV_16SC3-->CV_16S
int Mat::channels()·µ»ØÍ¨µÀÊý
size_t Mat:step1()·µ»ØÒ»¸ö±»elemSize1()³ýÒÔ¹ýµÄstep
Size Mat::size()·µ»ØSize(cols,rows);Èç¹û´óÓÚ2ά£¬Ôò·µ»Ø(-1,-1)£¬¶¼ÊÇÏÈ¿íÔٸߵÄ
bool Mat::empty()Èç¹ûûÓÐÔªËØ·µ»Ø1,¼´Mat::total()==0»òÕßMat::data==NULL
uchar *Mat::ptr(int i=0)Ö¸ÏòµÚiÐÐ
Mat::at(int i)(int i,int j)(Point pt)(int i,int j,int k)
RNGËæ»úÀà:next,float RNG::uniform(float a,float b);..
double RNG::gaussian(double sigma);
RNG::fill(I,int distType,Mat low,Mat up);//ÓÃËæ»úÊýÌî³ä
randu(I,low,high);
randn(I,Mat mean,Mat stddev);
reduce(I,dst,int dim,int reduceOp,int dtype=-1);//¿ÉÒÔͳ¼ÆÃ¿ÐлòÿÁеÄ×î´ó¡¢×îС¡¢Æ½¾ùÖµ¡¢ºÍ
setIdentity(dst,Scalar &value=Scalar(1));//°Ñ¶Ô½ÇÏßÌæ»»Îªvalue
//Ч¹ûµÈͬ£ºMat A=Mat::eye(4,3,CV_32F)*5;
--------------------------------------------------------------
10.½Ï¸´ÔÓÔËËã
gemm(I1,I2,alpha,I3,beta,dst,int flags=0);//I1ÖÁÉÙÊǸ¡µãÐÍ,I2ͬI1,flagsÓÃÀ´×ªÖÃ
//gemm(I1,I2,alpha,I3,beta,dst,GEMM_1_T,GEMM_3_T);-->dst=alpha*I1.t()*I2+beta*I3.t();¿ÉÓôËÍêÈ«´úÌæ´Ëº¯Êý
mulTransposed(I,dst,bool aTa,Mat delta=noArray(),double scale=1,int rtype=-1);
//IÊÇ1ͨµÀµÄ,ºÍgemm²»Í¬,Ëû¿ÉÓÃÓÚÈκÎÀàÐÍ¡£
//Èç¹ûaTa=flaseʱ,dst=scale*(I-delta).t()*(I-delta);
//Èç¹ûÊÇtrue,dst=scale*(I-delta)(I-delta).t();
calcCovarMatrix(Mat,int,Mat,Mat,int,int=);calcCovarMatrix(Mat I,Mat covar,Mat mean,int flags,int=);
cartToPolar//תµ½¼«×ø±ê
compare(I1,I2,dst,cmpop);cmpop=CMP_EQ,CMP_GT,CMP_GE,CMP_LT,CMP_LE,COM_NE
completeSymm(M,bool lowerToUpper=false);µ±lowerToUpper=trueʱMij=Mji(ij)
±ä³É¿ÉÏÔʾͼÏñ:convertScaleAbs(I,dst,alpha,beta);dst=saturate_cast(|alpha*I+beta|);
dct(I,dst,int flags=0);//DCT±ä»»£¬1ά¡¢2άµÄ¾ØÕó;flags=DCT_INVERSE,DCT_ROWS
idct,dft,idft
inRange(I1,I_low,I_up,dst);//dstÊÇCV_8UC1,ÔÚ2ÕßÖ®¼ä¾ÍÊÇ255
Mahalanobis(vec1,vec2,covar);
merge(vector,Mat);//°Ñ¶à¸öMat×éºÏ³ÉÒ»¸öºÍsplitÏà·´
double norm(...)£ºµ±src2ľÓÐʱ,norm¿ÉÒÔ¼ÆËã³ö×ÏòÁ¿¡¢ÏòÁ¿¾àÀëºÍ¡¢ÏòÁ¿¾àÀëºÍµÄËãÊõƽ·½¸ù
solveCubic½â3´Î·½³Ì£¬solvePoly½ân´Î·½³Ì
ÅÅÁУºsort,sortIdx
mixChannels();¶Ôij¸öͨµÀ½øÐи÷ÖÖ´«µÝ
-----------------------------------------------------------------
11.δ¶®µÄº¯Êý
getConvertElem,extractImageCOI,LUT
magnitude(x,y,dst);//I1,I2¶¼ÊÇ1άÏòÁ¿,dst=sqrt(x(I)^2+y(I)^2);
meanStdDev,
MulSpectrums(I1,I2,dst,flags);¸µÀïÒ¶
normalize(I,dst,alpha,beta,int normType=NORM_L2,int rtype=-1,mask);//¹éÒ»»¯
PCA,SVD,solve,transform,transpose
¶þ¡¢ÆäËûÊý¾Ý½á¹¹
Point2f P(5,1);
Point3f P3f(2,6,7);
vector v;v.push_back((float)CV_PI);v.push_back(2);v.push_back(3.01f);//²»¶ÏÈë
vector vPoints(20);//Ò»´Î¶¨Òå20¸ö


Èý¡¢³£Ó÷½·¨
Mat mask=src<0;ÕâÑùºÜ¿ì½¨Á¢Ò»¸ömaskÁË


ËÄ¡¢ÒÔºó¿ÉÄÜÓõ½µÄº¯Êý
randShuffle,repeat
»Ø¸´´ËÂ¥
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ yadan33 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 304Çóµ÷¼Á +6 ÂüÊâ2266 2026-03-18 6/300 2026-03-21 00:32 by JourneyLucky
[¿¼ÑÐ] ²ÄÁÏר˶ӢһÊý¶þ306 +7 z1z2z3879 2026-03-18 7/350 2026-03-20 23:48 by JourneyLucky
[¿¼ÑÐ] Äϲý´óѧ²ÄÁÏר˶311·ÖÇóµ÷¼Á +5 77chaselx 2026-03-20 5/250 2026-03-20 23:42 by lovewei0727
[¿¼ÑÐ] 317Çóµ÷¼Á +5 Éê×ÓÉêÉê 2026-03-19 9/450 2026-03-20 22:26 by JourneyLucky
[¿¼ÑÐ] ÖÐÄÏ´óѧ»¯Ñ§Ñ§Ë¶337Çóµ÷¼Á +3 niko- 2026-03-19 6/300 2026-03-20 21:58 by luoyongfeng
[¿¼ÑÐ] AÇøÏß²ÄÁÏѧµ÷¼Á +5 ÖÜÖÜÎÞ¼« 2026-03-20 5/250 2026-03-20 21:33 by laoshidan
[¿¼ÑÐ] Çóµ÷¼Á +5 Mqqqqqq 2026-03-19 5/250 2026-03-20 20:46 by zhukairuo
[¿¼ÑÐ] 295²ÄÁÏÇóµ÷¼Á£¬Ò»Ö¾Ô¸Î人Àí¹¤085601ר˶ +5 Charlieyq 2026-03-19 5/250 2026-03-20 20:35 by JourneyLucky
[¿¼ÑÐ] ¹ãÎ÷´óѧ¼ÒÇÝÒÅ´«ÓýÖÖ¿ÎÌâ×é2026Äê˶ʿÕÐÉú£¨½ÓÊÕ¼ÆËã»úרҵµ÷¼Á£© +3 123°¢±ê 2026-03-17 3/150 2026-03-20 15:58 by ·ÉÐÐçù
[¿¼²©] ÕÐÊÕ²©Ê¿1-2ÈË +3 QGZDSYS 2026-03-18 3/150 2026-03-20 11:58 by ßÉßÉßÉßɽÐ
[¿¼ÑÐ] 271²ÄÁϹ¤³ÌÇóµ÷¼Á +7 .6lL 2026-03-18 7/350 2026-03-20 09:10 by xingguangj
[¿¼ÑÐ] ÉúÎïѧµ÷¼ÁÕÐÈË£¡£¡£¡ +3 ɽº£Ììá° 2026-03-17 4/200 2026-03-19 21:34 by ÔõôÊÍ»³
[¿¼ÑÐ] 328Çóµ÷¼Á£¬Ó¢ÓïÁù¼¶551£¬ÓпÆÑо­Àú +3 ÉúÎ﹤³Ìµ÷¼Á 2026-03-17 7/350 2026-03-18 20:41 by Wangjingyue
[¿¼ÑÐ] 0703»¯Ñ§µ÷¼Á +3 ÄÝÄÝninicgb 2026-03-17 3/150 2026-03-18 10:29 by macy2011
[¿¼ÑÐ] 334Çóµ÷¼Á +3 Ö¾´æ¸ßÔ¶ÒâÔÚ»úÐ 2026-03-16 3/150 2026-03-18 08:34 by lm4875102
[¿¼ÑÐ] ¿¼Ñл¯Ñ§Ñ§Ë¶µ÷¼Á£¬Ò»Ö¾Ô¸985 +4 ÕÅvvvv 2026-03-15 6/300 2026-03-17 17:15 by ruiyingmiao
[¿¼ÑÐ] ²ÄÁϹ¤³Ìר˶274Ò»Ö¾Ô¸211Çóµ÷¼Á +6 Ñ¦ÔÆÅô 2026-03-15 6/300 2026-03-17 11:05 by ѧԱh26Tkc
[¿¼ÑÐ] 321Çóµ÷¼Á +5 ´óÃ×·¹£¡ 2026-03-15 5/250 2026-03-16 16:33 by houyaoxu
[¿¼ÑÐ] 070303 ×Ü·Ö349Çóµ÷¼Á +3 LJY9966 2026-03-15 5/250 2026-03-16 14:24 by xwxstudy
[¿¼ÑÐ] 26¿¼ÑÐÒ»Ö¾Ô¸ÖйúʯÓÍ´óѧ(»ª¶«)305·ÖÇóµ÷¼Á +3 ¼ÎÄêÐÂ³Ì 2026-03-15 3/150 2026-03-15 13:58 by ¹þ¹þ¹þ¹þºÙºÙºÙ
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û