Hi, I’m new to Pix4D and I’m looking to discard/disregard some pixels from my video capture images. I saw on the forums that you can apply a mask via the annotation tool to remove affected portions of the point cloud.
What is more important to me is having this also remove the pixels from consideration in the photogrammetry algorithm? I’m assuming that some very complicated things happen in determining the flight path. Could occluding objects, especially ones that are attached to the drone (rotors, drone components, protective cages), affect the result?
I’m hoping the mask will completely discard portions of the image and allow the flight path calculation to perform as though they didn’t exist. And furthermore, allow the point cloud to generate without these pixels being included.
Thanks.
Hi Deam,
We are happy to have you on boarding with us!
The annotation tool (learn more) allows you to discard pixels from images that will not be used to generate 3D points. Anything that is captured in the images potentially impacts the reconstruction of the model. In the scenario you describe, the global mask is suitable for a consistent obstacle on all the images, e.g. the foot of the drone.
Also for more specific articles, you can have a look at:
That’s good news, thanks. However, is it just a single global image? Or can it change from frame to frame. I’m looking to occlude something that may change from frame to frame.
Thanks
Hello Dean,
There are 3 types of Annotation tool:
-
mask : this tool can be used to remove from the point cloud an obstacle that appears in few images, like a scaffold. All the images in which the object appear should be masked and step 2 should be rerun after masking.
-
carve : each annotated pixel has an impact on the point cloud. The effect of the annotation is immediately visible in the 3D View of the rayCloud and it is easy to notice if some pixels were erroneously annotated so as to be corrected immediately.
-
global mask : can be used to remove an obstacle that covers the same pixels in all images, like the foot of a drone. Only one image should be annotated and the annotation is propagated in the same pixels of all the images. If you have multiple objects to remove you can do it by annotating different images, one per object. However, in case that the objects appear in different locations on the images (different image coordinates), it is recommended not to use this tool as it will remove also other important information. In such cases, the mask tool is a better and safer option, even if it is more time-consuming.
Please note that you should be very careful when using this tool so that you make sure that there is no error in the pixel annotation.
Regards,
Hi,
I Would like to ask if it is possible to cut or trim a section out of a photograph input (for instance, when an original photograph has sky), and use this phorograph as input for a project.
The problem was this, I made a double grid mission, and I took some photographs with a mavic pro to complement the double grid. In that moment I didn’t realize that the bar of the dji app was hidding a portion of the photograph, and now in the top of the photograph its has some sky and this is not recommend for pix4d. If I cut a portion of the photogropah I can trim the sky, however the photograph will loose the aspect.
Thanks,
Diego
Hello @aplicacionesgrt,
You shouldn’t trim or crop the image as it will lose the aspect ratio. However, you can remove the Sky from the Point Cloud using the Annotation tool within our software. For more information, I would recommend you to go through our support article on How to remove the Sky from the Point Cloud using the Annotation Tool.
Regards,
Hello, I have trouble with image masking.
I’m trying to process 360 images from a camera mounted on a car, the position of the car on the images is thus always the same.
I applied a global mask, but when doing the initial processing, the car is still being identified and tie points are generated.
This results in the cameras being given false position, and ignoring their GPS location.
Is there a way to apply the global mask to the initial processing ?
Thanks,
Maxime