Forum

Author Topic: Photoscan Orthomosaic Mosaicblending is creating strips in image  (Read 1968 times)

ppant

  • Jr. Member
  • **
  • Posts: 85
    • View Profile
Photoscan Orthomosaic Mosaicblending is creating strips in image
« on: September 27, 2018, 02:03:37 AM »
When mosaicing larger field around 100 acre of area (1700 camera shot mica sense image ). The orthomosaic mosaicblending is creating strip noise pattern when images are reflectance corrected. if a small area is selected for mosaic those strips are not observed. Not sure why this is happening. Is there an issue with mosaic blending?

Is any one haveing such issue or I am missing some thing.


Thanks

Alexey Pasumansky

  • Agisoft Technical Support
  • Hero Member
  • *****
  • Posts: 14843
    • View Profile
Re: Photoscan Orthomosaic Mosaicblending is creating strips in image
« Reply #1 on: September 27, 2018, 01:35:42 PM »
Hello ppant,

We are not able to reproduce such issues on the MicaSense RedEdge test image sets that we've got, so ideally we would like to get the smallest possible set of images that can be used to reproduce the issue.
Best regards,
Alexey Pasumansky,
Agisoft LLC

ppant

  • Jr. Member
  • **
  • Posts: 85
    • View Profile
Re: Photoscan Orthomosaic Mosaicblending is creating strips in image
« Reply #2 on: September 27, 2018, 08:23:50 PM »
Alexy
These are the steps I am doing in my python script to mosaic the image. Am I missing something that is creating such strips in the images.

Code: [Select]
PhotoScan.app.console.clear()
PhotoScan.app.gpu_mask = 1  # GPU devices binary mask
PhotoScan.app.cpu_enable = True

chunk.addPhotos(input_image_files, PhotoScan.MultiplaneLayout)

doc = PhotoScan.app.document
psxfile = os.path.join(output_file_path, project_name)
doc.save(psxfile)
chunk = doc.addChunk()
doc.save()

chunk.addPhotos(input_image_files, PhotoScan.MultiplaneLayout)
chunk.locateReflectancePanels()
# Read white reference target reflectance factor information
albedo = get_white_panel_albedo(white_ref_factor)
for sensor in chunk.sensors:
    sensor.normalize_sensitivity = True
 
for camera in chunk.cameras:
    if camera.group and camera.group.label == "Calibration images":
         for plane in camera.planes:
            plane.meta["ReflectancePanel/Calibration"] = albedo[plane.sensor.bands[0]]
chunk.calibrateReflectance(use_reflectance_panels=True, use_sun_sensor=True)
doc.save()
for camera in chunk.cameras:
camera.reference.location_accuracy = PhotoScan.Vector([5, 5, 5])
camera.reference.rotation_accuracy = PhotoScan.Vector([500, 500, 500])
for sensor in chunk.sensors:
sensor.user_calib = None
sensor.fixed_calibration = False

chunk.matchPhotos(accuracy=PhotoScan.HighAccuracy, preselection=PhotoScan.ReferencePreselection,
  generic_preselection=True, reference_preselection=True, keypoint_limit=40000,
  tiepoint_limit=4000)
chunk.alignCameras(adaptive_fitting=False)
chunk.optimizeCameras(fit_f=True, fit_cx=True, fit_cy=True, fit_b1=True, fit_b2=True, fit_k1=True, fit_k2=True,
  fit_k3=True, fit_k4=False, fit_p1=True, fit_p2=True, fit_p3=False, fit_p4=False,
  adaptive_fitting=False)
chunk.resetRegion()

chunk.buildDepthMaps(quality=PhotoScan.HighQuality, filter=PhotoScan.AggressiveFiltering, reuse_depth=True)
doc.save()
chunk.buildDenseCloud(point_colors=True)
doc.save()
chunk.buildDem(source=PhotoScan.DenseCloudData, interpolation=PhotoScan.EnabledInterpolation)
doc.save()
chunk.buildOrthomosaic(surface=PhotoScan.ElevationData, blending=PhotoScan.MosaicBlending)
chunk.exportOrthomosaic(orthomosaic_uri, projection=crs, white_background=False)

« Last Edit: September 27, 2018, 11:54:15 PM by ppant »