সমস্যার 2 টি অংশ রয়েছে। প্রথমটি হল আপনি 16 বিট থেকে 8 বিটে রূপান্তর করতে চান, এবং gdal_translate এর-স্কেল বিকল্পটি এটি করে, পূর্ববর্তী উত্তরে উল্লিখিত হিসাবে।
-scale minOriginal maxOriginal minOutput maxOutput
দ্বিতীয় সমস্যা একটি বৈসাদৃশ্য বর্ধিতকরণ সমস্যা। কোন "ম্যাজিক" বিপরীতে, কারণ হল: যখন আপনি rescale, আপনি পিক্সেল যে আপনার সতর্কতামূলক আগ্রহী জন্য একটি উচ্চ বৈসাদৃশ্য করতে চান যখন আপনি rescale, সাধারণত আপনি কিছু তথ্য আলগা : এটি ডেটা ভিজ্যুয়ালাইজেশনের উন্নতির জন্য করা হয় এবং পেশাদার পেশাদার সফ্টওয়্যারগুলি কোনও নতুন ফাইল না লিখে উড়ে যায়। আপনি যদি আরও ডেটা প্রক্রিয়া করতে চান তবে আপনার "কালো" জিওটিফ আপনার jp2 এর মতোই তথ্য ধারণ করে এবং প্রক্রিয়া করার জন্য প্রস্তুত। যদি আপনি গণনা করেন, যেমন, উদ্ভিদ সূত্রে, এটি "আসল" প্রতিবিম্ব মানগুলির সাথে করা উচিত, উদ্ধারকৃতদের নয়। বলা হচ্ছে, এখানে দৃশ্যত বর্ধিত 8 বিট চিত্র তৈরির কয়েকটি পদক্ষেপ রয়েছে।
@ বেন আপনাকে 0-1 থেকে এই পণ্যটির প্রতিফলন পুনরুদ্ধার করার জন্য একটি জেনেরিক পদ্ধতি দিয়েছেন (এই পণ্যটির সাথে 10000 দ্বারা গুণিত) 0-255 এ পরিণত হয়েছে। এটি নিরাপদ (কোনও বর্জন নেই) তবে কেবল মেঘ এবং কিছু খালি মাটির সত্যই উচ্চ প্রতিফলন রয়েছে, তাই আপনি জমিতে (খালি মাটি বাদে) তেমন কিছুই দেখতে পান না এবং জলে কিছুই দেখেন না। সুতরাং, চিত্রগুলিতে সাধারণত প্রয়োগ করা বিপরীতে বর্ধনগুলি সম্পূর্ণ পরিসরের কেবল একটি উপসেট গ্রহণ করে in নিরাপদ দিকে, আপনি এই জ্ঞানটি ব্যবহার করতে পারেন যে সাধারণ পৃথিবী পৃষ্ঠের সামগ্রীর সর্বাধিক প্রতিবিম্বটি সাধারণত 0.5 / 0.6 এর নীচে থাকে ( এখানে দেখুনকিছু উদাহরণের জন্য)। অবশ্যই, এটি ধরে নেয় যে আপনার চিত্রটি বায়ুমণ্ডলীয়ভাবে সংশোধন করা হয়েছে (L2A চিত্র)। তবে প্রতিটি বর্ণালী ব্যান্ডে প্রতিবিম্বের পরিধি আলাদা হয় এবং আপনার আগ্রহের ক্ষেত্রে আপনার কাছে সর্বদা উজ্জ্বল পৃথিবী পৃষ্ঠ থাকে না। এখানে "নিরাপদ" পদ্ধতিটি কেমন দেখাচ্ছে (সর্বোচ্চ পরিমাণে 0.4 এর প্রতিবিম্ব সহ, @ রোভো প্রস্তাবিত 4096 এর মতো)
অন্যদিকে, বিপরীতে প্রতিটি ব্যান্ডের জন্য অনুকূলিত করা যেতে পারে। আপনি এই ব্যাপ্তিকে ম্যানুয়ালি সংজ্ঞায়িত করতে পারেন (যেমন আপনি পানির রঙে আগ্রহী এবং আপনি পানির সর্বাধিক প্রত্যাশিত প্রতিফলন মান জানেন) বা চিত্রের পরিসংখ্যানের ভিত্তিতে। একটি সাধারণভাবে ব্যবহৃত পদ্ধতিতে প্রায় 95% মান রেখে এবং "বাতিল" (খুব গা dark় -> 0 বা খুব উজ্জ্বল -> 255) বাকী থাকে, যা গড় মান +/- 1.96 * এর উপর ভিত্তি করে পরিসীমা নির্ধারণের অনুরূপ consists আদর্শ চ্যুতি. অবশ্যই এটি কেবল একটি আনুমানিকই কারণ এটি একটি সাধারণ বিতরণ অনুমান করে তবে এটি অনুশীলনে বেশ ভাল কাজ করে (আপনার যখন খুব বেশি মেঘ থাকে তখন বা স্ট্যাটাস কিছু নোডাটা মান ব্যবহার করে তবে)।
উদাহরণস্বরূপ আপনার প্রথম ব্যান্ডটি নিতে দেয়:
গড় = 320
স্টাডি = 536
95% আত্মবিশ্বাসের ব্যবধান = [-731: 1372]
তবে অবশ্যই প্রতিফলনটি সর্বদা শূন্যের চেয়ে বড়, সুতরাং আপনাকে সর্বনিম্ন 0তে সেট করতে হবে।
gdal_translate -scale 0 1372 0 255 -ot Byte B01.jp2 B01-scaled.tif
এবং আপনার যদি জিডিএল এর সাম্প্রতিক সংস্করণ থাকে তবে আপনি -scale_ {ব্যান্ড # use ব্যবহার করতে পারেন (0 255 ডিফল্ট আউটপুট, সুতরাং আমি এটির পুনরাবৃত্তি করব না) যাতে আপনার একক ব্যান্ডগুলি বিভক্ত করার প্রয়োজন হয় না। এছাড়াও আমি মধ্যবর্তী ফাইল হিসাবে টিফের পরিবর্তে ভিআরটি ব্যবহার করেছি (একটি সম্পূর্ণ চিত্র লেখার দরকার নেই: একটি ভার্চুয়াল যথেষ্ট)
gdalbuildvrt -separate stack.vrt B04.jp2 B03.jp2 B02.jp2
gdal_translate -scale_1 0 1372 -scale_2 0 1397 -scale_3 0 1430 -ot Byte stack.vrt im_rescaled.tif
নোট করুন যে আপনার পরিসংখ্যানগুলি মেঘ এবং নোডাটার মতো "শিল্পকর্মগুলি" দ্বারা দৃ strongly়ভাবে প্রভাবিত হয়েছে। একদিকে যখন আপনার চূড়ান্ত মান থাকে তখন তারতম্যটি অতিমাত্রায় বিবেচিত হয়। অন্যদিকে, যখন আপনার প্রচুর পরিমাণে "শূন্য" মানের মান থাকে (উদাহরণের মতো স্বয়ংক্রিয়ভাবে বিপরীত চিত্রটি খুব উজ্জ্বল করে তোলে) এবং মেঘের সংখ্যাগরিষ্ঠতা থাকলে এটি অপসারণ করা হবে (যা তৈরি করবে চিত্রটি খুব গা dark়)। এই পর্যায়ে, ফলস্বরূপ ফলাফলগুলি আপনার পক্ষে সবচেয়ে ভাল হবে না।
একটি স্বয়ংক্রিয় সমাধান "nodata" এ সেট পটভূমি এবং মেঘ মান হতে হবে এবং NoData ছাড়া আপনার পরিসংখ্যান গনা (দেখতে হবে এই পোস্টে NoData ছাড়া কম্পিউটিং পরিসংখ্যানের রেকর্ড বিস্তারিত জানার জন্য, এবং এই এক সেট মান একটি উদাহরণ 4000 চেয়ে বড় NoData করার জন্য পাশাপাশি )। একটি একক চিত্রের জন্য, আমি সাধারণত বৃহত্তম সম্ভাব্য মেঘমুক্ত সাবসেটের পরিসংখ্যানগুলি গণনা করি। কোনও সাবসেটের পরিসংখ্যান সহ যেখানে "নোডাটা" (আপনার চিত্রের উপরের বাম) নেই, এটি চূড়ান্ত ফলাফল দেয়। আপনি দেখতে পাচ্ছেন যে পরিসীমাটি "নিরাপদ" ব্যাপ্তির প্রায় অর্ধেক, যার অর্থ আপনার দ্বিগুণ বিপরীতে রয়েছে:
gdal_translate -scale_1 38 2225 -scale_2 553 1858 -scale_3 714 1745 -ot Byte stack.vrt im_rescaled.tif
শেষ মন্তব্য হিসাবে, gdal_constrast_stretch দেখতে ভাল লাগছে তবে আমি পরীক্ষা করিনি
gdalinfo -hist merged.tif