亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? estpa.cpp

?? 這個壓縮包含有跨平臺的、獨立的程序源碼
?? CPP
字號:
//=========================================================////This is a prog in the MutualInfo 0.9 package written by// Hanchuan Peng.////Disclaimer: The author of program is Hanchuan Peng//      at <penghanchuan@yahoo.com> and <phc@cbmv.jhu.edu>.////The CopyRight is reserved by the author.////Last modification: April/19/2002////========================================================//// estpa.cpp// Calculate the histgram/probability of one vector/image// By Hanchuan Peng// Dec/2000// April/8/2002#include "miinclude.h"//return the number of statestemplate <class T> void copyvecdata(T * srcdata, long len, int * desdata, int& nstate, int &minn, int& maxx);template <class T> void copyvecdata(T * srcdata, long len, int * desdata, int& nstate, int &minn, int& maxx){  if(!srcdata || !desdata)  {    printf("NULL points in copyvecdata()!\n");    return;  }   long i;  //note: originally I added 0.5 before rounding, however seems the negative numbers and   //      positive numbers are all rounded towarded 0; hence int(-1+0.5)=0 and int(1+0.5)=1;  //      This is unwanted because I need the above to be -1 and 1.  // for this reason I just round with 0.5 adjustment for positive and negative differently  //copy data  //int minn,maxx;  if (srcdata[0]>0)    maxx = minn = int(srcdata[0]+0.5);  else    maxx = minn = int(srcdata[0]-0.5);  int tmp;  double tmp1;  for (i=0;i<len;i++)  {    tmp1 = double(srcdata[i]);    tmp = (tmp1>0)?(int)(tmp1+0.5):(int)(tmp1-0.5);//round to integers    minn = (minn<tmp)?minn:tmp;    maxx = (maxx>tmp)?maxx:tmp;    desdata[i] = tmp;    //    printf("%i ",desdata[i]);  }  //printf("\n");  //make the vector data begin from 0 (i.e. 1st state)  for (i=0;i<len;i++)  {    desdata[i] -= minn;  }  //return the #state  nstate = (maxx-minn+1);  return;}void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]){  // check the arguments  if(nrhs != 1 && nrhs !=2 && nrhs!=3)    mexErrMsgTxt("Usage [marginprob,statelist,cumsumlist] = progname(vector1, maxstatenum, b_returnprob). \n(Both vectors can be images). Max range handled: INT type of the OS");  if(nlhs > 3)    mexErrMsgTxt("Too many output argument <marginalprob_list, statelist, cumsumlist>.");  if (!mxIsInt8(prhs[0]) && !mxIsUint8(prhs[0]) && !mxIsDouble(prhs[0]) )     mexErrMsgTxt("The first input argument must be types of INT8 or UINT8 or DOUBLE.");  //get and check size information  long i,j;  void *img1 = (void *)mxGetData(prhs[0]);  long len1 = mxGetNumberOfElements(prhs[0]);  mxClassID type1 = mxGetClassID(prhs[0]);  if (!img1 || !len1)    mexErrMsgTxt("The input vector is invalid.");  int b_findstatenum = 1;  int nstate1 = 0;  if (nrhs>=2)  {    b_findstatenum = 0;    long MaxGrayLevel = (long) mxGetScalar(prhs[1]);    nstate1 = MaxGrayLevel;    if (MaxGrayLevel<=1)    {      printf("The argument #state is invalid. This program will decide #state itself.\n");      b_findstatenum = 1;    }  }  int b_returnprob = 1;  if (nrhs>=3)  {    b_returnprob = (mxGetScalar(prhs[2])!=0);  }  //copy data into new INT type array (hence quantization) and then reange them begin from 0 (i.e. state1)  int * vec1 = new int[len1];  int nrealstate1=0, minn,maxx;  switch(type1)  {    case mxINT8_CLASS: copyvecdata((char *)img1,len1,vec1,nrealstate1,minn,maxx); break;    case mxUINT8_CLASS: copyvecdata((unsigned char *)img1,len1,vec1,nrealstate1,minn,maxx); break;    case mxDOUBLE_CLASS: copyvecdata((double *)img1,len1,vec1,nrealstate1,minn,maxx); break;  }    //update the #state when necessary  if (nstate1<nrealstate1)  {    nstate1 = nrealstate1;    //printf("First vector #state = %i\n",nrealstate1);  }  //generate the marginal-distribution list  plhs[0] = mxCreateDoubleMatrix(nstate1,1,mxREAL);  double *ha = (double *) mxGetPr(plhs[0]);  for (i=0; i<nstate1;i++)  {    ha[i] = 0;  }    for (i=0;i<len1;i++)  {    ha[vec1[i]] += 1;  }    //return the probabilities, otherwise return count numbers  if(b_returnprob)  {    for (i=0; i<nstate1;i++)    {      ha[i] /= len1;    }  }  //return more information  if (nlhs>=2)  //the second return value is the state list  {    plhs[1] = mxCreateDoubleMatrix(nstate1,1,mxREAL);    double * pstate = (double *)mxGetPr(plhs[1]);    for (i=0;i<nstate1;i++)      pstate[i] = minn + i;  }  if (nlhs>=3) //the third return value is the cumsum prob list  {    plhs[2] = mxCreateDoubleMatrix(nstate1,1,mxREAL);    double * pcumsum = (double *)mxGetPr(plhs[2]);    pcumsum[0] = ha[0];    for (i=1;i<nstate1;i++)      pcumsum[i] = pcumsum[i-1] + ha[i];  }  //free memory  if (vec1) delete []vec1;  return;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人va在线观看| 懂色av中文一区二区三区| 久久理论电影网| 欧美另类一区二区三区| 色噜噜狠狠色综合欧洲selulu | 成人在线视频一区| 国产一区二区三区蝌蚪| 久久aⅴ国产欧美74aaa| 亚洲大片在线观看| 免费在线观看一区| 日本欧美一区二区| 久久国产成人午夜av影院| 日本免费新一区视频| 视频在线在亚洲| 久久精品99国产精品| 韩国欧美国产1区| 国产成人av福利| 99久久精品国产导航| av网站免费线看精品| 日本乱人伦aⅴ精品| 欧美日韩综合色| 4438亚洲最大| 久久精品视频一区| 国产精品久久99| 亚洲一区二区三区三| 免费在线一区观看| 久久成人久久爱| 成人妖精视频yjsp地址| av电影天堂一区二区在线观看| 日本高清不卡一区| 日韩欧美亚洲一区二区| 国产日韩欧美一区二区三区综合| 国产精品久线观看视频| 一区二区三区日韩精品| 蜜桃精品在线观看| k8久久久一区二区三区| 欧美老肥妇做.爰bbww| 精品精品国产高清一毛片一天堂| 中文字幕第一页久久| 亚洲乱码中文字幕| 国产伦理精品不卡| 欧美日韩中文另类| 欧美国产日韩在线观看| 午夜精品久久久久影视| 国产999精品久久| 欧美美女一区二区三区| 日本一区二区三区高清不卡| 亚洲电影你懂得| 成人黄色国产精品网站大全在线免费观看 | 国产中文一区二区三区| 色域天天综合网| 精品久久久久久久久久久久久久久久久 | 婷婷中文字幕一区三区| 国产精品白丝jk黑袜喷水| 色综合久久久久综合99| 久久久精品日韩欧美| 日日夜夜免费精品| 色婷婷狠狠综合| 亚洲国产精品t66y| 精品一区二区三区av| 欧美日韩一卡二卡| 亚洲欧美一区二区视频| 国产毛片精品视频| 精品毛片乱码1区2区3区| 成人一区二区视频| 精品美女在线播放| 免费在线观看不卡| 欧美日韩电影一区| 亚洲激情在线激情| 91片黄在线观看| 国产精品久久久久一区| 丁香婷婷深情五月亚洲| 精品国产一区二区精华| 日本成人超碰在线观看| 欧美日韩在线一区二区| 一区二区三区国产精华| 91老师国产黑色丝袜在线| 中文字幕 久热精品 视频在线 | 中文字幕免费不卡| 国产成人亚洲综合a∨婷婷图片| 日韩午夜激情av| 蜜桃在线一区二区三区| 欧美一级高清大全免费观看| 日本欧美加勒比视频| 欧美区一区二区三区| 午夜精品一区二区三区免费视频| 在线观看一区不卡| 亚洲最大的成人av| 欧美日韩高清一区二区| 日本美女视频一区二区| 精品国产乱码久久久久久久久| 久久69国产一区二区蜜臀| 日韩精品中文字幕一区| 韩国av一区二区三区四区| 久久众筹精品私拍模特| 国产成人亚洲综合a∨婷婷图片| 国产日产欧美一区二区视频| 成人成人成人在线视频| 夜夜嗨av一区二区三区网页| 欧美视频一二三区| 久久精品国产秦先生| 国产欧美日韩久久| 色一区在线观看| 舔着乳尖日韩一区| 欧美一区二视频| 国产成人自拍网| 有坂深雪av一区二区精品| 国产精品久久久久三级| 色哟哟在线观看一区二区三区| 午夜久久电影网| 国产欧美精品一区二区三区四区| 一本大道综合伊人精品热热 | 欧美一区二区高清| 国产成人精品网址| 亚洲成人一区二区在线观看| 精品国产一区二区精华| 色综合咪咪久久| 美洲天堂一区二卡三卡四卡视频| 亚洲国产成人在线| 91麻豆精品国产| 粉嫩嫩av羞羞动漫久久久| 亚洲天堂免费在线观看视频| 欧美一区二区视频观看视频| 懂色av一区二区三区免费观看| 亚洲成人一区二区在线观看| 国产精品人人做人人爽人人添| 欧美男男青年gay1069videost| 国产在线精品一区二区三区不卡| 亚洲黄色免费网站| 久久久国产精品麻豆| 3d动漫精品啪啪一区二区竹菊 | 一本大道久久a久久精品综合| 三级不卡在线观看| ●精品国产综合乱码久久久久| 欧美一级淫片007| 在线观看欧美精品| 国产伦精品一区二区三区免费迷| 亚洲成人av中文| 亚洲精品免费在线| 亚洲欧洲在线观看av| 久久午夜羞羞影院免费观看| 欧美乱熟臀69xxxxxx| 色悠久久久久综合欧美99| 成人的网站免费观看| 福利一区二区在线| 国产乱色国产精品免费视频| 青青草国产精品亚洲专区无| 亚洲一区二区三区四区五区黄| 亚洲色图在线视频| 国产精品不卡视频| 欧美国产日韩亚洲一区| 国产欧美视频在线观看| 欧美国产日韩精品免费观看| 国产亚洲综合色| 国产欧美综合在线| 国产女主播一区| 国产精品女同一区二区三区| 久久久国际精品| 国产女同性恋一区二区| 国产精品污网站| 亚洲国产激情av| 综合激情成人伊人| 一区二区三区四区蜜桃| 亚洲综合色噜噜狠狠| 亚洲成va人在线观看| 午夜欧美2019年伦理| 日韩—二三区免费观看av| 日韩成人免费电影| 六月婷婷色综合| 国产精品66部| 9i看片成人免费高清| 色婷婷久久久综合中文字幕| 欧洲一区在线电影| 欧美一区二区三区在线观看 | 国产综合成人久久大片91| 国产精品一区二区三区乱码 | 亚洲欧洲www| 亚洲一区二区高清| 久久精品国产亚洲a| 国产精品1024久久| 91色视频在线| 这里只有精品视频在线观看| 日韩精品一区在线| 国产精品网站导航| 亚洲第四色夜色| 国产一区二区三区精品欧美日韩一区二区三区 | 中文字幕日韩欧美一区二区三区| 中文字幕佐山爱一区二区免费| 亚洲精品高清在线观看| 天堂久久一区二区三区| 狠狠网亚洲精品| 色综合婷婷久久| 欧美一区二区三区免费视频 | 色婷婷综合久久久中文一区二区| 欧美性三三影院| 国产精品午夜在线| 免费高清在线一区| 不卡一区中文字幕| 日韩欧美精品三级| 亚洲精品网站在线观看|