add formatting image name
This commit is contained in:
@@ -4,13 +4,14 @@ from rclpy.node import Node
|
|||||||
from drone_services.srv import TakePicture
|
from drone_services.srv import TakePicture
|
||||||
|
|
||||||
import cv2
|
import cv2
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
|
||||||
class CameraController(Node):
|
class CameraController(Node):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__('camera_controller')
|
super().__init__('camera_controller')
|
||||||
self.cam = cv2.VideoCapture(0)
|
self.cam = cv2.VideoCapture(0)
|
||||||
|
self.get_logger().info("Camera controller started. Waiting for service call...")
|
||||||
self.srv = self.create_service(TakePicture, 'drone/picture', self.take_picture_callback)
|
self.srv = self.create_service(TakePicture, 'drone/picture', self.take_picture_callback)
|
||||||
|
|
||||||
def take_picture_callback(self, request, response):
|
def take_picture_callback(self, request, response):
|
||||||
@@ -18,11 +19,14 @@ class CameraController(Node):
|
|||||||
if (result):
|
if (result):
|
||||||
if (request.input_name == "default"):
|
if (request.input_name == "default"):
|
||||||
self.get_logger().info("Taking picture with default filename")
|
self.get_logger().info("Taking picture with default filename")
|
||||||
cv2.imwrite("/home/ubuntu/image.jpg", image)
|
now = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
|
||||||
response.filename = "/home/ubuntu/image.jpg"
|
imagename = "/home/ubuntu/" + now + ".jpg"
|
||||||
|
cv2.imwrite(imagename, image)
|
||||||
|
response.filename = imagename
|
||||||
else:
|
else:
|
||||||
cv2.imwrite(request.input_name, image)
|
cv2.imwrite(request.input_name, image)
|
||||||
response.filename = request.input_name
|
response.filename = request.input_name
|
||||||
|
self.get_logger().info("Picture saved as " + response.filename)
|
||||||
return response
|
return response
|
||||||
|
|
||||||
def main(args=None):
|
def main(args=None):
|
||||||
|
|||||||
Submodule src/px4_msgs updated: ffc3a4cd57...b64ef0475c
Reference in New Issue
Block a user