@@ -10,6 +10,7 @@ import (
10
10
pb "go.viam.com/api/service/vision/v1"
11
11
"go.viam.com/rdk/vision/classification"
12
12
"go.viam.com/rdk/vision/objectdetection"
13
+ "image"
13
14
14
15
"go.viam.com/rdk/pointcloud"
15
16
"go.viam.com/rdk/protoutils"
@@ -263,24 +264,37 @@ func (server *serviceServer) CaptureAllFromCamera(ctx context.Context, req *pb.C
263
264
return nil , err
264
265
}
265
266
capt , err := svc .CaptureAllFromCamera (ctx , req .CameraName , req .ReturnImage , req .ReturnDetections , req .ReturnClassifications , req .ReturnObjectPointClouds , req .Extra .AsMap ())
267
+ if err != nil {
268
+ return nil , err
269
+ }
266
270
267
271
//objectsPCD
268
272
objProto , err := segmentsToProto (req .CameraName , capt .PointCloudObject ())
273
+ if err != nil {
274
+ return nil , err
275
+ }
269
276
270
- img := capt .Image ()
271
- imgBytes , err := rimage .EncodeImage (ctx , img , utils .MimeTypeJPEG )
277
+ imgProto , err := imageToProto (ctx , capt .Image (), utils .MimeTypeJPEG )
272
278
if err != nil {
273
279
return nil , err
274
280
}
275
281
276
282
return & pb.CaptureAllFromCameraResponse {
277
- Image : & v11. Image { Image : imgBytes } ,
283
+ Image : imgProto ,
278
284
Detections : detsToProto (capt .Detections ()),
279
285
Classifications : clasToProto (capt .Classifications ()),
280
286
Objects : objProto ,
281
287
}, nil
282
288
}
283
289
290
+ func imageToProto (ctx context.Context , img image.Image , mimeType string ) (* v11.Image , error ) {
291
+ imgBytes , err := rimage .EncodeImage (ctx , img , mimeType )
292
+ if err != nil {
293
+ return nil , err
294
+ }
295
+ return & v11.Image {Image : imgBytes }, nil
296
+ }
297
+
284
298
// DoCommand receives arbitrary commands.
285
299
func (server * serviceServer ) DoCommand (ctx context.Context ,
286
300
req * commonpb.DoCommandRequest ,
0 commit comments