CARVIEW |
Select Language
HTTP/2 200
date: Sat, 26 Jul 2025 10:20:27 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-repository-download: git clone https://github.com/opencv/opencv.git
etag: W/"8e338df47aa9e34ad635f4f14774f3d4"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=1nvjRiMt5fNT%2BY5IUWoc9%2Bf3Ip%2Fan8d8r9KkUZ1%2BOcb4Y2iTMbZwsKdS%2BvcFlfEW1HlyEg5XAtcmNtALGzHaHdgrqUSClTink49Yi%2BYGroJR8mKH0WBh5fNupbSI9gZBaCCc178cGGWifg%2FsZFs8zwUcN9IgoiwK65wZeCS8g79cTL2AMiJ1qFAdgI4VGMVztVwOocovTOm%2BoRqVgQ1myjeYnujiRyVsfiYOqP7oya6TJ%2BhtbRE%2FJk9xAJymBOiUAXcFVp%2F%2BspGd%2BEjVdNw0Rg%3D%3D--tA4vZcR32I6916EL--3I3uk51OTQtYvWEbjZ9C5g%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1541320030.1753525226; Path=/; Domain=github.com; Expires=Sun, 26 Jul 2026 10:20:26 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sun, 26 Jul 2026 10:20:26 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: D672:1799B9:44A651:5AB5DE:6884ABEA
Merge pull request #25427 from MaximSmolskiy:make-finding-corner-neig… · opencv/opencv@cc6f85e · GitHub
Copy file name to clipboardExpand all lines: modules/calib3d/src/calibinit.cpp
Skip to content
Navigation Menu
{{ message }}
-
-
Notifications
You must be signed in to change notification settings - Fork 56.2k
Commit cc6f85e
authored
Merge pull request #25427 from MaximSmolskiy:make-finding-corner-neighbor-symmetrical-in-ChessBoardDetector-findQuadNeighbors
Make finding corner neighbor symmetrical in ChessBoardDetector::findQuadNeighbors #25427
### Pull Request Readiness Checklist
The basic idea of finding pair of corners neighbors is to find best candidate for first corner and check if first corner quite good candidate for its best candidate. And we test first corner for its best candidate less than best candidate for first corner.
Idea of changes is to make finding corner neighbor symmetrical - find best candidate for first corner, find best candidate for second corner and match them as pair iff they are both best candidates for each other.
Additional advantage - it simplifies code and removes some code duplication.
I tested this PR with benchmark
```
python3 objdetect_benchmark.py --configuration=generate_run --board_x=7 --path=res_chessboard --synthetic_object=chessboard
```
There are minor changes in results
```
cell_img_size = 100 (default)
before
category detected chessboard total detected chessboard total chessboard average detected error chessboard
_none_none_blur 1.000000 360 360 0.630345
_none_none_gaussNoise 0.833333 300 360 0.623405
_none_none_none 1.000000 360 360 0.631517
_none_none_strongBlur 1.000000 360 360 0.630316
_none_undistorted_blur 1.000000 360 360 0.671232
_none_undistorted_gaussNoise 1.000000 360 360 0.672619
_none_undistorted_none 1.000000 360 360 0.673669
_none_undistorted_strongBlur 1.000000 360 360 0.671257
_perspective_none_blur 1.000000 1080 1080 0.588694
_perspective_none_gaussNoise 0.805556 870 1080 0.599312
_perspective_none_none 1.000000 1080 1080 0.591063
_perspective_none_strongBlur 1.000000 1080 1080 0.588604
_perspective_undistorted_blur 1.000000 1080 1080 0.622081
_perspective_undistorted_gaussNoise 1.000000 1080 1080 0.625704
_perspective_undistorted_none 1.000000 1080 1080 0.624191
_perspective_undistorted_strongBlur 1.000000 1080 1080 0.621618
_strongPerspective_none_blur 1.000000 360 360 0.482934
_strongPerspective_none_gaussNoise 0.166667 60 360 0.391551
_strongPerspective_none_none 1.000000 360 360 0.480290
_strongPerspective_none_strongBlur 0.333333 120 360 0.469080
_strongPerspective_undistorted_blur 1.000000 360 360 0.503458
_strongPerspective_undistorted_gaussNoise 0.250000 90 360 0.448713
_strongPerspective_undistorted_none 1.000000 360 360 0.504412
_strongPerspective_undistorted_strongBlur 0.166667 60 360 0.473791
all 0.904167 13020 14400 0.600512
Total detected time: 139.65614900000008 sec
after
category detected chessboard total detected chessboard total chessboard average detected error chessboard
_none_none_blur 1.000000 360 360 0.630345
_none_none_gaussNoise 0.750000 270 360 0.636279
_none_none_none 1.000000 360 360 0.631517
_none_none_strongBlur 1.000000 360 360 0.630316
_none_undistorted_blur 1.000000 360 360 0.671232
_none_undistorted_gaussNoise 1.000000 360 360 0.672619
_none_undistorted_none 1.000000 360 360 0.673669
_none_undistorted_strongBlur 1.000000 360 360 0.671257
_perspective_none_blur 1.000000 1080 1080 0.588694
_perspective_none_gaussNoise 0.888889 960 1080 0.594106
_perspective_none_none 1.000000 1080 1080 0.591064
_perspective_none_strongBlur 1.000000 1080 1080 0.588604
_perspective_undistorted_blur 1.000000 1080 1080 0.622081
_perspective_undistorted_gaussNoise 1.000000 1080 1080 0.625703
_perspective_undistorted_none 1.000000 1080 1080 0.624191
_perspective_undistorted_strongBlur 1.000000 1080 1080 0.621618
_strongPerspective_none_blur 1.000000 360 360 0.482934
_strongPerspective_none_gaussNoise 0.166667 60 360 0.391551
_strongPerspective_none_none 1.000000 360 360 0.480290
_strongPerspective_none_strongBlur 0.333333 120 360 0.469080
_strongPerspective_undistorted_blur 1.000000 360 360 0.503458
_strongPerspective_undistorted_gaussNoise 0.333333 120 360 0.422259
_strongPerspective_undistorted_none 1.000000 360 360 0.504412
_strongPerspective_undistorted_strongBlur 0.166667 60 360 0.473791
all 0.910417 13110 14400 0.599746
Total detected time: 142.40333700000005 sec
----------------------------------------------------------------------------------------------------------------------------------------------
cell_img_size = 10
before
category detected chessboard total detected chessboard total chessboard average detected error chessboard
_none_none_blur 0.991667 357 360 4.905091
_none_none_gaussNoise 0.750000 270 360 5.215633
_none_none_none 1.000000 360 360 4.943304
_none_none_strongBlur 0.916667 330 360 3.806217
_none_undistorted_blur 0.994444 358 360 5.220915
_none_undistorted_gaussNoise 0.997222 359 360 4.542443
_none_undistorted_none 0.997222 359 360 4.340208
_none_undistorted_strongBlur 0.161111 58 360 5.024331
_perspective_none_blur 0.629630 680 1080 4.825401
_perspective_none_gaussNoise 0.966667 1044 1080 3.895425
_perspective_none_none 0.971296 1049 1080 3.920378
_perspective_none_strongBlur 0.000000 0 1080 NaN
_perspective_undistorted_blur 0.583333 630 1080 4.594335
_perspective_undistorted_gaussNoise 0.999074 1079 1080 3.553195
_perspective_undistorted_none 0.750000 810 1080 3.604110
_perspective_undistorted_strongBlur 0.000000 0 1080 NaN
_strongPerspective_none_blur 0.000000 0 360 NaN
_strongPerspective_none_gaussNoise 0.000000 0 360 NaN
_strongPerspective_none_none 0.083333 30 360 2.382460
_strongPerspective_none_strongBlur 0.000000 0 360 NaN
_strongPerspective_undistorted_blur 0.000000 0 360 NaN
_strongPerspective_undistorted_gaussNoise 0.000000 0 360 NaN
_strongPerspective_undistorted_none 0.000000 0 360 NaN
_strongPerspective_undistorted_strongBlur 0.000000 0 360 NaN
all 0.539792 7773 14400 4.209964
Total detected time: 2.6968930000000015 sec
after
category detected chessboard total detected chessboard total chessboard average detected error chessboard
_none_none_blur 0.991667 357 360 4.905091
_none_none_gaussNoise 0.750000 270 360 5.215633
_none_none_none 1.000000 360 360 4.943304
_none_none_strongBlur 0.916667 330 360 3.806217
_none_undistorted_blur 0.994444 358 360 5.220915
_none_undistorted_gaussNoise 0.997222 359 360 4.542443
_none_undistorted_none 0.997222 359 360 4.340208
_none_undistorted_strongBlur 0.161111 58 360 5.024331
_perspective_none_blur 0.629630 680 1080 4.825401
_perspective_none_gaussNoise 0.966667 1044 1080 3.895425
_perspective_none_none 0.999074 1079 1080 3.865684
_perspective_none_strongBlur 0.000000 0 1080 NaN
_perspective_undistorted_blur 0.583333 630 1080 4.594335
_perspective_undistorted_gaussNoise 0.999074 1079 1080 3.553195
_perspective_undistorted_none 0.750000 810 1080 3.604110
_perspective_undistorted_strongBlur 0.000000 0 1080 NaN
_strongPerspective_none_blur 0.000000 0 360 NaN
_strongPerspective_none_gaussNoise 0.000000 0 360 NaN
_strongPerspective_none_none 0.000000 0 360 NaN
_strongPerspective_none_strongBlur 0.000000 0 360 NaN
_strongPerspective_undistorted_blur 0.000000 0 360 NaN
_strongPerspective_undistorted_gaussNoise 0.000000 0 360 NaN
_strongPerspective_undistorted_none 0.000000 0 360 NaN
_strongPerspective_undistorted_strongBlur 0.000000 0 360 NaN
all 0.539792 7773 14400 4.208308
Total detected time: 2.7706419999999983 sec
```
See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request
- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [ ] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake1 parent 3282954 commit cc6f85eCopy full SHA for cc6f85e
File tree
Expand file treeCollapse file tree
1 file changed
+184
-123
lines changedFilter options
- modules/calib3d/src
Expand file treeCollapse file tree
1 file changed
+184
-123
lines changedmodules/calib3d/src/calibinit.cpp
Copy file name to clipboardExpand all lines: modules/calib3d/src/calibinit.cpp+184-123Lines changed: 184 additions & 123 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
221 | 221 |
| |
222 | 222 |
| |
223 | 223 |
| |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
224 | 244 |
| |
225 | 245 |
| |
226 | 246 |
| |
| |||
471 | 491 |
| |
472 | 492 |
| |
473 | 493 |
| |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
474 | 613 |
| |
475 | 614 |
| |
476 | 615 |
| |
| |||
1607 | 1746 |
| |
1608 | 1747 |
| |
1609 | 1748 |
| |
1610 |
| - | |
1611 |
| - | |
1612 |
| - | |
1613 |
| - | |
1614 |
| - | |
1615 |
| - | |
1616 |
| - | |
1617 |
| - | |
1618 |
| - | |
1619 |
| - | |
1620 |
| - | |
1621 |
| - | |
1622 |
| - | |
1623 |
| - | |
1624 |
| - | |
1625 |
| - | |
1626 |
| - | |
1627 |
| - | |
1628 |
| - | |
| 1749 | + | |
1629 | 1750 |
| |
1630 | 1751 |
| |
1631 | 1752 |
| |
| |||
1641 | 1762 |
| |
1642 | 1763 |
| |
1643 | 1764 |
| |
1644 |
| - | |
1645 |
| - | |
1646 |
| - | |
1647 |
| - | |
| 1765 | + | |
1648 | 1766 |
| |
1649 |
| - | |
1650 |
| - | |
1651 |
| - | |
1652 |
| - | |
1653 |
| - | |
1654 |
| - | |
1655 |
| - | |
| 1767 | + | |
1656 | 1768 |
| |
1657 |
| - | |
1658 |
| - | |
1659 |
| - | |
1660 |
| - | |
1661 |
| - | |
1662 |
| - | |
1663 |
| - | |
1664 |
| - | |
1665 |
| - | |
1666 |
| - | |
1667 |
| - | |
1668 |
| - | |
1669 |
| - | |
1670 |
| - | |
1671 |
| - | |
1672 |
| - | |
1673 |
| - | |
1674 |
| - | |
1675 |
| - | |
1676 |
| - | |
1677 |
| - | |
1678 |
| - | |
1679 |
| - | |
1680 |
| - | |
1681 |
| - | |
1682 |
| - | |
1683 |
| - | |
1684 |
| - | |
1685 |
| - | |
1686 |
| - | |
1687 |
| - | |
1688 |
| - | |
1689 |
| - | |
| 1769 | + | |
| 1770 | + | |
1690 | 1771 |
| |
1691 |
| - | |
1692 |
| - | |
1693 |
| - | |
1694 |
| - | |
| 1772 | + | |
1695 | 1773 |
| |
1696 |
| - | |
1697 |
| - | |
| 1774 | + | |
1698 | 1775 |
| |
1699 |
| - | |
1700 |
| - | |
1701 |
| - | |
1702 |
| - | |
1703 |
| - | |
1704 |
| - | |
| 1776 | + | |
| 1777 | + | |
| 1778 | + | |
| 1779 | + | |
| 1780 | + | |
| 1781 | + | |
| 1782 | + | |
| 1783 | + | |
1705 | 1784 |
| |
1706 |
| - | |
1707 |
| - | |
1708 |
| - | |
1709 |
| - | |
1710 |
| - | |
| 1785 | + | |
| 1786 | + | |
1711 | 1787 |
| |
1712 |
| - | |
1713 |
| - | |
1714 |
| - | |
1715 |
| - | |
1716 |
| - | |
| 1788 | + | |
| 1789 | + | |
1717 | 1790 |
| |
1718 |
| - | |
1719 |
| - | |
1720 |
| - | |
1721 |
| - | |
1722 |
| - | |
1723 |
| - | |
1724 |
| - | |
1725 |
| - | |
| 1791 | + | |
| 1792 | + | |
1726 | 1793 |
| |
1727 |
| - | |
1728 |
| - | |
1729 |
| - | |
1730 |
| - | |
| 1794 | + | |
1731 | 1795 |
| |
1732 |
| - | |
1733 |
| - | |
1734 |
| - | |
1735 |
| - | |
1736 |
| - | |
| 1796 | + | |
| 1797 | + | |
| 1798 | + | |
| 1799 | + | |
| 1800 | + | |
| 1801 | + | |
| 1802 | + | |
| 1803 | + | |
1737 | 1804 |
| |
1738 |
| - | |
1739 |
| - | |
1740 |
| - | |
| 1805 | + | |
| 1806 | + | |
1741 | 1807 |
| |
1742 |
| - | |
1743 |
| - | |
1744 |
| - | |
1745 |
| - | |
1746 |
| - | |
1747 |
| - | |
1748 |
| - | |
1749 |
| - | |
1750 |
| - | |
1751 |
| - | |
| 1808 | + | |
| 1809 | + | |
| 1810 | + | |
| 1811 | + | |
1752 | 1812 |
| |
1753 |
| - | |
| 1813 | + | |
| 1814 | + | |
| 1815 | + | |
1754 | 1816 |
| |
1755 |
| - | |
1756 |
| - | |
1757 |
| - | |
1758 |
| - | |
| 1817 | + | |
| 1818 | + | |
| 1819 | + | |
| 1820 | + | |
1759 | 1821 |
| |
1760 |
| - | |
1761 |
| - | |
1762 |
| - | |
| 1822 | + | |
| 1823 | + | |
1763 | 1824 |
| |
1764 | 1825 |
| |
1765 | 1826 |
| |
|
You can’t perform that action at this time.
0 commit comments