জিডিএল সহ চিত্রগুলি মোসেস করার সময় আমি কী বিবর্ণ আলফা স্তরটি সংরক্ষণ করতে পারি?


12

আমি জিডিএল সহ কয়েকটি চিত্র ছাঁটাই করছি এবং মোজাইকের মাঝখানে ধারালো প্রান্তগুলি সরাতে প্রতিটি চিত্রের প্রান্তের দিকে একটি বিবর্ণ / ধীরে ধীরে আলফা স্তর ব্যবহার করে চূড়ান্ত ফলাফলটি উন্নত করতে চাই। আমার যে সমস্যাটি হচ্ছে তা হ'ল ধীরে ধীরে আলফা স্তর সহ প্রতিটি পৃথক চিত্রের অংশটি নীচের চিত্রের মতো আধা-স্বচ্ছ হওয়ার চেয়ে চূড়ান্ত মোজাইকের নীচে চিত্রগুলি মাস্কিং করছে:

ধীরে ধীরে আলফা স্তরগুলি মাস্কিং ইমেজ সহ মোজাইক

আদর্শভাবে আমি এই ধীরে ধীরে স্বচ্ছতা ব্যবহার করে একটি চিত্র পরেরটির মধ্যে বিবর্ণ হয়ে যেতে চাই।

মোজাইক তৈরি করতে আমি যে পদক্ষেপগুলি সম্পাদন করি সেগুলি নিম্নরূপ:

মূল চিত্রগুলিকে জিওলোকট করতে এবং সেগুলিকে সঠিকভাবে ওরিয়েন্ট করার জন্য জিসিপিএস যুক্ত করুন (প্রতিটি চিত্রের সাথে ঘুরেফিরে করা):

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

চিত্রগুলিকে নতুন জিওটিফগুলিতে গুটিয়ে নিন যা সঠিকভাবে ওরিয়েন্টেড হয় (প্রতিটি চিত্রের সাথে পরিবর্তিত হয়ে যায়):

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

আমি সংযুক্ত ছবিটি মোজাইক.ফিট 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

ধীরে ধীরে আলফা স্তরযুক্ত রেপড জিওটিফের জন্য জিডালিনফো:

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

আমি প্রক্রিয়াটির প্রতিটি পর্যায়ের পরে একটি নমুনা চিত্র এবং চূড়ান্ত মোজাইক এখানে একটি ড্রপবক্স লিঙ্কে অন্তর্ভুক্ত করেছি - প্রয়োজনে আমি পুরো চিত্র সেটটি সরবরাহ করতে পারি।


2
জিডাল_ওয়ার্পে আলফা চ্যানেলগুলির সাথে একটি পরিচিত বাগ রয়েছে। প্রতিটি রাস্টারের আলফা ব্যান্ডকে আলাদাভাবে আঁকতে চেষ্টা করুন এবং তারপরে পুনরায় পুনরায় সংযুক্ত করুন (দেখুন gis.stackexchange.com / সেকশন / 49706/… )
মাইকেল

দুর্দান্ত, দ্রুত প্রতিক্রিয়া জন্য ধন্যবাদ! আপনি gdalwarp সঞ্চালনের আগে আরজিবি ব্যান্ডগুলি থেকে আলফা স্তরটি পৃথক করতে চান, তারপরে পুনরুদ্ধার করবেন?
jeremyeastwood

এটাই. gdal_warp এর সাথে আলফা দিয়ে ওয়ারপিংয়ের সমস্যা রয়েছে সুতরাং আরজিবি হিসাবে নয় আরজিবিএ হিসাবে বিবেচনা করুন। Gdal_translate-GTIFF -b 1 -b 2 -b 3 এর জন্য আলাদা করতে (আরজিবিএ থেকে একটি আরজিবি চিত্র তৈরি করে) separate
মাইকেল সিসটেমসন

ঠিক আছে, আপনার লিঙ্ক অনুসারে একটি ভিআরটি দিয়ে পুনরায় সংযুক্ত করুন? যখন gdalbuildvrt -separate ব্যবহার করে পুনরায় সমন্বয় করা হচ্ছে, তখন প্রথম চিত্র থেকে 3 টি এবং দ্বিতীয় থেকে 1 টি ব্যান্ড নেওয়ার কোনও উপায় আছে, বা একত্রিত করার জন্য আমি জিডালবিল্ডভ্রিট বিকল্পটি ব্যবহার করব?
jeremyeastwood

1
না, আমি মনে করি না কোনও কমান্ড লাইন সরঞ্জাম আলফা মিশ্রণ করতে পারে। আপনার কি কিউজিআইএস (বা আরকজিস) উভয়ের কাছে রাস্টার ক্যালকুলেটর রয়েছে যা ওয়ার্পিংয়ের পরে এই ফাংশনটি সম্পাদন করতে পারে। এগুলি কেবল একটি ভিআরটি-তে ফেলে দেওয়ার মতো সহজ হবে না ... আমি বিশ্বাস করি যে ভিআরটি আলফা মিশ্রণ নয় পুরোপুরি অন্তর্নিহিত পিক্সেলগুলিকে ওভাররাইট করে; সম্ভবত এটি এমন কিছু যা উন্নতি করার অনুরোধ হিসাবে বিকাশকারীদের কাছে রাখা যেতে পারে।
মাইকেল সিসটেমসন

উত্তর:


1

আপনার কর্মপ্রবাহের সমস্যাটি আলফা স্তরের সাথে লিঙ্কযুক্ত নয়, তবে আপনি যখন ভিআরটি তৈরি করবেন তখন কেবল শেষ চিত্রটি ব্যবহৃত হয়।

জিডালর্ম ডক

ওভারল্যাপের ক্ষেত্রগুলিতে, শেষ চিত্রটি পূর্বের চিত্রগুলিতে অনুলিপি করা হবে।

gdalbuildvrt ডক:

যদি ফাইলগুলির মধ্যে কিছু পরিমাণে স্থানিক ওভারল্যাপিং থাকে তবে উত্স পদার্থের তালিকায় উপস্থিত ফাইলগুলির ক্রম: শেষে তালিকাভুক্ত করা ফাইলগুলি সেইগুলি যা থেকে সামগ্রী আনবে। দ্রষ্টব্য যে নোডাটা সম্ভাব্যভাবে কম প্রাথমিক ডেটাসেটগুলি থেকে ডেটা আনার জন্য অ্যাকাউন্টে নেওয়া হবে, তবে বর্তমানে, আলফা চ্যানেলটি আলফা সংমিশ্রণ করতে বিবেচনায় নেওয়া হয় না (সুতরাং অন্য উত্সের উপরে আলফা = 0 উপস্থিত একটি উত্স বিষয়বস্তু ওভাররাইড হবে) । এটি পরবর্তী সংস্করণগুলিতে পরিবর্তিত হতে পারে।

সুতরাং বাস্তবে স্বচ্ছ অঞ্চলটি কেবল স্বচ্ছ, এবং এর নিচে দেখার মতো কিছুই নেই।

আপনি যদি কিছু মিশ্রণ ব্যবহার করতে চান তবে gdalwarp ব্যবহার করে আপনার এটি করা দরকার: এটি আলফা ব্যান্ডগুলি হ্যান্ডেল করার পাশাপাশি পিক্সেলগুলিতে প্রদত্ত দূরত্বের উপর ভিত্তি করে মিশ্রন করে (-স্রাব্দ দূরত্ব)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.