Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
MMCV
Commits
51b73ac1
Commit
51b73ac1
authored
Oct 04, 2018
by
Kai Chen
Browse files
refactoring and remove some public apis
parent
34eca272
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
12 additions
and
65 deletions
+12
-65
mmcv/image/__init__.py
mmcv/image/__init__.py
+4
-4
mmcv/image/transforms/__init__.py
mmcv/image/transforms/__init__.py
+4
-5
mmcv/image/transforms/normalize.py
mmcv/image/transforms/normalize.py
+2
-2
mmcv/image/transforms/resize.py
mmcv/image/transforms/resize.py
+2
-30
tests/test_image.py
tests/test_image.py
+0
-24
No files found.
mmcv/image/__init__.py
View file @
51b73ac1
from
.io
import
imread
,
imwrite
,
imfrombytes
from
.io
import
imread
,
imwrite
,
imfrombytes
from
.transforms
import
(
bgr2gray
,
gray2bgr
,
bgr2rgb
,
rgb2bgr
,
bgr2hsv
,
from
.transforms
import
(
bgr2gray
,
gray2bgr
,
bgr2rgb
,
rgb2bgr
,
bgr2hsv
,
hsv2bgr
,
imflip
,
imrotate
,
imcrop
,
impad
,
hsv2bgr
,
imflip
,
imrotate
,
imcrop
,
impad
,
impad_to_multiple
,
imnorm
,
imdenorm
,
scale_s
ize
,
impad_to_multiple
,
imnorm
alize
,
imdenorm
al
ize
,
imresize
,
imresize_like
,
imrescale
,
limit_size
)
imresize
,
imresize_like
,
imrescale
)
__all__
=
[
__all__
=
[
'imread'
,
'imwrite'
,
'imfrombytes'
,
'bgr2gray'
,
'gray2bgr'
,
'bgr2rgb'
,
'imread'
,
'imwrite'
,
'imfrombytes'
,
'bgr2gray'
,
'gray2bgr'
,
'bgr2rgb'
,
'rgb2bgr'
,
'bgr2hsv'
,
'hsv2bgr'
,
'imflip'
,
'imrotate'
,
'imcrop'
,
'impad'
,
'rgb2bgr'
,
'bgr2hsv'
,
'hsv2bgr'
,
'imflip'
,
'imrotate'
,
'imcrop'
,
'impad'
,
'impad_to_multiple'
,
'imnorm'
,
'imdenorm
'
,
'scale_s
ize'
,
'imresize'
,
'impad_to_multiple'
,
'imnorm
alize
'
,
'imdenorm
al
ize'
,
'imresize'
,
'imresize_like'
,
'imrescale'
,
'limit_size'
'imresize_like'
,
'imrescale'
]
]
mmcv/image/transforms/__init__.py
View file @
51b73ac1
from
.colorspace
import
bgr2gray
,
gray2bgr
,
bgr2rgb
,
rgb2bgr
,
bgr2hsv
,
hsv2bgr
from
.colorspace
import
bgr2gray
,
gray2bgr
,
bgr2rgb
,
rgb2bgr
,
bgr2hsv
,
hsv2bgr
from
.geometry
import
imflip
,
imrotate
,
imcrop
,
impad
,
impad_to_multiple
from
.geometry
import
imflip
,
imrotate
,
imcrop
,
impad
,
impad_to_multiple
from
.normalize
import
imnorm
,
imdenorm
from
.normalize
import
imnorm
alize
,
imdenorm
alize
from
.resize
import
scale_size
,
imresize
,
imresize_like
,
imrescale
,
limit_size
from
.resize
import
imresize
,
imresize_like
,
imrescale
__all__
=
[
__all__
=
[
'bgr2gray'
,
'gray2bgr'
,
'bgr2rgb'
,
'rgb2bgr'
,
'bgr2hsv'
,
'hsv2bgr'
,
'bgr2gray'
,
'gray2bgr'
,
'bgr2rgb'
,
'rgb2bgr'
,
'bgr2hsv'
,
'hsv2bgr'
,
'imflip'
,
'imrotate'
,
'imcrop'
,
'impad'
,
'impad_to_multiple'
,
'imnorm'
,
'imflip'
,
'imrotate'
,
'imcrop'
,
'impad'
,
'impad_to_multiple'
,
'imdenorm'
,
'scale_size'
,
'imresize'
,
'imresize_like'
,
'imrescale'
,
'imnormalize'
,
'imdenormalize'
,
'imresize'
,
'imresize_like'
,
'imrescale'
'limit_size'
]
]
mmcv/image/transforms/normalize.py
View file @
51b73ac1
...
@@ -3,14 +3,14 @@ import numpy as np
...
@@ -3,14 +3,14 @@ import numpy as np
from
.colorspace
import
bgr2rgb
,
rgb2bgr
from
.colorspace
import
bgr2rgb
,
rgb2bgr
def
imnorm
(
img
,
mean
,
std
,
to_rgb
=
True
):
def
imnorm
alize
(
img
,
mean
,
std
,
to_rgb
=
True
):
img
=
img
.
astype
(
np
.
float32
)
img
=
img
.
astype
(
np
.
float32
)
if
to_rgb
:
if
to_rgb
:
img
=
bgr2rgb
(
img
)
img
=
bgr2rgb
(
img
)
return
(
img
-
mean
)
/
std
return
(
img
-
mean
)
/
std
def
imdenorm
(
img
,
mean
,
std
,
to_bgr
=
True
):
def
imdenorm
alize
(
img
,
mean
,
std
,
to_bgr
=
True
):
img
=
(
img
*
std
)
+
mean
img
=
(
img
*
std
)
+
mean
if
to_bgr
:
if
to_bgr
:
img
=
rgb2bgr
(
img
)
img
=
rgb2bgr
(
img
)
...
...
mmcv/image/transforms/resize.py
View file @
51b73ac1
...
@@ -3,7 +3,7 @@ from __future__ import division
...
@@ -3,7 +3,7 @@ from __future__ import division
import
cv2
import
cv2
def
scale_size
(
size
,
scale
):
def
_
scale_size
(
size
,
scale
):
"""Rescale a size by a ratio.
"""Rescale a size by a ratio.
Args:
Args:
...
@@ -99,37 +99,9 @@ def imrescale(img, scale, return_scale=False, interpolation='bilinear'):
...
@@ -99,37 +99,9 @@ def imrescale(img, scale, return_scale=False, interpolation='bilinear'):
raise
TypeError
(
raise
TypeError
(
'Scale must be a number or tuple of int, but got {}'
.
format
(
'Scale must be a number or tuple of int, but got {}'
.
format
(
type
(
scale
)))
type
(
scale
)))
new_size
=
scale_size
((
w
,
h
),
scale_factor
)
new_size
=
_
scale_size
((
w
,
h
),
scale_factor
)
rescaled_img
=
imresize
(
img
,
new_size
,
interpolation
=
interpolation
)
rescaled_img
=
imresize
(
img
,
new_size
,
interpolation
=
interpolation
)
if
return_scale
:
if
return_scale
:
return
rescaled_img
,
scale_factor
return
rescaled_img
,
scale_factor
else
:
else
:
return
rescaled_img
return
rescaled_img
def
limit_size
(
img
,
max_edge
,
return_scale
=
False
,
interpolation
=
'bilinear'
):
"""Limit the size of an image.
If the long edge of the image is greater than max_edge, resize the image.
Args:
img (ndarray): The input image.
max_edge (int): Maximum value of the long edge.
return_scale (bool): Whether to return scale besides the resized image.
interpolation (str): Same as :func:`resize`.
Returns:
tuple or ndarray: (resized_img, scale_factor) or resized_img.
"""
h
,
w
=
img
.
shape
[:
2
]
if
max
(
h
,
w
)
>
max_edge
:
scale
=
float
(
max_edge
)
/
max
(
h
,
w
)
new_size
=
scale_size
((
w
,
h
),
scale
)
resized_img
=
imresize
(
img
,
new_size
,
interpolation
=
interpolation
)
else
:
scale
=
1.0
resized_img
=
img
if
return_scale
:
return
resized_img
,
scale
else
:
return
resized_img
tests/test_image.py
View file @
51b73ac1
...
@@ -110,10 +110,6 @@ class TestImage(object):
...
@@ -110,10 +110,6 @@ class TestImage(object):
computed_hsv
[
i
,
j
,
:]
=
[
h
,
s
,
v
]
computed_hsv
[
i
,
j
,
:]
=
[
h
,
s
,
v
]
assert_array_almost_equal
(
out_img
,
computed_hsv
,
decimal
=
2
)
assert_array_almost_equal
(
out_img
,
computed_hsv
,
decimal
=
2
)
def
test_scale_size
(
self
):
assert
mmcv
.
scale_size
((
300
,
200
),
0.5
)
==
(
150
,
100
)
assert
mmcv
.
scale_size
((
11
,
22
),
0.7
)
==
(
8
,
15
)
def
test_imresize
(
self
):
def
test_imresize
(
self
):
resized_img
=
mmcv
.
imresize
(
self
.
img
,
(
1000
,
600
))
resized_img
=
mmcv
.
imresize
(
self
.
img
,
(
1000
,
600
))
assert
resized_img
.
shape
==
(
600
,
1000
,
3
)
assert
resized_img
.
shape
==
(
600
,
1000
,
3
)
...
@@ -158,26 +154,6 @@ class TestImage(object):
...
@@ -158,26 +154,6 @@ class TestImage(object):
with
pytest
.
raises
(
TypeError
):
with
pytest
.
raises
(
TypeError
):
mmcv
.
imrescale
(
self
.
img
,
[
100
,
100
])
mmcv
.
imrescale
(
self
.
img
,
[
100
,
100
])
def
test_limit_size
(
self
):
# limit to 800
resized_img
=
mmcv
.
limit_size
(
self
.
img
,
800
)
assert
resized_img
.
shape
==
(
300
,
400
,
3
)
resized_img
,
scale
=
mmcv
.
limit_size
(
self
.
img
,
800
,
True
)
assert
resized_img
.
shape
==
(
300
,
400
,
3
)
and
scale
==
1
# limit to 200
resized_img
=
mmcv
.
limit_size
(
self
.
img
,
200
)
assert
resized_img
.
shape
==
(
150
,
200
,
3
)
resized_img
,
scale
=
mmcv
.
limit_size
(
self
.
img
,
200
,
True
)
assert
resized_img
.
shape
==
(
150
,
200
,
3
)
and
scale
==
0.5
# test with img rather than img path
img
=
mmcv
.
imread
(
self
.
img
)
resized_img
=
mmcv
.
limit_size
(
img
,
200
)
assert
resized_img
.
shape
==
(
150
,
200
,
3
)
resized_img
,
scale
=
mmcv
.
limit_size
(
img
,
200
,
True
)
assert
resized_img
.
shape
==
(
150
,
200
,
3
)
and
scale
==
0.5
def
test_imflip
(
self
):
def
test_imflip
(
self
):
# test horizontal flip (color image)
# test horizontal flip (color image)
img
=
np
.
random
.
rand
(
80
,
60
,
3
)
img
=
np
.
random
.
rand
(
80
,
60
,
3
)
...
...
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