Extended colorpicker to read pictures also

Some minor refactoring on photo capturing script, also.
This commit is contained in:
2018-06-01 20:11:56 +02:00
parent ec90e8fda8
commit cc8589d750
3 changed files with 39 additions and 45 deletions

View File

@@ -1,50 +1,22 @@
import numpy as np
import cv2
from naoqi import ALProxy
from datetime import datetime
from imagereaders import NaoImageReader
import argparse
nao_ip = '192.168.0.11'
nao_port = 9559
res = (3, (960, 1280)) # NAOQi code and acutal resolution
fps = 1
# get NAOqi module proxy
# select camer
# 0: Top
# 1: Bottom
camera=0
videoDevice = ALProxy('ALVideoDevice', nao_ip, nao_port)
subscriber = videoDevice.subscribeCamera(
"tester", camera, res[0], 13, fps
)
# create image
image = np.zeros((res[1][0], res[1][1], 3), np.uint8)
for k in range(1):
result = videoDevice.getImageRemote(subscriber)
videoDevice.releaseImage(subscriber)
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--res', type=int, choices=(1, 2, 3),
default=3)
parser.add_argument('--cam-id', type=int, choices=(0, 1),
default=0)
args = parser.parse_args()
video = NaoImageReader('192.168.0.11', res=args.res, cam_id=args.cam_id,
fps=1)
frame = video.get_frame()
video.close()
now = datetime.now().strftime('%Y%m%d%H%M%S')
if result == None:
print 'cannot capture.'
elif result[6] == None:
print 'no image data string.'
else:
values = map(ord, list(result[6]))
i = 0
for y in range(res[1][0]):
for x in range(res[1][1]):
image.itemset((y, x, 0), values[i + 0])
image.itemset((y, x, 1), values[i + 1])
image.itemset((y, x, 2), values[i + 2])
i += 3
if camera==0:
cv2.imwrite('top' + now + '.jpg', image)
else:
cv2.imwrite('bottom' + now + '.jpg',image)
videoDevice.unsubscribe(subscriber)
prefix = 'bottom' if args.cam_id else 'bottom'
cv2.imwrite(prefix + now + '.jpg', frame)