Re-texture model with second set of images in RC PPI

Hi,

we have 2 data sets of images. Both are exactly the same except for the lighting conditions.

neutral_cross_c1.tif
neutral_cross_c2.tif
neutral_cross_c3.tif
neutral_cross_c4.tif
neutral_cross_c5.tif
neutral_cross_c6.tif
neutral_cross_c7.tif
neutral_parallel_c1.tif
neutral_parallel_c2.tif
neutral_parallel_c3.tif
neutral_parallel_c4.tif
neutral_parallel_c5.tif
neutral_parallel_c6.tif
neutral_parallel_c7.tif

‘cross’ in the name means the image was shot with cross-polarization and the ‘parallel’ ones are shot with parallel polarization.

We processed the “neutral_cross_c#.tif” images in RealityCapture.
The output is looking fine as expected. Then we exported the textured Model therefore the images became licensed. Now we wanted to change the images from the ‘cross’ ones to the ‘parallel’ ones to retexture the same model with the 'neutral_parallel_c#.tif" images.

For our workflow it is important to retexture the old model and not to create a new model with our “neutral_parallel_c#.tif” texture set.

Since there is no option in RealityCapture to reassign new textures for the texturing process we tried a workaround.

The first thing we tried was to delete “neutral_cross_c#.tif” images and change the name of “neutral_parallel_c#.tif” to “neutral_cross_c#.tif”. After opening the scene the images weres still marked as licensed so we duplicated the model and pressed the texture button again. Texturing process went fine and looks good. The existing cameras of the original project setup projected our second image dataset (parallel) without any issues. But when we wanted to export the model we get the error message “Access Denied” in the window where it says “Exporting Textured and Colored Mesh”.

Then we created a new scene and licensed the “neutral_parallel_c#.tif” by building a model and exporting it. As a result, both image datasets are now licensed. Again, we tried renaming, texturing and exporting again as described, but got the same error.

Afterwards we tried a different way:
WeI opened the .rcproj file in a text editor and changed thename for every image file in “<input fileName=” to point to the other set of images.

When opening the modified project file the images in the 2D view changed to “neutral_parallel_c#.tif” and are still being shown as licensed. So we duplicated the model, textured again. Looking good again. The existing cameras of projected the second image set without any issues. But again when trying to export the model we got the “Access denied” error again.

So the basic question is: is there an official way to change the image path for an existing model to re-texture it? And if not could such a feature be implemented? We are not 100% sure but think that this used to be possible in the previous versions of RC before the PPI licensing.

 

Best regards,

Holger

 

Yes this is possible since the latest release :-)  (v1.0.3.9696) 

 

It is called “layered images”. You need rename the images that will be used for texture as “.texture.jpg”

So for example for each image you need:

image1.jpg
image.1.jpg.texture.jpg

When you import the folder, click on any image. You will see the normal name at the filename and in the “texturing layer” you will find the other image name.

 

 

Hi Richard,

thanks for the information.
Unfortunately there seems to be no documentation about the workflow for this.

We upgraded to the new version and tried following your instructions but it’s still not working as expected.

When aligning the images RC uses all images to align the model which makes no sense in our cas since it’s giving artifacts when aligning and meshing. Even worse: sometimes it doesn’t align all of the images.

Our goal is to use only one of the two image sets to align and create a mesh from those. The second step is meant to only be a re-texturing of the resulting mesh. In the future it might even be necessary to have a third (maybe even a 4th, 5th,…) image set to be used for re-texturing.

So is it somehow possible to align just one image set and process the other image set for texturing without adding it to the alignment and meshing?

We know it is possible to align all 14 images and deactivate “Enable meshing” for the second texture set and afterwards texture the model with both texture sets but that’s not an optimal workflow.

 

Best regards,

Holger

Hi Holger,

I think you did not rename your files correctly, as both sets should NOT show up as individual images in RC. ont the “normal” images (for mesh/alignment) you should see a property of layered texture image. This should contain the other file name

What files names are you using?

Hi Richard,

thanks for the quick reply.

I think we first tried what you wrote in your post above:

image1.jpg
image.1.jpg.texture.jpg
image2.jpg
image.2.jpg.texture.jpg
… and so on.

But since it didn’t work as expected we played around with the names of the ‘texture’ images - apparently we couldn’t find the right naming convention.

Assuming those are the names of the ‘main’ images (for reconstruction):

image_a1.jpg
image_a2.jpg
image_a3.jpg
image_a4.jpg
image_a5.jpg
image_a6.jpg
image_a7.jpg

What names should the ‘texture’ images have to make it work as expected?

Best,
Holger

the first example is good. Are you importing the images, or importing the folder?

I see the error in your example:

 

image1.jpg
image.1.jpg.texture.jpg

 

It needs to be:

image1.jpg
image1.jpg.texture.jpg

 

so the dot needs to be removed

 

I’m pretty sure we also did try that variation.
Those names aren’t the actual names of our files i was only using your example from above.

We will try again tomorrow and i will send you the actual names of our files in case it doesn’t work.

 

 

Update: we were successful in the end by changing the names accordingly. Probably we had a small mistake in the file names in the previous attempts.

So basically it’s all good now.

But honestly, workflow-wise this is a bit cumbersome. Ideally, it should be possible to

a) load the images for alignment and reconstructing the mesh
b) load one or more additional image sets for texturing in the UI instead of placing images with a specific name in the same folder.

We’re not quite sure yet where our experiments will take us but i’m fairly sure that we’ll have to use different images sets for re-texturing and not just one. So it’d be great to be able to assigne arbitrary texture image sets ina afuture release.

For now we can help ourselves by modifiying the .rcproj file in a text editor. But this is like i said less than ideal.

Best,
Holger

Is there any similar way to mark selected images only for modelling?

Something like:
image1.jpg.model.jpg
image1.jpg.texture.jpg

Hi JG.UI,
you have three option how to use images for meshing.

  • Image used for alignment and meshing:
    -DSC_0001.jpg
    -DSC_0002.jpg.geometry.jpg - in this case the whole name (including word geometry) appears in the list of images in the application
    -images in _geometry folder