opencv/samples/python/tutorial_code/imgProc/Pyramids/pyramids.py

52 lines
1.2 KiB
Python
Raw Normal View History

2017-08-23 22:37:11 +08:00
import sys
import cv2 as cv
2017-08-23 22:37:11 +08:00
def main(argv):
print("""
Zoom In-Out demo
------------------
* [i] -> Zoom [i]n
* [o] -> Zoom [o]ut
* [ESC] -> Close program
""")
## [load]
2018-11-14 23:56:21 +08:00
filename = argv[0] if len(argv) > 0 else 'chicky_512.png'
2017-08-23 22:37:11 +08:00
# Load the image
2018-11-14 23:56:21 +08:00
src = cv.imread(cv.samples.findFile(filename))
2017-08-23 22:37:11 +08:00
# Check if image is loaded fine
if src is None:
print ('Error opening image!')
print ('Usage: pyramids.py [image_name -- default ../data/chicky_512.png] \n')
return -1
## [load]
## [loop]
while 1:
rows, cols, _channels = map(int, src.shape)
## [show_image]
cv.imshow('Pyramids Demo', src)
2017-08-23 22:37:11 +08:00
## [show_image]
k = cv.waitKey(0)
2017-08-23 22:37:11 +08:00
if k == 27:
break
## [pyrup]
elif chr(k) == 'i':
src = cv.pyrUp(src, dstsize=(2 * cols, 2 * rows))
2017-08-23 22:37:11 +08:00
print ('** Zoom In: Image x 2')
## [pyrup]
## [pyrdown]
elif chr(k) == 'o':
src = cv.pyrDown(src, dstsize=(cols // 2, rows // 2))
2017-08-23 22:37:11 +08:00
print ('** Zoom Out: Image / 2')
## [pyrdown]
## [loop]
cv.destroyAllWindows()
2017-08-23 22:37:11 +08:00
return 0
if __name__ == "__main__":
main(sys.argv[1:])