জিডিএল ব্যবহার করে রাস্টার ব্যান্ডগুলির জন্য রঙ ব্যাখ্যা কীভাবে যুক্ত করবেন?


9

আমার কাছে 3 টি পৃথক 1-ব্যান্ড জিওটিআইএফএফ ফাইল রয়েছে। ব্যান্ডের জন্য বর্ণ ব্যাখ্যাটি ধূসর। আমি একটি 3-ব্যান্ড আরজিবি ফাইল চাই। আমি gdal_ विसর.পি ব্যবহার করেছি

gdal_merge.py -separate file1.tif file2.tif file3.tif -o output_file.tif

তবে ফলাফল আউটপুট_ফিল.টিফ এর 3 টি ব্যান্ডের বর্ণ ব্যাখ্যা ধূসর, অপরিজ্ঞাত, অপরিজ্ঞাত। তা ছাড়া, সমস্ত পিক্সেল 0 হয়

আমি যদি pct2rgb.py চালায় তবে আমি একটি আরজিবি ফাইল পাই:

pct2rgb.py output_file.tif output_file_rgb.tif

তবে অবশ্যই, পিক্সেলগুলিও 0। সুতরাং, আমার 3 টি প্রশ্ন:

  • এক 3-ব্যান্ড আরজিবি ফাইলে 3 টি 1-ব্যান্ড ফাইল একত্রিত করার জন্য কি gdal_rc.py সঠিক সরঞ্জাম?
  • আমি কেন ব্যান্ডগুলির জন্য অপরিজ্ঞাত রঙের ব্যাখ্যা পাচ্ছি?
  • আরজিবি ফাইলগুলিতে এই রঙের ব্যাখ্যা দিয়ে 3-ব্যান্ড ফাইলগুলিকে রূপান্তর করার জন্য কি pct2rgb সঠিক সরঞ্জাম?

আপডেট : রাস্টারদের কোনও রঙের টেবিল নেই। শুধু বর্ণ ব্যাখ্যা: ধূসর।

অন্যদিকে, পিক্সেল মান 0 থেকে 1023 পর্যন্ত যায় (এটি ইচ্ছাকৃত)

আরও ডেটা: এগুলি রাস্টারগুলি ঘোরানো হয়েছে (কোনও উত্তর নেই) তবে তাদের সকলেরই জিওট্রান্সফর্ম রয়েছে।

আপডেট 2 : আমি চিত্রগুলি উত্তর দিকে তৈরি করতে, একটি ভিআরটি তৈরি করতে এবং প্রতিটি ব্যান্ডের জন্য কালারইনটার্প যুক্ত করতে পারি, তবে আমি এখনও আউটপুট ফলাফলের ক্ষেত্রে ধূসর, অপরিজ্ঞাত, অপরিজ্ঞাত হিসাবে বর্ণ ব্যাখ্যা পাই।

সমস্যাটি হ'ল আমাকে কমপক্ষে প্রথম ব্যান্ডে একটি রঙিন টেবিল তৈরি করতে হবে। সেগুলি তৈরির উপায় আমি জানি , তবে আমার টেবিলটিতে কতগুলি প্রবেশ করা উচিত তা আমি জানি না। জিডিএল রাস্টার FAQ এর উদাহরণে কেন 13 টি এন্ট্রি রয়েছে? সমস্ত পিক্সেলের 0 এবং 1023 এর মধ্যে মান রয়েছে, যদি সহায়তা করে।

আপডেট 3 : স্পষ্টতই, টিআইএফএফ ফর্ম্যাটে প্রতিটি ব্যান্ডের বর্ণ ব্যাখ্যা করার উপায় নেই। টিআইএফএফ ফাইলটি পড়ার সময় জিডিএল যেভাবে রঙ ব্যাখ্যা তৈরি করে তা হল ফটোমেট্রিক এবং এক্সট্র্যাস্যাম্প্লেস ট্যাগের মানের সংমিশ্রণ

এই ট্যাগগুলি সম্পর্কে পড়া:

  • ফটোমেট্রিক চিত্রের রঙের স্থানের প্রতিনিধিত্ব করে। 2 এর মান মানে পিক্সেল মানের উপাদানগুলি আরজিবি হয় তবে এটি বাইট পিক্সেল ধরে নেয় এবং আমার কাছে UInt16 পিক্সেল রয়েছে (আমি চেষ্টা করেছি -co "PHOTOMETRIC=rgb"এবং একটি ত্রুটি পেয়েছি)। সুতরাং, আমি আউটপুট ফাইলের জন্য PHOTOMETRIC ট্যাগ নির্দিষ্ট করতে পারি না।

  • এক্সট্র্যাস্যাম্প্লেসগুলি নির্দিষ্ট করে যে প্রতিটি পিক্সেলের এন অতিরিক্ত উপাদান রয়েছে। আমার মার্জ হওয়া ফাইল তৈরি করতে এই ট্যাগটি কীভাবে ব্যবহার করবেন সে সম্পর্কে আমি নিশ্চিত নই। বা যদি আমার এটির দরকার হয়।

