| 1556 | } |
| 1557 | } |
| 1558 | Point CMatchToolDlg::GetNextMaxLoc (Mat & matResult, Point ptMaxLoc, Size sizeTemplate, double& dMaxValue, double dMaxOverlap) |
| 1559 | { |
| 1560 | //比對到的區域完全不重疊 : +-一個樣板寬高 |
| 1561 | //int iStartX = ptMaxLoc.x - iTemplateW; |
| 1562 | //int iStartY = ptMaxLoc.y - iTemplateH; |
| 1563 | //int iEndX = ptMaxLoc.x + iTemplateW; |
| 1564 | |
| 1565 | //int iEndY = ptMaxLoc.y + iTemplateH; |
| 1566 | ////塗黑 |
| 1567 | //rectangle (matResult, Rect (iStartX, iStartY, 2 * iTemplateW * (1-dMaxOverlap * 2), 2 * iTemplateH * (1-dMaxOverlap * 2)), Scalar (dMinValue), CV_FILLED); |
| 1568 | ////得到下一個最大值 |
| 1569 | //Point ptNewMaxLoc; |
| 1570 | //minMaxLoc (matResult, 0, &dMaxValue, 0, &ptNewMaxLoc); |
| 1571 | //return ptNewMaxLoc; |
| 1572 | |
| 1573 | //比對到的區域需考慮重疊比例 |
| 1574 | int iStartX = ptMaxLoc.x - sizeTemplate.width * (1 - dMaxOverlap); |
| 1575 | int iStartY = ptMaxLoc.y - sizeTemplate.height * (1 - dMaxOverlap); |
| 1576 | //塗黑 |
| 1577 | rectangle (matResult, Rect (iStartX, iStartY, 2 * sizeTemplate.width * (1- dMaxOverlap), 2 * sizeTemplate.height * (1- dMaxOverlap)), Scalar (-1), CV_FILLED); |
| 1578 | //得到下一個最大值 |
| 1579 | Point ptNewMaxLoc; |
| 1580 | minMaxLoc (matResult, 0, &dMaxValue, 0, &ptNewMaxLoc); |
| 1581 | return ptNewMaxLoc; |
| 1582 | } |
| 1583 | Point CMatchToolDlg::GetNextMaxLoc (Mat & matResult, Point ptMaxLoc, Size sizeTemplate, double & dMaxValue, double dMaxOverlap, s_BlockMax & blockMax) |
| 1584 | { |
| 1585 | //比對到的區域需考慮重疊比例 |
nothing calls this directly
no test coverage detected