void sir() { mmm(xnxt,ynxt,h,wm); rrr(xnxt,ynxt,h,wr); fs(xnxt,ynxt); sss(xnxt,ynxt,h,ws); hhh(xnxt,ynxt,h,wh); rrr(xnxt,ynxt,h,wr); iii(xnxt,ynxt,h,wi); ddd(xnxt,ynxt,h,wd); hhh(xnxt,ynxt,h,wh); aaa(xnxt,ynxt,h,wa); rrr(xnxt,ynxt,h,wr); }
second() { n2(xnxt,ynxt,h,w2); fs(xnxt,ynxt); xnxt+=s/2; ppp(xnxt,ynxt,h,wp); rrr(xnxt,ynxt,h,wr); eee(xnxt,ynxt,h,we); sss(xnxt,ynxt,h,ws); sss(xnxt,ynxt,h,ws); xnxt+=s/2; sss(xnxt,ynxt,3*h/4,3*ws/4); xnxt+=s/2; ttt(xnxt,ynxt,h,wt); ooo(xnxt,ynxt,h,wo); xnxt+=s/2; mmm(xnxt,ynxt,h,wm); ooo(xnxt,ynxt,h,wo); vvv(xnxt,ynxt,h,wv); eee(xnxt,ynxt,h,we); xnxt+=s/2; ttt(xnxt,ynxt,h,wt); hhh(xnxt,ynxt,h,wh); eee(xnxt,ynxt,h,we); xnxt+=s/2; bbb(xnxt,ynxt,h,wb); ooo(xnxt,ynxt,h,wo); www(xnxt,ynxt,h,ww); xnxt+=s/2; ddd(xnxt,ynxt,h,wd); ooo(xnxt,ynxt,h,wo); www(xnxt,ynxt,h,ww); nnn(xnxt,ynxt,h,wn); }
void first() { n1(xnxt,ynxt,h,w1); fs(xnxt,ynxt); xnxt+=s/2; ppp(xnxt,ynxt,h,wp); rrr(xnxt,ynxt,h,wr); eee(xnxt,ynxt,h,we); sss(xnxt,ynxt,h,ws); sss(xnxt,ynxt,h,ws); xnxt+=s/2; www(xnxt,ynxt,3*h/4,3*ww/4); xnxt+=s/2; ttt(xnxt,ynxt,h,wt); ooo(xnxt,ynxt,h,wo); xnxt+=s/2; mmm(xnxt,ynxt,h,wm); ooo(xnxt,ynxt,h,wo); vvv(xnxt,ynxt,h,wv); eee(xnxt,ynxt,h,we); xnxt+=s/2; ttt(xnxt,ynxt,h,wt); hhh(xnxt,ynxt,h,wh); eee(xnxt,ynxt,h,we); xnxt+=s/2; bbb(xnxt,ynxt,h,wb); ooo(xnxt,ynxt,h,wo); www(xnxt,ynxt,h,ww); xnxt+=s/2; uuu(xnxt,ynxt,h,wu); ppp(xnxt,ynxt,h,wp); }
void CBirchCtrl::OnLButtonDown(UINT nFlags, CPoint point) { if (!m_birch) return; HTREENODE pClickedOn = NULL; // Assume no node was clicked on if( m_birch->GetTopNode()->pFirstChild != NULL) // If the tree is populated, search it pClickedOn = FindNodeByPoint( point, m_birch->GetTopNode() ); if (m_edit) { m_edit->DestroyWindow(); delete m_edit; m_edit = NULL; } if( pClickedOn != NULL ) // If a node was clicked on { if (point.x<pClickedOn->rNode.left) m_birch->ToggleNode( pClickedOn); else { size_t sss = pClickedOn->item_bitmaps.size(); int buf_l = 1; for (size_t i=0;i<sss;i++) { if ((point.x>(pClickedOn->rNode.left+buf_l))&& (point.x<(pClickedOn->rNode.left+buf_l+pClickedOn->item_bitmaps[i]->GetWidth()))) { ClickOnIcon(pClickedOn,i); return; } buf_l+=pClickedOn->item_bitmaps[i]->GetWidth()+1; } if (point.x>(pClickedOn->rNode.left+buf_l) && pClickedOn->bEditable) { m_edit=new CTreeItemEdit; CRect rrr(pClickedOn->rNode.left+buf_l+2,pClickedOn->rNode.top-2, pClickedOn->rNode.right,pClickedOn->rNode.bottom+2); m_edit->Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER| ES_AUTOHSCROLL | ES_WANTRETURN, rrr, this, 1); m_edit->CreateFont(15,"MS Shell Dlg"); m_edit->SetBirch(this); m_edit->SetWindowPos(&wndTop,rrr.left,rrr.top,rrr.Width(),rrr.Height(),SWP_SHOWWINDOW); m_edit->SetFocus(); CString labb = pClickedOn->csLabel; StartEditLabel(pClickedOn,labb); m_edit->SetWindowText(labb); m_edit->SetSel(0,-1); m_editable_item = pClickedOn; } } } else CWnd::OnLButtonDown(nFlags, point); }
void print_table(str s, const Dtable& T, bool latex, Slist labels) { int SIZE = 7; int MAXSIZE = 10; int MAXLINE = 50; int STANDARDSIZE = 1; bool square(true); int l = T.size(); if (MAXLINE<l) printf("Cautious, table is of size %d, only %d will be displayed \n",l,MAXLINE); int cc = T[0].size(); for (int i=0; i<l; i++) if (T[i].size()!=cc) square = false; int max = max_row(T); List maxRow = initList(max); if (square) { Table sizestr = initTable(l,max); for (int i=0; i<l; i++) { for (int j=0; j<max; j++) { int sz = f(T[i][j]).size()+1; sizestr[i][j] = sz<MAXSIZE ? sz : MAXSIZE; } } maxRow = max_on_row(sizestr); } else maxRow = initList(max,STANDARDSIZE); str et = latex ? " &" : "|"; str slash = latex ? " \\\\ \n" : "\n"; str rrr(T[0].size(),'r'); printf("%s", s.c_str()); printf("\n"); bool labelsB = isnull(labels); str space(6,' '); printf("%s", space.c_str()); //rnc 10/25/15 printf("Obs. made "); for (int j=0; j<6;j++){ //for (int j=0; j<max; j++) { str s = (j==max-1) ? slash : et; printf("%s%s",format(maxRow[j],f(j)).c_str(),s.c_str()); } printf("initial& fibers&obs'rvd&percent& wght'd\\\\ \n"); for (int i=0; i<l && i<MAXLINE; i++) { str pre = labelsB ? f(i) : format(11,labels[i]); printf("%3s %s",pre.c_str(),et.c_str()); int c = T[i].size(); if (c==0) printf("\n"); for (int j=0; j<c; j++) { str s = (j==c-1) ? slash : et; str num = T[i][j]==-1 ? "" : f(T[i][j]).c_str(); printf("%s%s",format(maxRow[j],num).c_str(),s.c_str()); } } printf("\n"); }
void project() { ppp(xnxt,ynxt,h,wp); rrr(xnxt,ynxt,h,wr); ooo(xnxt,ynxt,h,wo); jjj(xnxt,ynxt,h,wj); eee(xnxt,ynxt,h,we); ccc(xnxt,ynxt,h,wc); ttt(xnxt,ynxt,h,wt); }
void graphics() { ggg(xnxt,ynxt,h,wg); rrr(xnxt,ynxt,h,wr); aaa(xnxt,ynxt,h,wa); ppp(xnxt,ynxt,h,wp); hhh(xnxt,ynxt,h,wh); iii(xnxt,ynxt,h,wi); ccc(xnxt,ynxt,h,wc); sss(xnxt,ynxt,h,ws); }
void computer() { ccc(xnxt,ynxt,h,wc); ooo(xnxt,ynxt,h,wo); mmm(xnxt,ynxt,h,wm); ppp(xnxt,ynxt,h,wp); uuu(xnxt,ynxt,h,wu); ttt(xnxt,ynxt,h,wt); eee(xnxt,ynxt,h,we); rrr(xnxt,ynxt,h,wr); }
void game() { ggg(xnxt,ynxt,h,wg); aaa(xnxt,ynxt,h,wa); mmm(xnxt,ynxt,h,wm); eee(xnxt,ynxt,h,we); ynxt-=3*s/2;xnxt-=3*s; ooo(xnxt,ynxt,h,wo); vvv(xnxt,ynxt,h,wv); eee(xnxt,ynxt,h,we); rrr(xnxt,ynxt,h,wr); }
void harsha() { sss(xnxt,ynxt,h,ws); hhh(xnxt,ynxt,h,wh); rrr(xnxt,ynxt,h,wr); eee(xnxt,ynxt,h,we); eee(xnxt,ynxt,h,we); hhh(xnxt,ynxt,h,wh); aaa(xnxt,ynxt,h,wa); rrr(xnxt,ynxt,h,wr); sss(xnxt,ynxt,h,ws); hhh(xnxt,ynxt,h,wh); aaa(xnxt,ynxt,h,wa); xnxt+=s/2; n1(xnxt,ynxt,h,w1); n1(xnxt,ynxt,h,w1); iii(xnxt,ynxt,h,wi); ttt(xnxt,ynxt,h,wt); n8(xnxt,ynxt,h,w8); n8(xnxt,ynxt,h,w8); }
third() { n3(xnxt,ynxt,h,w3); fs(xnxt,ynxt); xnxt+=s/2; ppp(xnxt,ynxt,h,wp); rrr(xnxt,ynxt,h,wr); eee(xnxt,ynxt,h,we); sss(xnxt,ynxt,h,ws); sss(xnxt,ynxt,h,ws); xnxt+=s/2; eee(xnxt,ynxt,3*h/4,3*we/4); nnn(xnxt,ynxt,3*h/4,3*wn/4); ttt(xnxt,ynxt,3*h/4,3*wt/4); eee(xnxt,ynxt,3*h/4,3*we/4); rrr(xnxt,ynxt,3*h/4,3*wr/4); xnxt+=s/2; ttt(xnxt,ynxt,h,wt); ooo(xnxt,ynxt,h,wo); xnxt+=s/2; sss(xnxt,ynxt,h,ws); hhh(xnxt,ynxt,h,wh); ooo(xnxt,ynxt,h,wo); ooo(xnxt,ynxt,h,wo); ttt(xnxt,ynxt,h,wt); xnxt+=s/2; ttt(xnxt,ynxt,h,wt); hhh(xnxt,ynxt,h,wh); eee(xnxt,ynxt,h,we); xnxt+=s/2; aaa(xnxt,ynxt,h,wa); rrr(xnxt,ynxt,h,wr); rrr(xnxt,ynxt,h,wr); ooo(xnxt,ynxt,h,wo); www(xnxt,ynxt,h,ww); }
void print_hist(str s, int i0, List hist, bool latex) { str et = latex ? " & " : " | "; str slash = latex ? "\\\\ \n" : "\n"; str rrr(10,'r'); if (latex) printf("\\begin{table}[H]\\begin{center} \n \\caption{%s (interval %d)} \n \\begin{tabular}{%s}\n",s.c_str(),i0,rrr.c_str()); else printf("%s (interval %d)\n",s.c_str(),i0); int size = hist.size(); for (int i=0; i<size; i++) { str s = ((i+1)%10==0 || i==size-1) ? slash : et; printf("%4s %s",f(hist[i]).c_str(),s.c_str()); } if (latex) printf("\\end{tabular}\\end{center}\\end{table} \n"); fl(); }
void shreeman() { sss(xnxt,ynxt,h,ws); hhh(xnxt,ynxt,h,wh); rrr(xnxt,ynxt,h,wr); eee(xnxt,ynxt,h,we); eee(xnxt,ynxt,h,we); mmm(xnxt,ynxt,h,wm); aaa(xnxt,ynxt,h,wa); nnn(xnxt,ynxt,h,wn); xnxt+=s/2; n1(xnxt,ynxt,h,w1); n1(xnxt,ynxt,h,w1); iii(xnxt,ynxt,h,wi); ttt(xnxt,ynxt,h,wt); n8(xnxt,ynxt,h,w8); n9(xnxt,ynxt,h,w9); }
void score() { sss(xnxt,ynxt,h,ws); ynxt-=3*s/2; xnxt-=(ws+sp); ccc(xnxt,ynxt,h,ws); ynxt-=3*s/2; xnxt-=(ws+sp); ooo(xnxt,ynxt,h,ws); ynxt-=3*s/2; xnxt-=(ws+sp); rrr(xnxt,ynxt,h,ws); ynxt-=3*s/2; xnxt-=(ws+sp); eee(xnxt,ynxt,h,ws); ynxt-=5*s/2; xnxt-=(ws+sp); }
void arahant() { aaa(xnxt,ynxt,h,wa); rrr(xnxt,ynxt,h,wr); aaa(xnxt,ynxt,h,wa); hhh(xnxt,ynxt,h,wh); aaa(xnxt,ynxt,h,wa); nnn(xnxt,ynxt,h,wn); ttt(xnxt,ynxt,h,wt); xnxt+=s/2; aaa(xnxt,ynxt,h,wa); xnxt+=s/2; n1(xnxt,ynxt,h,w1); n1(xnxt,ynxt,h,w1); iii(xnxt,ynxt,h,wi); ttt(xnxt,ynxt,h,wt); n1(xnxt,ynxt,h,w1); n0(xnxt,ynxt,h,w0); }
void straightworm(struct wormy *worms, float addx, float addy, float param){ xy acc=worms->dir; xy rrrr; rrr(param,&rrrr); // TODO: parameter for deviation! -> was 10 acc.x+=rrrr.x; acc.y+=rrrr.y; normalize(&acc); acc.x=acc.x*worms->speed; acc.y=acc.y*worms->speed; xy vel=worms->vel; vel.x+=acc.x; vel.y+=acc.y; limit(&vel,worms->maxspeed); worms->wloc.x+=vel.x; worms->wloc.y+=vel.y; checkbound(&worms->wloc,worms->boundx,worms->boundy,addx,addy); worms->acc=acc; worms->vel=vel; }
void madam() { mmm(xnxt,ynxt,h,wm); rrr(xnxt,ynxt,h,wr); sss(xnxt,ynxt,h,ws); fs(xnxt,ynxt); ppp(xnxt,ynxt,h,wp); uuu(xnxt,ynxt,h,wu); sss(xnxt,ynxt,h,ws); hhh(xnxt,ynxt,h,wh); ppp(xnxt,ynxt,h,wp); aaa(xnxt,ynxt,h,wa); lll(xnxt,ynxt,h,wl); aaa(xnxt,ynxt,h,wa); ttt(xnxt,ynxt,h,wt); hhh(xnxt,ynxt,h,wh); aaa(xnxt,ynxt,h,wa); }
std::string GetMainContent(const std::string &input) { std::string reg1 = "<(p|br)[^<]*>"; std::string reg2 = "(\\[([^=]*)(=[^\\]]*)?\\][\\s\\S]*?\\[/\\1\\])|(?<lj>(?=[^\\u4E00-\\u9FA5\\uFE30-\\uFFA0,."");])<a\\s+[^>]*>[^<]{2,}</a>(?=[^\\u4E00-\\u9FA5\\uFE30-\\uFFA0,."");]))|(?<Style><style[\\s\\S]+?/style>)|(?<select><select[\\s\\S]+?/select>)|(?<Script><script[\\s\\S]*?/script>)|(?<Explein><\\!\\-\\-[\\s\\S]*?\\-\\->)|(?<li><li(\\s+[^>]+)?>[\\s\\S]*?/li>)|(?<Html></?\\s*[^> ]+(\\s*[^=>]+?=['""]?[^""']+?['""]?)*?[^\\[<]*>)|(?<Other>&[a-zA-Z]+;)|(?<Other2>\\#[a-z0-9]{6})|(?<Space>\\s+)|(\\&\\#\\d+\\;)"; //1、获取网页的所有div标签 std::list<std::string> list = parse(input, "DIV"); //2、去除汉字少于200字的div std::list<std::string> needToRemove; for(auto iter = list.begin(); iter != list.end(); ++iter) { std::regex r("[\u4e00-\u9fa5]"); std::smatch result; bool suc = std::regex_search(*iter, result, r); if( suc && result.size() < 200 ) { needToRemove.push_back(*iter); } } std::list<std::string> tmp(list.size() - needToRemove.size()); //3、把剩下的div按汉字比例多少倒序排列, list.sort(CompareDinosByChineseLength); if (list.empty()) { return ""; } std::string content = *list.rbegin(); //5、去掉HTML标签,保留汉字 std::regex rrr("\\<(.[^>]*)>", std::regex::icase); content = std::regex_replace(content, rrr, std::string("")); return content; }
void ashrith() { aaa(xnxt,ynxt,h,wa); sss(xnxt,ynxt,h,ws); hhh(xnxt,ynxt,h,wh); rrr(xnxt,ynxt,h,wr); iii(xnxt,ynxt,h,wi); ttt(xnxt,ynxt,h,wt); hhh(xnxt,ynxt,h,wh); xnxt+=s/2; hhh(xnxt,ynxt,h,wh); xnxt+=s/2; ccc(xnxt,ynxt,h,wc); xnxt+=s/2; n1(xnxt,ynxt,h,w1); n1(xnxt,ynxt,h,w1); iii(xnxt,ynxt,h,wi); ttt(xnxt,ynxt,h,wt); n1(xnxt,ynxt,h,w1); n1(xnxt,ynxt,h,w1); }
fourth() { n4(xnxt,ynxt,h,w4); fs(xnxt,ynxt); xnxt+=s/2; ggg(xnxt,ynxt,h,wg); aaa(xnxt,ynxt,h,wa); mmm(xnxt,ynxt,h,wm); eee(xnxt,ynxt,h,we); xnxt+=s/2; ooo(xnxt,ynxt,h,wo); vvv(xnxt,ynxt,h,wv); eee(xnxt,ynxt,h,we); rrr(xnxt,ynxt,h,wr); xnxt+=s/2; iii(xnxt,ynxt,h,wi); fff(xnxt,ynxt,h,wf); xnxt+=s/2; yyy(xnxt,ynxt,h,wy); ooo(xnxt,ynxt,h,wo); uuu(xnxt,ynxt,h,wu); xnxt+=s/2; mmm(xnxt,ynxt,h,wm); iii(xnxt,ynxt,h,wi); sss(xnxt,ynxt,h,ws); sss(xnxt,ynxt,h,ws); xnxt+=s/2; n5(xnxt,ynxt,h,w5); xnxt+=s/2; bbb(xnxt,ynxt,h,wb); aaa(xnxt,ynxt,h,wa); lll(xnxt,ynxt,h,wl); lll(xnxt,ynxt,h,wl); ooo(xnxt,ynxt,h,wo); ooo(xnxt,ynxt,h,wo); nnn(xnxt,ynxt,h,wn); sss(xnxt,ynxt,h,ws); }
int checker_calc(t_e *e) { char *line; while (get_next_line(0, &line) != 0) { if (ft_strcmp("sa", line) == 0) sa(e->l_a); else if (ft_strcmp("sb", line) == 0) sb(e->l_b); else if (ft_strcmp("ss", line) == 0) ss(e->l_a, e->l_b); else if (ft_strcmp("ra", line) == 0) ra(e->l_a); else if (ft_strcmp("rb", line) == 0) rb(e->l_b); else if (ft_strcmp("rr", line) == 0) rr(e->l_a, e->l_b); else if (ft_strcmp("rra", line) == 0) rra(e->l_a); else if (ft_strcmp("rrb", line) == 0) rrb(e->l_b); else if (ft_strcmp("rrr", line) == 0) rrr(e->l_a, e->l_b); else if (ft_strcmp("pa", line) == 0) pa(e->l_a, e->l_b); else if (ft_strcmp("pb", line) == 0) pb(e->l_a, e->l_b); else { ft_putendl_fd("Error", 2); ft_memdel((void **)&line); return (0); } ft_memdel((void **)&line); } return (1); }
int main (int argc, char *argv[]) { // IMAGE_NUM, PAT_ROW, PAT_COL,PAT_SIZE, ALL_POINTS, CHESS_SIZE /* if (argc < 6) { std::cout<< "ERROR : augment is incorrect" << std::endl; return -1; } */ //int PAT_ROW = atoi(argv[3]); //int PAT_COL = atoi(argv[4]); //int CHESS_SIZE = atoi(argv[5]); //int PAT_SIZE = PAT_ROW*PAT_COL; char* NAME_IMG_IN = argv[1]; //char* NAME_XML_OUT = argv[2]; int i,j; int corner_count, found; IplImage *src_img; CvSize pattern_size = cvSize(PAT_COL, PAT_ROW); CvMat image_points; CvMat object_points; CvMat *intrinsic, *distortion; CvMat *rotation = cvCreateMat(1, 3, CV_32FC1); CvMat *rotationConv = cvCreateMat(3, 3, CV_32FC1); CvMat *translation = cvCreateMat(1, 3, CV_32FC1); CvPoint3D32f objects[PAT_SIZE]; CvFileStorage *fs; CvFileNode *param; CvPoint2D32f *corners = (CvPoint2D32f *) cvAlloc (sizeof (CvPoint2D32f) * PAT_SIZE); // (1)�����оݤȤʤ������ɤ߹��� if ( ( src_img = cvLoadImage(NAME_IMG_IN, CV_LOAD_IMAGE_COLOR) ) == 0) //if (argc < 2 || (src_img = cvLoadImage (argv[1], CV_LOAD_IMAGE_COLOR)) == 0) { std::cout<< "ERROR : input image is not exist or augment is incorrect" << std::endl; return -1; } // 3�������ֺ�ɸ������ for (i = 0; i < PAT_ROW; i++) { for (j = 0; j < PAT_COL; j++) { objects[i * PAT_COL + j].x = i * CHESS_SIZE; objects[i * PAT_COL + j].y = j * CHESS_SIZE; objects[i * PAT_COL + j].z = 0.0; } } cvInitMatHeader(&object_points, PAT_SIZE, 3, CV_32FC1, objects); // �������ܡ��ɡʥ����֥졼�����ѥ�����ˤΥ����ʡ����� int found_num = 0; // cvNamedWindow("Calibration", CV_WINDOW_AUTOSIZE); found = cvFindChessboardCorners(src_img, pattern_size, &corners[0], &corner_count); fprintf(stderr, "corner:%02d...\n", corner_count); if (found) { fprintf(stderr, "ok\n"); } else { fprintf(stderr, "fail\n"); } // (4)�����ʡ����֤֥ԥ��������٤˽��������� IplImage *src_gray = cvCreateImage (cvGetSize (src_img), IPL_DEPTH_8U, 1); cvCvtColor (src_img, src_gray, CV_BGR2GRAY); cvFindCornerSubPix (src_gray, &corners[0], corner_count, cvSize (3, 3), cvSize (-1, -1), cvTermCriteria (CV_TERMCRIT_ITER | CV_TERMCRIT_EPS, 20, 0.03)); cvDrawChessboardCorners (src_img, pattern_size, &corners[0], corner_count, found); // cvShowImage ("Calibration", src_img); // cvWaitKey (0); // cvDestroyWindow("Calibration"); cvShowImage ("Calibration", src_img); cvInitMatHeader(&image_points, PAT_SIZE, 1, CV_32FC2, corners); // (2)�ѥ����ե�������ɤ߹��� fs = cvOpenFileStorage ("xml/rgb.xml", 0, CV_STORAGE_READ); param = cvGetFileNodeByName (fs, NULL, "intrinsic"); intrinsic = (CvMat *) cvRead (fs, param); param = cvGetFileNodeByName (fs, NULL, "distortion"); distortion = (CvMat *) cvRead (fs, param); cvReleaseFileStorage (&fs); // (3) �����ѥ����ο��� CvMat sub_image_points, sub_object_points; int base = 0; cvGetRows(&image_points, &sub_image_points, base * PAT_SIZE, (base + 1) * PAT_SIZE); cvGetRows(&object_points, &sub_object_points, base * PAT_SIZE, (base + 1)* PAT_SIZE); cvFindExtrinsicCameraParams2(&sub_object_points, &sub_image_points, intrinsic, distortion, rotation, translation); int ret = cvRodrigues2(rotation, rotationConv); // int cols = sub_object_points.rows; // printf("cols = %d\n", cols); // printf("%f\n",sub_object_points.data.fl[0]); // mm -> m for (i = 0; i < translation->cols; i++) { translation->data.fl[i] = translation->data.fl[i] / 1000;} // (4)XML�ե�����ؤνФ� //fs = cvOpenFileStorage(argv[2], 0, CV_STORAGE_WRITE); fs = cvOpenFileStorage(NAME_XML_OUT, 0, CV_STORAGE_WRITE); cvWrite(fs, "rotation", rotationConv); cvWrite(fs, "translation", translation); cvReleaseFileStorage(&fs); ///////////////////////////////////////////////// // write out py if(1) { cv::Mat ttt(translation); cv::Mat rrr(rotationConv); char data2Write[1024]; char textFileName[256]; sprintf( textFileName , "cbCoord/cbOneShot.py"); std::ofstream outPy(textFileName); outPy << "import sys" <<std::endl; outPy << "sys.path.append('../')" <<std::endl; outPy << "from numpy import *" <<std::endl; outPy << "from numpy.linalg import svd" <<std::endl; outPy << "from numpy.linalg import inv" <<std::endl; outPy << "from chessboard_points import *"<<std::endl; outPy << "sys.path.append('../geo')" <<std::endl; outPy << "from geo import *" <<std::endl; /* /////////////////////////////////////////////////////////////////////////////////// // out translation and rotation as xyzabc list outPy << "xyzabc = []" <<std::endl; sprintf( data2Write, "xyzabc.append(%f)", ttt.at<float>(0) ); outPy << data2Write << std::endl; std::cout << data2Write << std::endl; sprintf( data2Write, "xyzabc.append(%f)", ttt.at<float>(1) ); outPy << data2Write << std::endl; std::cout << data2Write << std::endl; sprintf( data2Write, "xyzabc.append(%f)", ttt.at<float>(2) ); outPy << data2Write << std::endl; std::cout << data2Write << std::endl; sprintf( data2Write, "xyzabc.append(%f)", rrr.at<float>(0) ); outPy << data2Write << std::endl; std::cout << data2Write << std::endl; sprintf( data2Write, "xyzabc.append(%f)", rrr.at<float>(1) ); outPy << data2Write << std::endl; std::cout << data2Write << std::endl; sprintf( data2Write, "xyzabc.append(%f)", rrr.at<float>(2) ); outPy << data2Write << std::endl; std::cout << data2Write << std::endl; // out translation and rotation as xyzabc list /////////////////////////////////////////////////////////////////////////////////// */ /////////////////////////////////////////////////////////////////////////////////// // out translation outPy << "ttt = []" <<std::endl; sprintf( data2Write, "ttt.append(%f)", ttt.at<float>(0) ); outPy << data2Write << std::endl; std::cout << data2Write << std::endl; sprintf( data2Write, "ttt.append(%f)", ttt.at<float>(1) ); outPy << data2Write << std::endl; std::cout << data2Write << std::endl; sprintf( data2Write, "ttt.append(%f)", ttt.at<float>(2) ); outPy << data2Write << std::endl; std::cout << data2Write << std::endl; // out translation ////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////// // out rotation outPy << "rrr = []" <<std::endl; sprintf( data2Write, "rrr.append([%f,%f,%f])", rrr.at<float>(0), rrr.at<float>(1), rrr.at<float>(2) ); outPy << data2Write << std::endl; std::cout << data2Write << std::endl; sprintf( data2Write, "rrr.append([%f,%f,%f])", rrr.at<float>(3), rrr.at<float>(4), rrr.at<float>(5) ); outPy << data2Write << std::endl; std::cout << data2Write << std::endl; sprintf( data2Write, "rrr.append([%f,%f,%f])", rrr.at<float>(6), rrr.at<float>(7), rrr.at<float>(8) ); outPy << data2Write << std::endl; std::cout << data2Write << std::endl; // out rotation ////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// outPy<< "_T = FRAME( vec=ttt, mat=rrr )" << std::endl; ///////////////////////////////////////////////////////////////// } // write out py ///////////////////////////////////////////////// std::cout<< "press any key..."<< std::endl; cvWaitKey (0); cvDestroyWindow("Calibration"); cvReleaseImage(&src_img); cvReleaseMat(&intrinsic); cvReleaseMat(&distortion); return 0; }
int main () { xxx(); if(y) { rrr(); } }