Skip to content

Commit ff5da1e

Browse files
committed
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2 parents 2f4d9dc + 07c6760 commit ff5da1e

File tree

3 files changed

+31
-4
lines changed

3 files changed

+31
-4
lines changed

modules/xfeatures2d/include/opencv2/xfeatures2d.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ class CV_EXPORTS_W MSDDetector : public Feature2D {
371371

372372
public:
373373

374-
static Ptr<MSDDetector> create(int m_patch_radius = 3, int m_search_area_radius = 5,
374+
CV_WRAP static Ptr<MSDDetector> create(int m_patch_radius = 3, int m_search_area_radius = 5,
375375
int m_nms_radius = 5, int m_nms_scale_radius = 0, float m_th_saliency = 250.0f, int m_kNN = 4,
376376
float m_scale_factor = 1.25f, int m_n_scales = -1, bool m_compute_orientation = false);
377377
};
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/usr/bin/env python
2+
3+
# Python 2/3 compatibility
4+
from __future__ import print_function
5+
6+
import os
7+
import numpy as np
8+
import cv2 as cv
9+
10+
from tests_common import NewOpenCVTests
11+
12+
class MSDDetector_test(NewOpenCVTests):
13+
14+
def test_create(self):
15+
16+
msd = cv.xfeatures2d.MSDDetector_create()
17+
self.assertFalse(msd is None)
18+
19+
img1 = np.zeros((100, 100, 3), dtype=np.uint8)
20+
kp1_ = msd.detect(img1, None)
21+
22+
23+
if __name__ == '__main__':
24+
NewOpenCVTests.bootstrap()

modules/ximgproc/samples/edge_drawing.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ def main():
4646
# Detect edges
4747
# you should call this before detectLines() and detectEllipses()
4848
ed.detectEdges(gray)
49+
4950
segments = ed.getSegments()
5051
lines = ed.detectLines()
5152
ellipses = ed.detectEllipses()
@@ -67,14 +68,16 @@ def main():
6768

6869
#Draw detected circles and ellipses
6970
if ellipses is not None: # Check if circles and ellipses have been found and only then iterate over these and add them to the image
70-
ellipses = np.uint16(np.around(ellipses))
7171
for i in range(len(ellipses)):
72+
center = (int(ellipses[i][0][0]), int(ellipses[i][0][1]))
73+
axes = (int(ellipses[i][0][2])+int(ellipses[i][0][3]),int(ellipses[i][0][2])+int(ellipses[i][0][4]))
74+
angle = ellipses[i][0][5]
7275
color = (0, 0, 255)
7376
if ellipses[i][0][2] == 0:
7477
color = (0, 255, 0)
75-
cv.ellipse(esrc, (ellipses[i][0][0], ellipses[i][0][1]), (ellipses[i][0][2]+ellipses[i][0][3],ellipses[i][0][2]+ellipses[i][0][4]),ellipses[i][0][5],0, 360, color, 2, cv.LINE_AA)
78+
cv.ellipse(esrc, center, axes, angle,0, 360, color, 2, cv.LINE_AA)
7679

77-
cv.imshow("detected ellipses", esrc)
80+
cv.imshow("detected circles and ellipses", esrc)
7881
cv.waitKey(0)
7982
print('Done')
8083

0 commit comments

Comments
 (0)