Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
49f43b03
Commit
49f43b03
authored
Mar 21, 2019
by
Alexander Alekhin
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #14108 from alalek:fix_python_samples_3.4
parents
58835eeb
04fad57f
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
48 changed files
with
545 additions
and
276 deletions
+545
-276
asift.py
samples/python/asift.py
+7
-2
browse.py
samples/python/browse.py
+7
-5
calibrate.py
samples/python/calibrate.py
+7
-1
camera_calibration_show_extrinsics.py
samples/python/camera_calibration_show_extrinsics.py
+17
-6
camshift.py
samples/python/camshift.py
+1
-1
coherence.py
samples/python/coherence.py
+8
-1
color_histogram.py
samples/python/color_histogram.py
+52
-41
contours.py
samples/python/contours.py
+7
-3
deconvolution.py
samples/python/deconvolution.py
+9
-2
dft.py
samples/python/dft.py
+9
-2
digits.py
samples/python/digits.py
+3
-3
digits_adjust.py
samples/python/digits_adjust.py
+1
-0
digits_video.py
samples/python/digits_video.py
+4
-0
distrans.py
samples/python/distrans.py
+8
-2
edge.py
samples/python/edge.py
+8
-3
facedetect.py
samples/python/facedetect.py
+8
-2
find_obj.py
samples/python/find_obj.py
+9
-3
fitline.py
samples/python/fitline.py
+9
-3
floodfill.py
samples/python/floodfill.py
+56
-48
gabor_threads.py
samples/python/gabor_threads.py
+8
-2
gaussian_mix.py
samples/python/gaussian_mix.py
+10
-2
grabcut.py
samples/python/grabcut.py
+0
-0
hist.py
samples/python/hist.py
+9
-3
houghcircles.py
samples/python/houghcircles.py
+10
-4
houghlines.py
samples/python/houghlines.py
+9
-3
inpaint.py
samples/python/inpaint.py
+9
-3
kalman.py
samples/python/kalman.py
+10
-3
kmeans.py
samples/python/kmeans.py
+9
-4
lappyr.py
samples/python/lappyr.py
+10
-2
letter_recog.py
samples/python/letter_recog.py
+8
-3
lk_homography.py
samples/python/lk_homography.py
+5
-2
lk_track.py
samples/python/lk_track.py
+5
-2
logpolar.py
samples/python/logpolar.py
+9
-3
morphology.py
samples/python/morphology.py
+8
-3
mouse_and_match.py
samples/python/mouse_and_match.py
+55
-50
mser.py
samples/python/mser.py
+12
-1
opencv_version.py
samples/python/opencv_version.py
+10
-2
opt_flow.py
samples/python/opt_flow.py
+9
-2
peopledetect.py
samples/python/peopledetect.py
+8
-3
squares.py
samples/python/squares.py
+9
-1
stereo_match.py
samples/python/stereo_match.py
+8
-1
texture_flow.py
samples/python/texture_flow.py
+9
-1
tst_scene_render.py
samples/python/tst_scene_render.py
+11
-6
turing.py
samples/python/turing.py
+8
-1
video.py
samples/python/video.py
+3
-3
video_threaded.py
samples/python/video_threaded.py
+9
-4
video_v4l2.py
samples/python/video_v4l2.py
+44
-33
watershed.py
samples/python/watershed.py
+1
-1
No files found.
samples/python/asift.py
View file @
49f43b03
...
...
@@ -106,9 +106,8 @@ def affine_detect(detector, img, mask=None, pool=None):
print
()
return
keypoints
,
np
.
array
(
descrs
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
def
main
():
import
sys
,
getopt
opts
,
args
=
getopt
.
getopt
(
sys
.
argv
[
1
:],
''
,
[
'feature='
])
opts
=
dict
(
opts
)
...
...
@@ -160,4 +159,10 @@ if __name__ == '__main__':
match_and_draw
(
'affine find_obj'
)
cv
.
waitKey
()
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/browse.py
View file @
49f43b03
...
...
@@ -26,11 +26,7 @@ import cv2 as cv
# built-in modules
import
sys
if
__name__
==
'__main__'
:
print
(
'This sample shows how to implement a simple hi resolution image navigation.'
)
print
(
'USAGE: browse.py [image filename]'
)
print
()
def
main
():
if
len
(
sys
.
argv
)
>
1
:
fn
=
cv
.
samples
.
findFile
(
sys
.
argv
[
1
])
print
(
'loading
%
s ...'
%
fn
)
...
...
@@ -62,4 +58,10 @@ if __name__ == '__main__':
cv
.
imshow
(
'preview'
,
small
)
cv
.
setMouseCallback
(
'preview'
,
onmouse
)
cv
.
waitKey
()
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/calibrate.py
View file @
49f43b03
...
...
@@ -25,7 +25,7 @@ from common import splitfn
# built-in modules
import
os
if
__name__
==
'__main__'
:
def
main
()
:
import
sys
import
getopt
from
glob
import
glob
...
...
@@ -126,4 +126,10 @@ if __name__ == '__main__':
print
(
'Undistorted image written to:
%
s'
%
outfile
)
cv
.
imwrite
(
outfile
,
dst
)
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/camera_calibration_show_extrinsics.py
View file @
49f43b03
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from
mpl_toolkits.mplot3d
import
Axes3D
import
matplotlib.pyplot
as
plt
# Python 2/3 compatibility
from
__future__
import
print_function
import
numpy
as
np
from
matplotlib
import
cm
from
numpy
import
linspace
import
argparse
import
cv2
as
cv
from
numpy
import
linspace
def
inverse_homogeneoux_matrix
(
M
):
R
=
M
[
0
:
3
,
0
:
3
]
T
=
M
[
0
:
3
,
3
]
...
...
@@ -119,6 +119,8 @@ def create_board_model(extrinsics, board_width, board_height, square_size, draw_
def
draw_camera_boards
(
ax
,
camera_matrix
,
cam_width
,
cam_height
,
scale_focal
,
extrinsics
,
board_width
,
board_height
,
square_size
,
patternCentric
):
from
matplotlib
import
cm
min_values
=
np
.
zeros
((
3
,
1
))
min_values
=
np
.
inf
max_values
=
np
.
zeros
((
3
,
1
))
...
...
@@ -158,6 +160,8 @@ def draw_camera_boards(ax, camera_matrix, cam_width, cam_height, scale_focal,
return
min_values
,
max_values
def
main
():
import
argparse
parser
=
argparse
.
ArgumentParser
(
description
=
'Plot camera calibration extrinsics.'
,
formatter_class
=
argparse
.
ArgumentDefaultsHelpFormatter
)
parser
.
add_argument
(
'--calibration'
,
type
=
str
,
default
=
'left_intrinsics.yml'
,
...
...
@@ -179,6 +183,9 @@ def main():
camera_matrix
=
fs
.
getNode
(
'camera_matrix'
)
.
mat
()
extrinsics
=
fs
.
getNode
(
'extrinsic_parameters'
)
.
mat
()
import
matplotlib.pyplot
as
plt
from
mpl_toolkits.mplot3d
import
Axes3D
fig
=
plt
.
figure
()
ax
=
fig
.
gca
(
projection
=
'3d'
)
ax
.
set_aspect
(
"equal"
)
...
...
@@ -211,6 +218,10 @@ def main():
ax
.
set_title
(
'Extrinsic Parameters Visualization'
)
plt
.
show
()
print
(
'Done'
)
if
__name__
==
"__main__"
:
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/camshift.py
View file @
49f43b03
...
...
@@ -119,10 +119,10 @@ class App(object):
if
__name__
==
'__main__'
:
print
(
__doc__
)
import
sys
try
:
video_src
=
sys
.
argv
[
1
]
except
:
video_src
=
0
print
(
__doc__
)
App
(
video_src
)
.
run
()
samples/python/coherence.py
View file @
49f43b03
...
...
@@ -46,7 +46,7 @@ def coherence_filter(img, sigma = 11, str_sigma = 11, blend = 0.5, iter_n = 4):
return
img
if
__name__
==
'__main__'
:
def
main
()
:
import
sys
try
:
fn
=
sys
.
argv
[
1
]
...
...
@@ -82,4 +82,11 @@ if __name__ == '__main__':
update
()
if
ch
==
27
:
break
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/color_histogram.py
View file @
49f43b03
...
...
@@ -8,6 +8,9 @@ Keys:
'''
# Python 2/3 compatibility
from
__future__
import
print_function
import
numpy
as
np
import
cv2
as
cv
...
...
@@ -17,46 +20,54 @@ import sys
# local modules
import
video
if
__name__
==
'__main__'
:
class
App
():
def
set_scale
(
self
,
val
):
self
.
hist_scale
=
val
def
run
(
self
):
hsv_map
=
np
.
zeros
((
180
,
256
,
3
),
np
.
uint8
)
h
,
s
=
np
.
indices
(
hsv_map
.
shape
[:
2
])
hsv_map
[:,:,
0
]
=
h
hsv_map
[:,:,
1
]
=
s
hsv_map
[:,:,
2
]
=
255
hsv_map
=
cv
.
cvtColor
(
hsv_map
,
cv
.
COLOR_HSV2BGR
)
cv
.
imshow
(
'hsv_map'
,
hsv_map
)
cv
.
namedWindow
(
'hist'
,
0
)
self
.
hist_scale
=
10
cv
.
createTrackbar
(
'scale'
,
'hist'
,
self
.
hist_scale
,
32
,
self
.
set_scale
)
try
:
fn
=
sys
.
argv
[
1
]
except
:
fn
=
0
cam
=
video
.
create_capture
(
fn
,
fallback
=
'synth:bg=baboon.jpg:class=chess:noise=0.05'
)
while
True
:
flag
,
frame
=
cam
.
read
()
cv
.
imshow
(
'camera'
,
frame
)
hsv_map
=
np
.
zeros
((
180
,
256
,
3
),
np
.
uint8
)
h
,
s
=
np
.
indices
(
hsv_map
.
shape
[:
2
])
hsv_map
[:,:,
0
]
=
h
hsv_map
[:,:,
1
]
=
s
hsv_map
[:,:,
2
]
=
255
hsv_map
=
cv
.
cvtColor
(
hsv_map
,
cv
.
COLOR_HSV2BGR
)
cv
.
imshow
(
'hsv_map'
,
hsv_map
)
cv
.
namedWindow
(
'hist'
,
0
)
hist_scale
=
10
def
set_scale
(
val
):
global
hist_scale
hist_scale
=
val
cv
.
createTrackbar
(
'scale'
,
'hist'
,
hist_scale
,
32
,
set_scale
)
try
:
fn
=
sys
.
argv
[
1
]
except
:
fn
=
0
cam
=
video
.
create_capture
(
fn
,
fallback
=
'synth:bg=baboon.jpg:class=chess:noise=0.05'
)
while
True
:
flag
,
frame
=
cam
.
read
()
cv
.
imshow
(
'camera'
,
frame
)
small
=
cv
.
pyrDown
(
frame
)
hsv
=
cv
.
cvtColor
(
small
,
cv
.
COLOR_BGR2HSV
)
dark
=
hsv
[
...
,
2
]
<
32
hsv
[
dark
]
=
0
h
=
cv
.
calcHist
([
hsv
],
[
0
,
1
],
None
,
[
180
,
256
],
[
0
,
180
,
0
,
256
])
h
=
np
.
clip
(
h
*
0.005
*
hist_scale
,
0
,
1
)
vis
=
hsv_map
*
h
[:,:,
np
.
newaxis
]
/
255.0
cv
.
imshow
(
'hist'
,
vis
)
ch
=
cv
.
waitKey
(
1
)
if
ch
==
27
:
break
small
=
cv
.
pyrDown
(
frame
)
hsv
=
cv
.
cvtColor
(
small
,
cv
.
COLOR_BGR2HSV
)
dark
=
hsv
[
...
,
2
]
<
32
hsv
[
dark
]
=
0
h
=
cv
.
calcHist
([
hsv
],
[
0
,
1
],
None
,
[
180
,
256
],
[
0
,
180
,
0
,
256
])
h
=
np
.
clip
(
h
*
0.005
*
self
.
hist_scale
,
0
,
1
)
vis
=
hsv_map
*
h
[:,:,
np
.
newaxis
]
/
255.0
cv
.
imshow
(
'hist'
,
vis
)
ch
=
cv
.
waitKey
(
1
)
if
ch
==
27
:
break
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
App
()
.
run
()
cv
.
destroyAllWindows
()
samples/python/contours.py
View file @
49f43b03
...
...
@@ -48,9 +48,7 @@ def make_image():
cv
.
ellipse
(
img
,
(
dx
+
273
,
dy
+
100
),
(
20
,
35
),
0
,
0
,
360
,
white
,
-
1
)
return
img
if
__name__
==
'__main__'
:
print
(
__doc__
)
def
main
():
img
=
make_image
()
h
,
w
=
img
.
shape
[:
2
]
...
...
@@ -67,4 +65,10 @@ if __name__ == '__main__':
cv
.
createTrackbar
(
"levels+3"
,
"contours"
,
3
,
7
,
update
)
cv
.
imshow
(
'image'
,
img
)
cv
.
waitKey
()
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/deconvolution.py
View file @
49f43b03
...
...
@@ -65,8 +65,7 @@ def defocus_kernel(d, sz=65):
return
kern
if
__name__
==
'__main__'
:
print
(
__doc__
)
def
main
():
import
sys
,
getopt
opts
,
args
=
getopt
.
getopt
(
sys
.
argv
[
1
:],
''
,
[
'circle'
,
'angle='
,
'd='
,
'snr='
])
opts
=
dict
(
opts
)
...
...
@@ -128,3 +127,11 @@ if __name__ == '__main__':
if
ch
==
ord
(
' '
):
defocus
=
not
defocus
update
(
None
)
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/dft.py
View file @
49f43b03
...
...
@@ -11,8 +11,9 @@ USAGE:
# Python 2/3 compatibility
from
__future__
import
print_function
import
cv2
as
cv
import
numpy
as
np
import
cv2
as
cv
import
sys
...
...
@@ -62,8 +63,8 @@ def shift_dft(src, dst=None):
return
dst
if
__name__
==
"__main__"
:
def
main
():
if
len
(
sys
.
argv
)
>
1
:
fname
=
sys
.
argv
[
1
]
else
:
...
...
@@ -110,4 +111,10 @@ if __name__ == "__main__":
cv
.
imshow
(
"magnitude"
,
log_spectrum
)
cv
.
waitKey
(
0
)
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/digits.py
View file @
49f43b03
...
...
@@ -27,12 +27,12 @@ Usage:
# Python 2/3 compatibility
from
__future__
import
print_function
import
numpy
as
np
import
cv2
as
cv
# built-in modules
from
multiprocessing.pool
import
ThreadPool
import
cv2
as
cv
import
numpy
as
np
from
numpy.linalg
import
norm
# local modules
...
...
samples/python/digits_adjust.py
View file @
49f43b03
...
...
@@ -23,6 +23,7 @@ if PY3:
import
numpy
as
np
import
cv2
as
cv
from
multiprocessing.pool
import
ThreadPool
from
digits
import
*
...
...
samples/python/digits_video.py
View file @
49f43b03
...
...
@@ -96,6 +96,10 @@ def main():
if
ch
==
27
:
break
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/distrans.py
View file @
49f43b03
...
...
@@ -19,13 +19,12 @@ import cv2 as cv
from
common
import
make_cmap
if
__name__
==
'__main__'
:
def
main
()
:
import
sys
try
:
fn
=
sys
.
argv
[
1
]
except
:
fn
=
'fruits.jpg'
print
(
__doc__
)
fn
=
cv
.
samples
.
findFile
(
fn
)
img
=
cv
.
imread
(
fn
,
cv
.
IMREAD_GRAYSCALE
)
...
...
@@ -69,4 +68,11 @@ if __name__ == '__main__':
update
()
if
need_update
:
update
()
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/edge.py
View file @
49f43b03
...
...
@@ -23,9 +23,7 @@ import video
import
sys
if
__name__
==
'__main__'
:
print
(
__doc__
)
def
main
():
try
:
fn
=
sys
.
argv
[
1
]
except
:
...
...
@@ -52,4 +50,11 @@ if __name__ == '__main__':
ch
=
cv
.
waitKey
(
5
)
if
ch
==
27
:
break
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/facedetect.py
View file @
49f43b03
...
...
@@ -30,9 +30,8 @@ def draw_rects(img, rects, color):
for
x1
,
y1
,
x2
,
y2
in
rects
:
cv
.
rectangle
(
img
,
(
x1
,
y1
),
(
x2
,
y2
),
color
,
2
)
if
__name__
==
'__main__'
:
def
main
()
:
import
sys
,
getopt
print
(
__doc__
)
args
,
video_src
=
getopt
.
getopt
(
sys
.
argv
[
1
:],
''
,
[
'cascade='
,
'nested-cascade='
])
try
:
...
...
@@ -70,4 +69,11 @@ if __name__ == '__main__':
if
cv
.
waitKey
(
5
)
==
27
:
break
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/find_obj.py
View file @
49f43b03
...
...
@@ -19,6 +19,7 @@ from __future__ import print_function
import
numpy
as
np
import
cv2
as
cv
from
common
import
anorm
,
getsize
FLANN_INDEX_KDTREE
=
1
# bug: flann enums are missing
...
...
@@ -137,9 +138,7 @@ def explore_match(win, img1, img2, kp_pairs, status = None, H = None):
return
vis
if
__name__
==
'__main__'
:
print
(
__doc__
)
def
main
():
import
sys
,
getopt
opts
,
args
=
getopt
.
getopt
(
sys
.
argv
[
1
:],
''
,
[
'feature='
])
opts
=
dict
(
opts
)
...
...
@@ -187,4 +186,11 @@ if __name__ == '__main__':
match_and_draw
(
'find_obj'
)
cv
.
waitKey
()
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/fitline.py
View file @
49f43b03
...
...
@@ -79,9 +79,7 @@ def update(_=None):
draw_str
(
img
,
(
20
,
20
),
cur_func_name
)
cv
.
imshow
(
'fit line'
,
img
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
def
main
():
cv
.
namedWindow
(
'fit line'
)
cv
.
createTrackbar
(
'noise'
,
'fit line'
,
3
,
50
,
update
)
cv
.
createTrackbar
(
'point n'
,
'fit line'
,
100
,
500
,
update
)
...
...
@@ -96,3 +94,11 @@ if __name__ == '__main__':
cur_func_name
=
dist_func_names
.
next
()
if
ch
==
27
:
break
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/floodfill.py
View file @
49f43b03
...
...
@@ -20,61 +20,69 @@ from __future__ import print_function
import
numpy
as
np
import
cv2
as
cv
if
__name__
==
'__main__'
:
import
sys
try
:
fn
=
sys
.
argv
[
1
]
except
:
fn
=
'fruits.jpg'
print
(
__doc__
)
import
sys
img
=
cv
.
imread
(
cv
.
samples
.
findFile
(
fn
))
if
img
is
None
:
print
(
'Failed to load image file:'
,
fn
)
sys
.
exit
(
1
)
class
App
():
h
,
w
=
img
.
shape
[:
2
]
mask
=
np
.
zeros
((
h
+
2
,
w
+
2
),
np
.
uint8
)
seed_pt
=
None
fixed_range
=
True
connectivity
=
4
def
update
(
dummy
=
None
):
if
seed_pt
is
None
:
cv
.
imshow
(
'floodfill'
,
img
)
def
update
(
self
,
dummy
=
None
):
if
self
.
seed_pt
is
None
:
cv
.
imshow
(
'floodfill'
,
self
.
img
)
return
flooded
=
img
.
copy
()
mask
[:]
=
0
flooded
=
self
.
img
.
copy
()
self
.
mask
[:]
=
0
lo
=
cv
.
getTrackbarPos
(
'lo'
,
'floodfill'
)
hi
=
cv
.
getTrackbarPos
(
'hi'
,
'floodfill'
)
flags
=
connectivity
if
fixed_range
:
flags
=
self
.
connectivity
if
self
.
fixed_range
:
flags
|=
cv
.
FLOODFILL_FIXED_RANGE
cv
.
floodFill
(
flooded
,
mask
,
seed_pt
,
(
255
,
255
,
255
),
(
lo
,)
*
3
,
(
hi
,)
*
3
,
flags
)
cv
.
circle
(
flooded
,
seed_pt
,
2
,
(
0
,
0
,
255
),
-
1
)
cv
.
floodFill
(
flooded
,
self
.
mask
,
self
.
seed_pt
,
(
255
,
255
,
255
),
(
lo
,)
*
3
,
(
hi
,)
*
3
,
flags
)
cv
.
circle
(
flooded
,
se
lf
.
se
ed_pt
,
2
,
(
0
,
0
,
255
),
-
1
)
cv
.
imshow
(
'floodfill'
,
flooded
)
def
onmouse
(
event
,
x
,
y
,
flags
,
param
):
global
seed_pt
def
onmouse
(
self
,
event
,
x
,
y
,
flags
,
param
):
if
flags
&
cv
.
EVENT_FLAG_LBUTTON
:
seed_pt
=
x
,
y
update
()
update
()
cv
.
setMouseCallback
(
'floodfill'
,
onmouse
)
cv
.
createTrackbar
(
'lo'
,
'floodfill'
,
20
,
255
,
update
)
cv
.
createTrackbar
(
'hi'
,
'floodfill'
,
20
,
255
,
update
)
while
True
:
ch
=
cv
.
waitKey
()
if
ch
==
27
:
break
if
ch
==
ord
(
'f'
):
fixed_range
=
not
fixed_range
print
(
'using
%
s range'
%
(
'floating'
,
'fixed'
)[
fixed_range
])
update
()
if
ch
==
ord
(
'c'
):
connectivity
=
12
-
connectivity
print
(
'connectivity ='
,
connectivity
)
update
()
self
.
seed_pt
=
x
,
y
self
.
update
()
def
run
(
self
):
try
:
fn
=
sys
.
argv
[
1
]
except
:
fn
=
'fruits.jpg'
self
.
img
=
cv
.
imread
(
cv
.
samples
.
findFile
(
fn
))
if
self
.
img
is
None
:
print
(
'Failed to load image file:'
,
fn
)
sys
.
exit
(
1
)
h
,
w
=
self
.
img
.
shape
[:
2
]
self
.
mask
=
np
.
zeros
((
h
+
2
,
w
+
2
),
np
.
uint8
)
self
.
seed_pt
=
None
self
.
fixed_range
=
True
self
.
connectivity
=
4
self
.
update
()
cv
.
setMouseCallback
(
'floodfill'
,
self
.
onmouse
)
cv
.
createTrackbar
(
'lo'
,
'floodfill'
,
20
,
255
,
self
.
update
)
cv
.
createTrackbar
(
'hi'
,
'floodfill'
,
20
,
255
,
self
.
update
)
while
True
:
ch
=
cv
.
waitKey
()
if
ch
==
27
:
break
if
ch
==
ord
(
'f'
):
self
.
fixed_range
=
not
self
.
fixed_range
print
(
'using
%
s range'
%
(
'floating'
,
'fixed'
)[
self
.
fixed_range
])
self
.
update
()
if
ch
==
ord
(
'c'
):
self
.
connectivity
=
12
-
self
.
connectivity
print
(
'connectivity ='
,
self
.
connectivity
)
self
.
update
()
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
App
()
.
run
()
cv
.
destroyAllWindows
()
samples/python/gabor_threads.py
View file @
49f43b03
...
...
@@ -19,6 +19,7 @@ from __future__ import print_function
import
numpy
as
np
import
cv2
as
cv
from
multiprocessing.pool
import
ThreadPool
...
...
@@ -47,11 +48,10 @@ def process_threaded(img, filters, threadn = 8):
np
.
maximum
(
accum
,
fimg
,
accum
)
return
accum
if
__name__
==
'__main__'
:
def
main
()
:
import
sys
from
common
import
Timer
print
(
__doc__
)
try
:
img_fn
=
sys
.
argv
[
1
]
except
:
...
...
@@ -73,4 +73,10 @@ if __name__ == '__main__':
cv
.
imshow
(
'img'
,
img
)
cv
.
imshow
(
'result'
,
res2
)
cv
.
waitKey
()
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/gaussian_mix.py
View file @
49f43b03
...
...
@@ -9,9 +9,10 @@ if PY3:
xrange
=
range
import
numpy
as
np
from
numpy
import
random
import
cv2
as
cv
from
numpy
import
random
def
make_gaussians
(
cluster_n
,
img_size
):
points
=
[]
ref_distrs
=
[]
...
...
@@ -34,7 +35,7 @@ def draw_gaussain(img, mean, cov, color):
cv
.
ellipse
(
img
,
(
x
,
y
),
(
s1
,
s2
),
ang
,
0
,
360
,
color
,
1
,
cv
.
LINE_AA
)
if
__name__
==
'__main__'
:
def
main
()
:
cluster_n
=
5
img_size
=
512
...
...
@@ -66,4 +67,11 @@ if __name__ == '__main__':
ch
=
cv
.
waitKey
(
0
)
if
ch
==
27
:
break
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/grabcut.py
View file @
49f43b03
This diff is collapsed.
Click to expand it.
samples/python/hist.py
View file @
49f43b03
...
...
@@ -18,8 +18,8 @@ Abid Rahman 3/14/12 debug Gary Bradski
# Python 2/3 compatibility
from
__future__
import
print_function
import
cv2
as
cv
import
numpy
as
np
import
cv2
as
cv
bins
=
np
.
arange
(
256
)
.
reshape
(
256
,
1
)
...
...
@@ -53,8 +53,7 @@ def hist_lines(im):
return
y
if
__name__
==
'__main__'
:
def
main
():
import
sys
if
len
(
sys
.
argv
)
>
1
:
...
...
@@ -116,4 +115,11 @@ if __name__ == '__main__':
print
(
'ESC'
)
cv
.
destroyAllWindows
()
break
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/houghcircles.py
View file @
49f43b03
...
...
@@ -11,13 +11,12 @@ Usage:
# Python 2/3 compatibility
from
__future__
import
print_function
import
cv2
as
cv
import
numpy
as
np
import
sys
import
cv2
as
cv
if
__name__
==
'__main__'
:
print
(
__doc__
)
import
sys
def
main
():
try
:
fn
=
sys
.
argv
[
1
]
except
IndexError
:
...
...
@@ -40,3 +39,10 @@ if __name__ == '__main__':
cv
.
imshow
(
"source"
,
src
)
cv
.
waitKey
(
0
)
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/houghlines.py
View file @
49f43b03
...
...
@@ -13,12 +13,11 @@ from __future__ import print_function
import
cv2
as
cv
import
numpy
as
np
import
sys
import
math
if
__name__
==
'__main__'
:
print
(
__doc__
)
def
main
():
try
:
fn
=
sys
.
argv
[
1
]
except
IndexError
:
...
...
@@ -52,3 +51,10 @@ if __name__ == '__main__':
cv
.
imshow
(
"source"
,
src
)
cv
.
waitKey
(
0
)
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/inpaint.py
View file @
49f43b03
...
...
@@ -20,17 +20,16 @@ from __future__ import print_function
import
numpy
as
np
import
cv2
as
cv
from
common
import
Sketcher
if
__name__
==
'__main__'
:
def
main
()
:
import
sys
try
:
fn
=
sys
.
argv
[
1
]
except
:
fn
=
'fruits.jpg'
print
(
__doc__
)
img
=
cv
.
imread
(
cv
.
samples
.
findFile
(
fn
))
if
img
is
None
:
print
(
'Failed to load image file:'
,
fn
)
...
...
@@ -51,4 +50,11 @@ if __name__ == '__main__':
img_mark
[:]
=
img
mark
[:]
=
0
sketch
.
show
()
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/kalman.py
View file @
49f43b03
...
...
@@ -18,12 +18,13 @@ PY3 = sys.version_info[0] == 3
if
PY3
:
long
=
int
import
numpy
as
np
import
cv2
as
cv
from
math
import
cos
,
sin
,
sqrt
import
numpy
as
np
if
__name__
==
"__main__"
:
def
main
():
img_height
=
500
img_width
=
500
kalman
=
cv
.
KalmanFilter
(
2
,
1
,
0
)
...
...
@@ -93,4 +94,10 @@ if __name__ == "__main__":
if
code
in
[
27
,
ord
(
'q'
),
ord
(
'Q'
)]:
break
cv
.
destroyWindow
(
"Kalman"
)
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/kmeans.py
View file @
49f43b03
...
...
@@ -18,12 +18,10 @@ import cv2 as cv
from
gaussian_mix
import
make_gaussians
if
__name__
==
'__main__'
:
def
main
()
:
cluster_n
=
5
img_size
=
512
print
(
__doc__
)
# generating bright palette
colors
=
np
.
zeros
((
1
,
cluster_n
,
3
),
np
.
uint8
)
colors
[
0
,:]
=
255
...
...
@@ -43,8 +41,15 @@ if __name__ == '__main__':
cv
.
circle
(
img
,
(
x
,
y
),
1
,
c
,
-
1
)
cv
.
imshow
(
'
gaussian mixture
'
,
img
)
cv
.
imshow
(
'
kmeans
'
,
img
)
ch
=
cv
.
waitKey
(
0
)
if
ch
==
27
:
break
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/lappyr.py
View file @
49f43b03
...
...
@@ -22,6 +22,7 @@ if PY3:
import
numpy
as
np
import
cv2
as
cv
import
video
from
common
import
nothing
,
getsize
...
...
@@ -44,9 +45,8 @@ def merge_lappyr(levels):
return
np
.
uint8
(
np
.
clip
(
img
,
0
,
255
))
if
__name__
==
'__main__'
:
def
main
()
:
import
sys
print
(
__doc__
)
try
:
fn
=
sys
.
argv
[
1
]
...
...
@@ -72,3 +72,11 @@ if __name__ == '__main__':
if
cv
.
waitKey
(
1
)
==
27
:
break
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/letter_recog.py
View file @
49f43b03
...
...
@@ -145,12 +145,10 @@ class MLP(LetterStatModel):
if
__name__
==
'__main__'
:
def
main
()
:
import
getopt
import
sys
print
(
__doc__
)
models
=
[
RTrees
,
KNearest
,
Boost
,
SVM
,
MLP
]
# NBayes
models
=
dict
(
[(
cls
.
__name__
.
lower
(),
cls
)
for
cls
in
models
]
)
...
...
@@ -186,4 +184,11 @@ if __name__ == '__main__':
fn
=
args
[
'--save'
]
print
(
'saving model to
%
s ...'
%
fn
)
model
.
save
(
fn
)
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/lk_homography.py
View file @
49f43b03
...
...
@@ -25,6 +25,7 @@ from __future__ import print_function
import
numpy
as
np
import
cv2
as
cv
import
video
from
common
import
draw_str
from
video
import
presets
...
...
@@ -112,9 +113,11 @@ def main():
except
:
video_src
=
0
print
(
__doc__
)
App
(
video_src
)
.
run
()
cv
.
destroyAllWindows
()
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/lk_track.py
View file @
49f43b03
...
...
@@ -23,6 +23,7 @@ from __future__ import print_function
import
numpy
as
np
import
cv2
as
cv
import
video
from
common
import
anorm2
,
draw_str
from
time
import
clock
...
...
@@ -96,9 +97,11 @@ def main():
except
:
video_src
=
0
print
(
__doc__
)
App
(
video_src
)
.
run
()
cv
.
destroyAllWindows
()
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/logpolar.py
View file @
49f43b03
...
...
@@ -13,11 +13,10 @@ Keys:
# Python 2/3 compatibility
from
__future__
import
print_function
import
numpy
as
np
import
cv2
as
cv
if
__name__
==
'__main__'
:
print
(
__doc__
)
def
main
():
import
sys
try
:
fn
=
sys
.
argv
[
1
]
...
...
@@ -37,3 +36,10 @@ if __name__ == '__main__':
cv
.
imshow
(
'linearpolar'
,
img3
)
cv
.
waitKey
(
0
)
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/morphology.py
View file @
49f43b03
...
...
@@ -21,9 +21,7 @@ import numpy as np
import
cv2
as
cv
if
__name__
==
'__main__'
:
print
(
__doc__
)
def
main
():
import
sys
from
itertools
import
cycle
from
common
import
draw_str
...
...
@@ -93,4 +91,11 @@ if __name__ == '__main__':
else
:
cur_str_mode
=
str_modes
.
next
()
update
()
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/mouse_and_match.py
View file @
49f43b03
...
...
@@ -25,59 +25,64 @@ import argparse
from
math
import
*
drag_start
=
None
sel
=
(
0
,
0
,
0
,
0
)
class
App
():
drag_start
=
None
sel
=
(
0
,
0
,
0
,
0
)
def
onmouse
(
event
,
x
,
y
,
flags
,
param
):
global
drag_start
,
sel
if
event
==
cv
.
EVENT_LBUTTONDOWN
:
drag_start
=
x
,
y
sel
=
0
,
0
,
0
,
0
elif
event
==
cv
.
EVENT_LBUTTONUP
:
if
sel
[
2
]
>
sel
[
0
]
and
sel
[
3
]
>
sel
[
1
]:
patch
=
gray
[
sel
[
1
]:
sel
[
3
],
sel
[
0
]:
sel
[
2
]]
result
=
cv
.
matchTemplate
(
gray
,
patch
,
cv
.
TM_CCOEFF_NORMED
)
result
=
np
.
abs
(
result
)
**
3
_val
,
result
=
cv
.
threshold
(
result
,
0.01
,
0
,
cv
.
THRESH_TOZERO
)
result8
=
cv
.
normalize
(
result
,
None
,
0
,
255
,
cv
.
NORM_MINMAX
,
cv
.
CV_8U
)
cv
.
imshow
(
"result"
,
result8
)
drag_start
=
None
elif
drag_start
:
#print flags
if
flags
&
cv
.
EVENT_FLAG_LBUTTON
:
minpos
=
min
(
drag_start
[
0
],
x
),
min
(
drag_start
[
1
],
y
)
maxpos
=
max
(
drag_start
[
0
],
x
),
max
(
drag_start
[
1
],
y
)
sel
=
minpos
[
0
],
minpos
[
1
],
maxpos
[
0
],
maxpos
[
1
]
img
=
cv
.
cvtColor
(
gray
,
cv
.
COLOR_GRAY2BGR
)
cv
.
rectangle
(
img
,
(
sel
[
0
],
sel
[
1
]),
(
sel
[
2
],
sel
[
3
]),
(
0
,
255
,
255
),
1
)
cv
.
imshow
(
"gray"
,
img
)
else
:
print
(
"selection is complete"
)
drag_start
=
None
def
onmouse
(
self
,
event
,
x
,
y
,
flags
,
param
):
if
event
==
cv
.
EVENT_LBUTTONDOWN
:
self
.
drag_start
=
x
,
y
self
.
sel
=
(
0
,
0
,
0
,
0
)
elif
event
==
cv
.
EVENT_LBUTTONUP
:
if
self
.
sel
[
2
]
>
self
.
sel
[
0
]
and
self
.
sel
[
3
]
>
self
.
sel
[
1
]:
patch
=
self
.
gray
[
self
.
sel
[
1
]:
self
.
sel
[
3
],
self
.
sel
[
0
]:
self
.
sel
[
2
]]
result
=
cv
.
matchTemplate
(
self
.
gray
,
patch
,
cv
.
TM_CCOEFF_NORMED
)
result
=
np
.
abs
(
result
)
**
3
_val
,
result
=
cv
.
threshold
(
result
,
0.01
,
0
,
cv
.
THRESH_TOZERO
)
result8
=
cv
.
normalize
(
result
,
None
,
0
,
255
,
cv
.
NORM_MINMAX
,
cv
.
CV_8U
)
cv
.
imshow
(
"result"
,
result8
)
self
.
drag_start
=
None
elif
self
.
drag_start
:
#print flags
if
flags
&
cv
.
EVENT_FLAG_LBUTTON
:
minpos
=
min
(
self
.
drag_start
[
0
],
x
),
min
(
self
.
drag_start
[
1
],
y
)
maxpos
=
max
(
self
.
drag_start
[
0
],
x
),
max
(
self
.
drag_start
[
1
],
y
)
self
.
sel
=
(
minpos
[
0
],
minpos
[
1
],
maxpos
[
0
],
maxpos
[
1
])
img
=
cv
.
cvtColor
(
self
.
gray
,
cv
.
COLOR_GRAY2BGR
)
cv
.
rectangle
(
img
,
(
self
.
sel
[
0
],
self
.
sel
[
1
]),
(
self
.
sel
[
2
],
self
.
sel
[
3
]),
(
0
,
255
,
255
),
1
)
cv
.
imshow
(
"gray"
,
img
)
else
:
print
(
"selection is complete"
)
self
.
drag_start
=
None
if
__name__
==
'__main__'
:
print
(
__doc__
)
def
run
(
self
):
parser
=
argparse
.
ArgumentParser
(
description
=
'Demonstrate mouse interaction with images'
)
parser
.
add_argument
(
"-i"
,
"--input"
,
default
=
'../data/'
,
help
=
"Input directory."
)
args
=
parser
.
parse_args
()
path
=
args
.
input
cv
.
namedWindow
(
"gray"
,
1
)
cv
.
setMouseCallback
(
"gray"
,
self
.
onmouse
)
'''Loop through all the images in the directory'''
for
infile
in
glob
.
glob
(
os
.
path
.
join
(
path
,
'*.*'
)
):
ext
=
os
.
path
.
splitext
(
infile
)[
1
][
1
:]
#get the filename extension
if
ext
==
"png"
or
ext
==
"jpg"
or
ext
==
"bmp"
or
ext
==
"tiff"
or
ext
==
"pbm"
:
print
(
infile
)
parser
=
argparse
.
ArgumentParser
(
description
=
'Demonstrate mouse interaction with images'
)
parser
.
add_argument
(
"-i"
,
"--input"
,
default
=
'../data/'
,
help
=
"Input directory."
)
args
=
parser
.
parse_args
()
path
=
args
.
input
img
=
cv
.
imread
(
infile
,
1
)
if
img
is
None
:
continue
self
.
sel
=
(
0
,
0
,
0
,
0
)
self
.
drag_start
=
None
self
.
gray
=
cv
.
cvtColor
(
img
,
cv
.
COLOR_BGR2GRAY
)
cv
.
imshow
(
"gray"
,
self
.
gray
)
if
cv
.
waitKey
()
==
27
:
break
cv
.
namedWindow
(
"gray"
,
1
)
cv
.
setMouseCallback
(
"gray"
,
onmouse
)
'''Loop through all the images in the directory'''
for
infile
in
glob
.
glob
(
os
.
path
.
join
(
path
,
'*.*'
)
):
ext
=
os
.
path
.
splitext
(
infile
)[
1
][
1
:]
#get the filename extension
if
ext
==
"png"
or
ext
==
"jpg"
or
ext
==
"bmp"
or
ext
==
"tiff"
or
ext
==
"pbm"
:
print
(
infile
)
print
(
'Done'
)
img
=
cv
.
imread
(
infile
,
1
)
if
img
is
None
:
continue
sel
=
(
0
,
0
,
0
,
0
)
drag_start
=
None
gray
=
cv
.
cvtColor
(
img
,
cv
.
COLOR_BGR2GRAY
)
cv
.
imshow
(
"gray"
,
gray
)
if
cv
.
waitKey
()
==
27
:
break
if
__name__
==
'__main__'
:
print
(
__doc__
)
App
()
.
run
()
cv
.
destroyAllWindows
()
samples/python/mser.py
View file @
49f43b03
...
...
@@ -14,12 +14,16 @@ Keys:
'''
# Python 2/3 compatibility
from
__future__
import
print_function
import
numpy
as
np
import
cv2
as
cv
import
video
import
sys
if
__name__
==
'__main__'
:
def
main
()
:
try
:
video_src
=
sys
.
argv
[
1
]
except
:
...
...
@@ -42,4 +46,11 @@ if __name__ == '__main__':
cv
.
imshow
(
'img'
,
vis
)
if
cv
.
waitKey
(
5
)
==
27
:
break
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/opencv_version.py
View file @
49f43b03
...
...
@@ -13,11 +13,11 @@ Usage:
# Python 2/3 compatibility
from
__future__
import
print_function
import
numpy
as
np
import
cv2
as
cv
if
__name__
==
'__main__'
:
def
main
()
:
import
sys
print
(
__doc__
)
try
:
param
=
sys
.
argv
[
1
]
...
...
@@ -31,3 +31,11 @@ if __name__ == '__main__':
print
(
"
\t
--help
\n\t\t
print this help"
)
else
:
print
(
"Welcome to OpenCV"
)
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/opt_flow.py
View file @
49f43b03
...
...
@@ -18,6 +18,7 @@ from __future__ import print_function
import
numpy
as
np
import
cv2
as
cv
import
video
...
...
@@ -55,9 +56,8 @@ def warp_flow(img, flow):
res
=
cv
.
remap
(
img
,
flow
,
None
,
cv
.
INTER_LINEAR
)
return
res
if
__name__
==
'__main__'
:
def
main
()
:
import
sys
print
(
__doc__
)
try
:
fn
=
sys
.
argv
[
1
]
except
IndexError
:
...
...
@@ -94,4 +94,11 @@ if __name__ == '__main__':
if
show_glitch
:
cur_glitch
=
img
.
copy
()
print
(
'glitch is'
,
[
'off'
,
'on'
][
show_glitch
])
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/peopledetect.py
View file @
49f43b03
...
...
@@ -30,13 +30,11 @@ def draw_detections(img, rects, thickness = 1):
cv
.
rectangle
(
img
,
(
x
+
pad_w
,
y
+
pad_h
),
(
x
+
w
-
pad_w
,
y
+
h
-
pad_h
),
(
0
,
255
,
0
),
thickness
)
if
__name__
==
'__main__'
:
def
main
()
:
import
sys
from
glob
import
glob
import
itertools
as
it
print
(
__doc__
)
hog
=
cv
.
HOGDescriptor
()
hog
.
setSVMDetector
(
cv
.
HOGDescriptor_getDefaultPeopleDetector
()
)
...
...
@@ -68,4 +66,11 @@ if __name__ == '__main__':
ch
=
cv
.
waitKey
()
if
ch
==
27
:
break
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/squares.py
View file @
49f43b03
...
...
@@ -7,6 +7,7 @@ Loads several images sequentially and tries to find squares in each image.
'''
# Python 2/3 compatibility
from
__future__
import
print_function
import
sys
PY3
=
sys
.
version_info
[
0
]
==
3
...
...
@@ -42,7 +43,7 @@ def find_squares(img):
squares
.
append
(
cnt
)
return
squares
if
__name__
==
'__main__'
:
def
main
()
:
from
glob
import
glob
for
fn
in
glob
(
'../data/pic*.png'
):
img
=
cv
.
imread
(
fn
)
...
...
@@ -52,4 +53,11 @@ if __name__ == '__main__':
ch
=
cv
.
waitKey
()
if
ch
==
27
:
break
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/stereo_match.py
View file @
49f43b03
...
...
@@ -33,7 +33,7 @@ def write_ply(fn, verts, colors):
np
.
savetxt
(
f
,
verts
,
fmt
=
'
%
f
%
f
%
f
%
d
%
d
%
d '
)
if
__name__
==
'__main__'
:
def
main
()
:
print
(
'loading images...'
)
imgL
=
cv
.
pyrDown
(
cv
.
imread
(
cv
.
samples
.
findFile
(
'aloeL.jpg'
)))
# downscale images for faster processing
imgR
=
cv
.
pyrDown
(
cv
.
imread
(
cv
.
samples
.
findFile
(
'aloeR.jpg'
)))
...
...
@@ -75,4 +75,11 @@ if __name__ == '__main__':
cv
.
imshow
(
'left'
,
imgL
)
cv
.
imshow
(
'disparity'
,
(
disp
-
min_disp
)
/
num_disp
)
cv
.
waitKey
()
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/texture_flow.py
View file @
49f43b03
...
...
@@ -16,7 +16,7 @@ from __future__ import print_function
import
numpy
as
np
import
cv2
as
cv
if
__name__
==
'__main__'
:
def
main
()
:
import
sys
try
:
fn
=
sys
.
argv
[
1
]
...
...
@@ -45,3 +45,11 @@ if __name__ == '__main__':
cv
.
imshow
(
'input'
,
img
)
cv
.
imshow
(
'flow'
,
vis
)
cv
.
waitKey
()
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/tst_scene_render.py
View file @
49f43b03
...
...
@@ -5,9 +5,10 @@
from
__future__
import
print_function
import
numpy
as
np
import
cv2
as
cv
from
numpy
import
pi
,
sin
,
cos
import
cv2
as
cv
defaultSize
=
512
...
...
@@ -86,7 +87,7 @@ class TestSceneRender():
else
:
self
.
currentRect
=
self
.
initialRect
+
np
.
int
(
30
*
cos
(
self
.
time
*
self
.
speed
)
+
50
*
sin
(
self
.
time
*
self
.
speed
))
if
self
.
deformation
:
self
.
currentRect
[
1
:
3
]
+=
self
.
h
/
20
*
cos
(
self
.
time
)
self
.
currentRect
[
1
:
3
]
+=
int
(
self
.
h
/
20
*
cos
(
self
.
time
)
)
cv
.
fillConvexPoly
(
img
,
self
.
currentRect
,
(
0
,
0
,
255
))
self
.
time
+=
self
.
timeStep
...
...
@@ -96,8 +97,7 @@ class TestSceneRender():
self
.
time
=
0.0
if
__name__
==
'__main__'
:
def
main
():
backGr
=
cv
.
imread
(
cv
.
samples
.
findFile
(
'graf1.png'
))
fgr
=
cv
.
imread
(
cv
.
samples
.
findFile
(
'box.png'
))
...
...
@@ -111,6 +111,11 @@ if __name__ == '__main__':
ch
=
cv
.
waitKey
(
3
)
if
ch
==
27
:
break
#import os
#print (os.environ['PYTHONPATH'])
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/turing.py
View file @
49f43b03
...
...
@@ -27,7 +27,7 @@ USAGE: turing.py [-o <output.avi>]
Press ESC to stop.
'''
if
__name__
==
'__main__'
:
def
main
()
:
print
(
help_message
)
w
,
h
=
512
,
512
...
...
@@ -71,4 +71,11 @@ if __name__ == '__main__':
cv
.
imshow
(
'a'
,
vis
)
if
cv
.
waitKey
(
5
)
==
27
:
break
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/video.py
View file @
49f43b03
...
...
@@ -32,13 +32,13 @@ Keys:
# Python 2/3 compatibility
from
__future__
import
print_function
import
numpy
as
np
import
cv2
as
cv
import
re
import
numpy
as
np
from
numpy
import
pi
,
sin
,
cos
import
cv2
as
cv
# built-in modules
from
time
import
clock
...
...
samples/python/video_threaded.py
View file @
49f43b03
...
...
@@ -36,11 +36,9 @@ class DummyTask:
def
get
(
self
):
return
self
.
data
if
__name__
==
'__main__'
:
def
main
()
:
import
sys
print
(
__doc__
)
try
:
fn
=
sys
.
argv
[
1
]
except
:
...
...
@@ -86,4 +84,11 @@ if __name__ == '__main__':
threaded_mode
=
not
threaded_mode
if
ch
==
27
:
break
cv
.
destroyAllWindows
()
print
(
'Done'
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/video_v4l2.py
View file @
49f43b03
...
...
@@ -17,51 +17,62 @@ Keys:
# Python 2/3 compatibility
from
__future__
import
print_function
import
numpy
as
np
import
cv2
as
cv
def
decode_fourcc
(
v
):
v
=
int
(
v
)
return
""
.
join
([
chr
((
v
>>
8
*
i
)
&
0xFF
)
for
i
in
range
(
4
)])
def
main
():
font
=
cv
.
FONT_HERSHEY_SIMPLEX
color
=
(
0
,
255
,
0
)
def
decode_fourcc
(
v
):
v
=
int
(
v
)
return
""
.
join
([
chr
((
v
>>
8
*
i
)
&
0xFF
)
for
i
in
range
(
4
)])
cap
=
cv
.
VideoCapture
(
0
)
cap
.
set
(
cv
.
CAP_PROP_AUTOFOCUS
,
False
)
# Known bug: https://github.com/opencv/opencv/pull/5474
font
=
cv
.
FONT_HERSHEY_SIMPLEX
color
=
(
0
,
255
,
0
)
cv
.
namedWindow
(
"Video"
)
cap
=
cv
.
VideoCapture
(
0
)
cap
.
set
(
cv
.
CAP_PROP_AUTOFOCUS
,
False
)
# Known bug: https://github.com/opencv/opencv/pull/5474
convert_rgb
=
True
fps
=
int
(
cap
.
get
(
cv
.
CAP_PROP_FPS
))
focus
=
int
(
min
(
cap
.
get
(
cv
.
CAP_PROP_FOCUS
)
*
100
,
2
**
31
-
1
))
# ceil focus to C_LONG as Python3 int can go to +inf
cv
.
namedWindow
(
"Video"
)
cv
.
createTrackbar
(
"FPS"
,
"Video"
,
fps
,
30
,
lambda
v
:
cap
.
set
(
cv
.
CAP_PROP_FPS
,
v
))
cv
.
createTrackbar
(
"Focus"
,
"Video"
,
focus
,
100
,
lambda
v
:
cap
.
set
(
cv
.
CAP_PROP_FOCUS
,
v
/
100
))
convert_rgb
=
True
fps
=
int
(
cap
.
get
(
cv
.
CAP_PROP_FPS
))
focus
=
int
(
min
(
cap
.
get
(
cv
.
CAP_PROP_FOCUS
)
*
100
,
2
**
31
-
1
))
# ceil focus to C_LONG as Python3 int can go to +inf
while
True
:
status
,
img
=
cap
.
read
(
)
cv
.
createTrackbar
(
"FPS"
,
"Video"
,
fps
,
30
,
lambda
v
:
cap
.
set
(
cv
.
CAP_PROP_FPS
,
v
))
cv
.
createTrackbar
(
"Focus"
,
"Video"
,
focus
,
100
,
lambda
v
:
cap
.
set
(
cv
.
CAP_PROP_FOCUS
,
v
/
100
)
)
fourcc
=
decode_fourcc
(
cap
.
get
(
cv
.
CAP_PROP_FOURCC
))
while
True
:
status
,
img
=
cap
.
read
()
fps
=
cap
.
get
(
cv
.
CAP_PROP_FPS
)
fourcc
=
decode_fourcc
(
cap
.
get
(
cv
.
CAP_PROP_FOURCC
)
)
if
not
bool
(
cap
.
get
(
cv
.
CAP_PROP_CONVERT_RGB
)):
if
fourcc
==
"MJPG"
:
img
=
cv
.
imdecode
(
img
,
cv
.
IMREAD_GRAYSCALE
)
elif
fourcc
==
"YUYV"
:
img
=
cv
.
cvtColor
(
img
,
cv
.
COLOR_YUV2GRAY_YUYV
)
else
:
print
(
"unsupported format"
)
fps
=
cap
.
get
(
cv
.
CAP_PROP_FPS
)
if
not
bool
(
cap
.
get
(
cv
.
CAP_PROP_CONVERT_RGB
)):
if
fourcc
==
"MJPG"
:
img
=
cv
.
imdecode
(
img
,
cv
.
IMREAD_GRAYSCALE
)
elif
fourcc
==
"YUYV"
:
img
=
cv
.
cvtColor
(
img
,
cv
.
COLOR_YUV2GRAY_YUYV
)
else
:
print
(
"unsupported format"
)
break
cv
.
putText
(
img
,
"Mode: {}"
.
format
(
fourcc
),
(
15
,
40
),
font
,
1.0
,
color
)
cv
.
putText
(
img
,
"FPS: {}"
.
format
(
fps
),
(
15
,
80
),
font
,
1.0
,
color
)
cv
.
imshow
(
"Video"
,
img
)
k
=
cv
.
waitKey
(
1
)
if
k
==
27
:
break
elif
k
==
ord
(
'g'
):
convert_rgb
=
not
convert_rgb
cap
.
set
(
cv
.
CAP_PROP_CONVERT_RGB
,
convert_rgb
)
cv
.
putText
(
img
,
"Mode: {}"
.
format
(
fourcc
),
(
15
,
40
),
font
,
1.0
,
color
)
cv
.
putText
(
img
,
"FPS: {}"
.
format
(
fps
),
(
15
,
80
),
font
,
1.0
,
color
)
cv
.
imshow
(
"Video"
,
img
)
print
(
'Done'
)
k
=
cv
.
waitKey
(
1
)
if
k
==
27
:
break
elif
k
==
ord
(
'g'
):
convert_rgb
=
not
convert_rgb
cap
.
set
(
cv
.
CAP_PROP_CONVERT_RGB
,
convert_rgb
)
if
__name__
==
'__main__'
:
print
(
__doc__
)
main
()
cv
.
destroyAllWindows
()
samples/python/watershed.py
View file @
49f43b03
...
...
@@ -76,10 +76,10 @@ class App:
if
__name__
==
'__main__'
:
print
(
__doc__
)
import
sys
try
:
fn
=
sys
.
argv
[
1
]
except
:
fn
=
'fruits.jpg'
print
(
__doc__
)
App
(
cv
.
samples
.
findFile
(
fn
))
.
run
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment