马赫效应和应对方法
[blog]馬赫效應(yīng)和應(yīng)對(duì)方法
//創(chuàng)建并且分析如何處理矩形的MachEffect ????Mat?srcRect1(500,500,CV_8UC1); ????Mat?srcRect2(500,500,CV_8UC1); ????for?(int?i=0;i<10;i++) ????{ ????????for?(int?j=0;j<50;j++) ????????{ ????????????srcRect1.row(i*50+j)?=?i*25; ????????} ????} ????imshow("MachEffectRect1",srcRect1); 就是macheffect,它的應(yīng)對(duì)方法就是知道數(shù)據(jù)產(chǎn)生的結(jié)構(gòu),然后構(gòu)建連續(xù)梯度 for?(int?i=0;i<10;i++) ????{ ????????for?(int?j=0;j<50;j++) ????????{ ????????????srcRect2.row(i*50+j)?=?i*25; ????????} ????} ????for?(int?i=0;i<9;i++) ????{???? ????????for?(int?j=0;j<50;j++) ????????{ ????????????srcRect2.row(25+i*50+j)?=?i*25+j/2; ????????} ????} ?? ????imshow("MachEffectRect2",srcRect2); 這里最為困難的,無疑就是“結(jié)構(gòu)的獲取”,比如對(duì)于這種情況 //創(chuàng)建任意情況的MachEffect ????Mat?srcRnd?=?imread("macheffect.bmp"); ????Mat?RncClone?=?srcRnd.clone(); ????Mat?canny; ????blur(RncClone,RncClone,Size(10,10)); ????Mat?srcRnd2?=?Mat::zeros(500,500,CV_8UC1); ????std::vector<std::vector<cv::Point>>contours;???????? ????int?imaxSize?=?-1;int?imaxNum?=?0; ????for?(int?i=0;i<10;i++) ????{??????? ????????dilate(RncClone,RncClone,Mat(10,10,CV_8UC1)); ????????threshold(RncClone,canny,100,255,THRESH_BINARY_INV); ????????Canny(canny,canny,0,255); ????????findContours(canny,contours,CV_RETR_LIST,CV_CHAIN_APPROX_NONE); ????????for?(int?n=0;n<contours.size();n++) ????????{ ????????????int?itmp?=?contours[n].size(); ????????????if?(itmp?>?imaxSize?) ????????????{ ????????????????imaxSize?=?contours[n].size(); ????????????????imaxNum?=?n; ????????????} ????????} ????????drawContours(srcRnd2,contours,imaxNum,Scalar(255-25*i),-1); ????????imaxNum?=?0; ????????imaxSize?=?-1; ????????contours.clear(); ????????imshow("canny",canny); ????????imshow("Rncclone",RncClone); ????????imshow("srcRnd",srcRnd); ????????imshow("srcRnd2",srcRnd2); ????????//srcRnd2?=?Mat::zeros(500,500,CV_8UC1);? ????????waitKey(); ????} ???? ? ? 他還是可以來做的,因?yàn)檫@個(gè)結(jié)構(gòu)并不復(fù)雜,但是如果對(duì)于現(xiàn)實(shí)中產(chǎn)生的情況,其結(jié)構(gòu)的獲取會(huì)比較復(fù)雜。但是總的來說,獲取結(jié)構(gòu),構(gòu)建連續(xù)梯度替代直接的跳躍應(yīng)該是問題的解決方法。總結(jié)
- 上一篇: 从 API、UI、结构到商业产品设计精髓
- 下一篇: 《重说中国近代史》