সুতরাং, আপডেট 2 এ আমি একটি রঙিন টেবিল তৈরির পরামর্শ দিচ্ছি, তবে কীভাবে? আমার 3 ইনপুট ফাইলগুলিতে, পিক্সেল মানগুলি 0 থেকে 1023 পর্যন্ত যায় I আমি কি তাদের সাথে রঙের সাথে মেলে? আমার কি 1024 ইনপুট সহ একটি রঙিন টেবিল তৈরি করতে হবে? কিভাবে?

আপডেট 3 এ, মনে হচ্ছে যে মার্জ করা ফাইলটি তৈরি করার সময় আমি কিছু জিওটিআইএফএফ ট্যাগ ব্যবহার করতে পারি, তবে আমি নিশ্চিত না যে আমি সত্যিই সেগুলি ব্যবহার করতে পারি কিনা, কীভাবে।


1
এটি ব্যবহার করে দেখুন: gdal_ विसর যেমন আপনি করেছেন তেমন ব্যবহার করুন, তারপরে gdal_translate -co PHOTOMETRIC = আরজিবি, যে কারণেই হোক gdal_ डर-কো-কে সম্মান দেয় না। এটি আমার পক্ষে কাজ করার জন্য উপস্থিত হয়েছিল। যদিও আমি আপনার টার্গেটের ভুল বোঝাবুঝি করছি।

আপনার পরামর্শের জন্য ধন্যবাদ! আমি 3 টি ব্যান্ড জিওটিফগুলিতে 3 টি একক ব্যান্ড জিওটিফগুলিকে একীভূত করতে চাই। আমার সমস্যাটি হ'ল gdal_ विसরের আউটপুট আসলে খালি (পিক্সেল = 0)। আমি আউটপুট কোনও কিছুর জন্য ব্যবহার করতে পারি না।
জর্জি আর্ভাভালো

কোথাও কি ডেটা পোস্ট করা সম্ভব, কিছু ভুল মনে হচ্ছে।

