ฉันกำลังทำการโมเสกภาพบางภาพด้วย gdal และต้องการปรับปรุงผลลัพธ์ขั้นสุดท้ายโดยใช้เลเยอร์อัลฟาที่ค่อยเป็นค่อยไป / ค่อยเป็นค่อยไปไปที่ขอบของภาพแต่ละภาพเพื่อลบขอบคมที่อยู่ตรงกลางของโมเสก ปัญหาที่ฉันมีอยู่ก็คือส่วนของภาพแต่ละภาพที่มีเลเยอร์ทีละส่วนกำลังปิดบังภาพที่อยู่ด้านล่างในโมเสกสุดท้ายแทนที่จะเป็นกึ่งโปร่งใสดังที่แสดงด้านล่าง:
เป็นการดีที่ฉันต้องการภาพหนึ่งภาพที่จะจางหายไปในครั้งต่อไปโดยใช้ความโปร่งใสแบบค่อยเป็นค่อยไป
ขั้นตอนที่ฉันดำเนินการเพื่อสร้างโมเสกมีดังนี้:
เพิ่ม gcps ให้กับภาพต้นฉบับเพื่อระบุตำแหน่งทางภูมิศาสตร์และปรับทิศทางให้เหมาะสม (ทำกับแต่ละภาพตามลำดับ):
gdal_translate -of GTiff -a_srs EPSG:4326 -a_srs EPSG:4326 -gcp 1616 0 -88.2728612066 40.5175787437 -gcp <etc., etc.> <original_image_with_gradual_alpha>.tif <image_with_gradual_alpha_and_gcps>.tif
วางภาพลงใน geotiffs ใหม่ที่วางอย่างเหมาะสม (ทำตามแต่ละภาพ):
gdalwarp -s_srs EPSG:4326 -t_srs EPSG:4326 -dstnodata 0 <image_with_gradual_alpha_and_gcps>.tif <warped_geotiff_with_alpha>.tif
รวมภาพที่บิดเบี้ยวทั้งหมดเข้าด้วยกันเป็นภาพโมเสคเดียว:
gdalbuildvrt -srcnodata 0 mosaic.vrt <warped_geotiff_with_alpha_root>*.tif
gdal_translate mosaic.vrt mosaic.tif
ภาพที่ฉันเชื่อมโยงคือ mosaic.tif
gdalinfo สำหรับไฟล์อินพุตตัวอย่าง:
Driver: GTiff/GeoTIFF
Files: dsc00562.tif
Size is 1616, 1080
Coordinate System is `'
Metadata:
TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
TIFFTAG_XRESOLUTION=350
TIFFTAG_YRESOLUTION=350
Image Structure Metadata:
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left ( 0.0, 0.0)
Lower Left ( 0.0, 1080.0)
Upper Right ( 1616.0, 0.0)
Lower Right ( 1616.0, 1080.0)
Center ( 808.0, 540.0)
Band 1 Block=1616x1 Type=Byte, ColorInterp=Red
Mask Flags: PER_DATASET ALPHA
Band 2 Block=1616x1 Type=Byte, ColorInterp=Green
Mask Flags: PER_DATASET ALPHA
Band 3 Block=1616x1 Type=Byte, ColorInterp=Blue
Mask Flags: PER_DATASET ALPHA
Band 4 Block=1616x1 Type=Byte, ColorInterp=Alpha
gdalinfo สำหรับ geotiff ที่บิดเบี้ยวด้วยเลเยอร์ alpha แบบค่อยเป็นค่อยไป:
Driver: GTiff/GeoTIFF
Files: geo_dsc00603.tif
Size is 1944, 1356
Coordinate System is:
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]]
Origin = (-88.275727919349990,40.518829195724997)
Pixel Size = (0.000001599004942,-0.000001599004942)
Metadata:
AREA_OR_POINT=Area
TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
TIFFTAG_XRESOLUTION=350
TIFFTAG_YRESOLUTION=350
Image Structure Metadata:
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left ( -88.2757279, 40.5188292) ( 88d16'32.62"W, 40d31' 7.79"N)
Lower Left ( -88.2757279, 40.5166609) ( 88d16'32.62"W, 40d30'59.98"N)
Upper Right ( -88.2726195, 40.5188292) ( 88d16'21.43"W, 40d31' 7.79"N)
Lower Right ( -88.2726195, 40.5166609) ( 88d16'21.43"W, 40d30'59.98"N)
Center ( -88.2741737, 40.5177451) ( 88d16'27.03"W, 40d31' 3.88"N)
Band 1 Block=1944x1 Type=Byte, ColorInterp=Red
NoData Value=0
Band 2 Block=1944x1 Type=Byte, ColorInterp=Green
NoData Value=0
Band 3 Block=1944x1 Type=Byte, ColorInterp=Blue
NoData Value=0
Band 4 Block=1944x1 Type=Byte, ColorInterp=Alpha
NoData Value=0
gdalinfo สำหรับโมเสกสุดท้าย:
Driver: GTiff/GeoTIFF
Files: mosaic.tif
Size is 5702, 6846
Coordinate System is:
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]]
Origin = (-88.278946072799997,40.524561377550008)
Pixel Size = (0.000001509761581,-0.000001509761581)
Metadata:
AREA_OR_POINT=Area
Image Structure Metadata:
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left ( -88.2789461, 40.5245614) ( 88d16'44.21"W, 40d31'28.42"N)
Lower Left ( -88.2789461, 40.5142255) ( 88d16'44.21"W, 40d30'51.21"N)
Upper Right ( -88.2703374, 40.5245614) ( 88d16'13.21"W, 40d31'28.42"N)
Lower Right ( -88.2703374, 40.5142255) ( 88d16'13.21"W, 40d30'51.21"N)
Center ( -88.2746417, 40.5193935) ( 88d16'28.71"W, 40d31' 9.82"N)
Band 1 Block=5702x1 Type=Byte, ColorInterp=Red
NoData Value=0
Band 2 Block=5702x1 Type=Byte, ColorInterp=Green
NoData Value=0
Band 3 Block=5702x1 Type=Byte, ColorInterp=Blue
NoData Value=0
Band 4 Block=5702x1 Type=Byte, ColorInterp=Alpha
NoData Value=0
ฉันได้รวมภาพตัวอย่างหลังจากแต่ละขั้นตอนของกระบวนการและโมเสกสุดท้ายที่ในลิงก์ดรอปบ็อกซ์ที่นี่ - ฉันสามารถจัดเตรียมรูปภาพทั้งหมดหากจำเป็น