| ²é¿´: 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 |
» ²ÂÄãϲ»¶
¡¾¿¼Ñе÷¼Á¡¿»¯Ñ§×¨Òµ 281·Ö£¬Ò»Ö¾Ô¸ËÄ´¨´óѧ£¬³ÏÐÄÇóµ÷¼Á
ÒѾÓÐ8È˻ظ´
Ò»Ö¾Ô¸»ªÄÏʦ´ó 070300£¨»¯Ñ§£©304·ÖÇóµ÷¼Á
ÒѾÓÐ3È˻ظ´
Ò»Ö¾Ô¸ Î÷±±´óѧ £¬070300»¯Ñ§Ñ§Ë¶£¬×Ü·Ö287£¬Ë«·ÇÒ»±¾£¬Çóµ÷¼Á¡£
ÒѾÓÐ3È˻ظ´
Ò»Ö¾Ô¸ÖØÇì´óѧ085700×ÊÔ´Óë»·¾³×¨Ë¶£¬×Ü·Ö308Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
354Çóµ÷¼Á
ÒѾÓÐ8È˻ظ´
304Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
Ò»Ö¾Ô¸Î÷ÄϽ»´ó£¬Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´
299Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´
²ÄÁÏרҵÇóµ÷¼Á
ÒѾÓÐ6È˻ظ´
311Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´













nes(2,2,CV_32F);//ȫһ¾ØÕó
»Ø¸´´ËÂ¥