আমি আমার বসকে জিজ্ঞাসা করেছি, এবং আমি ডেটা প্রকাশ করতে পারি না :-( আমি আউটপুটটিতে ইনপুট ফাইলগুলি ব্যান্ডের মাধ্যমে ব্যান্ড অনুলিপি করে একটি স্বতন্ত্র কোডের সাথে ফাইলগুলি মিশ্রিত করতে পারি I'd আমার সমস্যাটি হ'ল আমি gdal_ विसর দিয়ে আউটপুট ফাইলের জন্য আরজিবি বর্ণ বর্ণ নির্ধারণ করতে পারি না
জর্জে

হতে পারে, আমারও একই সমস্যা ছিল। Rgb2pct.py দিয়ে এই কাজ পেয়েছেন। কেন ?, আমি জানি না। কমান্ডের বিবরণ: এই ইউটিলিটি একটি ডাউনস্যাম্পলড আরজিবি হিস্টগ্রামে মিডিয়ান কাট অ্যালগরিদম ব্যবহার করে প্রদত্ত আরজিবি চিত্রের জন্য একটি সর্বোত্তম সিউডো-রঙ টেবিলটি গণনা করবে। তারপরে আমি প্রসারিত আরজিবি দিয়ে gdal_translate চালাচ্ছি।

উত্তর:


6

আপনার ইনপুট চিত্রগুলি 'স্ট্যাক' করার জন্য gdal_ विसর.পি হ'ল সঠিক সরঞ্জাম।

ধরে নিই যে আপনার প্রথম ব্যান্ডের একটি বৈধ রঙের টেবিল রয়েছে যা আপনি ব্যবহার করতে পারেন:

gdal_merge.py -separate -pct -o output_file.tif file1.tif file2.tif file3.tif

দ্রষ্টব্য: -o output_file.tifইনপুটগুলির তালিকার আগে কমান্ডটি পুনরায় ফর্ম্যাট করা হয়েছে ।

ডক্স থেকে:

-pct: প্রথম ইনপুট চিত্র থেকে একটি সিউডোকোলার টেবিলটি ধরুন এবং আউটপুটটির জন্য এটি ব্যবহার করুন। সিউডোকলোর করা ছবিগুলি এইভাবে মার্জ করা ধরে নেওয়া যায় যে সমস্ত ইনপুট ফাইল একই রঙের টেবিল ব্যবহার করে।

আপনার আউটপুটটি gdalinfo -statsএটি সঠিকভাবে সজ্জিত করা হচ্ছে তা নিশ্চিত করার জন্য আমি এর সাথে পরীক্ষা করব ।

ওপির জন্য আপডেট হয়েছে

অসজিও তালিকা থেকে দেখে মনে হচ্ছে আপনি ফলাফলগুলি যাচাই করার জন্য আলাদা ফর্ম্যাট ব্যবহার করতে পারেন:

টিআইএফএফ ফর্ম্যাটে প্রতিটি ব্যান্ডের বর্ণ ব্যাখ্যা সত্যিই করার উপায় নেই। টিআইএফএফ ফাইলটি পড়ার সময় জিডিএল যেভাবে রঙের ব্যাখ্যা তৈরি করে তা হল ফটোমেট্রিক এবং এক্সট্র্যাসামপ্লেস ট্যাগের মানের সংমিশ্রণ।

- ইভান (পোস্টার) জেডডিএল ভিতরে এবং বাইরে জানে।


আমি আসলে এটি করেছি, তবে আমি পেয়েছি "ERROR 6: মাল্টি-স্যাম্পেল টিআইএফএফ ফাইলগুলির জন্য সেটকলার টেবিল () সমর্থিত নয়।" এবং আমি সমস্ত পিক্সেল জন্য 0 পেতে। আমি এই ত্রুটির অর্থ সম্পর্কে নিশ্চিত নই।
জোর্হে আর্ভাভালো

ঠিক আছে, আপডেট করা প্রশ্ন। প্রথম ব্যান্ডের জন্য আমার একটি রঙিন টেবিল দরকার।
জর্জি আর্ভাভালো

মিম ... প্রতিক্রিয়াটির জন্য ধন্যবাদ। আমি এই বিকল্পগুলি চেষ্টা করছি। আমি PHOTOMETRIC = rgb ব্যবহার করতে পারছি না বলে মনে হচ্ছে কারণ আমার ডেটাটাইপটি অন্তর্নিহিত নয়। তবে আমি এতে আছি ...
জোর্হে আর্ভাভালো

3

আমি প্রথম ভাবার উপায়টি একটি ভিআরটি তৈরি করা, সম্পাদনা এবং অনুবাদ করতে পারি:

gdalbuildvrt -separate output.vrt file1.tif file2.tif file3.tif

যেখানে প্রয়োজন সেখানে রঙের ইন্টারপ ট্যাগ যুক্ত করুন:

...
<VRTRasterBand dataType="Byte" band="1">
<ColorInterp>Red</ColorInterp>
<NoDataValue>255</NoDataValue>
<ComplexSource>
  <SourceFilename relativeToVRT="1">test.tif</SourceFilename>
  <SourceBand>1</SourceBand>
  <SourceProperties RasterXSize="42" RasterYSize="22" DataType="Byte" BlockXSize="42" BlockYSize="22" />
  <SrcRect xOff="0" yOff="0" xSize="42" ySize="22" />
  <DstRect xOff="0" yOff="0" xSize="42" ySize="22" />
  <NODATA>-32768</NODATA>
</ComplexSource>

এবং তারপর:

gdal_translate output.vrt output.tif

আমি চেষ্টা করেছি, তবে আমার রাস্টার ফাইলগুলি ঘোরানো হয়েছে ...
জোর্হে আর্ভাভালো

মানে তাদের মতো একই এসআরএস / জিওট্রান্সফর্মগুলি নেই?

না, তাদের সবার একই জিওট্রান্সফর্ম রয়েছে, তবে তারা কোনও উত্তর-আপ রাস্টার নয় (ঘূর্ণন প্যারামিটার 0 নয়)। এবং gdalbuildvrt ঘোরানো জিও রূপান্তর সমর্থন করে না। আমি সেগুলি বানাতে চাই না।
জোর্হে আর্ভাভালো

মমমম, ঠিক আছে। যদি আমি তাদের উত্তর উত্তোলনকারীদের তৈরি করতে তল্লাশি করি তবে আমি ভিআরটি তৈরি করতে পারি এবং যেখানে প্রয়োজন সেখানে কালারইন্টার্প যুক্ত করতে পারি, কিনুন আমি এখনও ধূসর, অপরিজ্ঞাত, অপরিজ্ঞাত get আমাকে প্রথম ব্যান্ডের জন্য একটি রঙিন টেবিল তৈরি করতে হবে, তবে কীভাবে তা আমি জানি না। আমি প্রশ্ন আপডেট করব।
জোর্হে আর্ভাভালো

1

আপনার ইনপুট গ্রেস্কেল ব্যান্ডের 0 থেকে 1024 পর্যন্ত মান রয়েছে তবে আরজিবি প্রতিটি ব্যান্ডের জন্য কেবল 0 থেকে 255 পর্যন্ত মানগুলিকে মঞ্জুরি দেয়।

আপনি gdal_translate -scale [src_min src_max [dst_min dst_max]]আপনার উত্স ফাইলটি পুনরুদ্ধার করতে ব্যবহার করতে পারেন ।

দ্বিতীয় দফায়, আপনি আপনার তিনটি ব্যান্ডকে gdal_ विसর.পি. দিয়ে স্ট্যাক করে প্রয়োগ করতে পারেন -co "PHOTOMETRIC=rgb"

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