প্রদত্ত প্রস্থ এবং উচ্চতা সহ একটি চিত্র হিসাবে কাঁচা বাইনারি ডেটা দেখতে কীভাবে?


15

লিনাক্সের এমন কোনও প্রোগ্রাম রয়েছে যা কাঁচা বাইনারি ডেটা প্রদর্শন করতে পারে?

আমার বাইনারি ফাইলগুলির প্রতিটি বাইট একটি পিক্সেল উপস্থাপন করে, তাই আমি যেখানে বলতে পারি সেখানে এই জাতীয় কিছু উপস্থিত থাকলে এটি খুব কার্যকর হবে

program_name --input=dat001.bin --width=200 --height=100

এবং এটি পিক্সেল প্রদর্শিত হবে।

আমি ভাবছি যদি জ্ঞানপ্লট, এর জন্য ব্যবহার করা যায় ...?


2
প্রশ্ন মানে না। কাঁচা বাইনারি ডেটা প্রদর্শন করতে, এটি একটি মানব পঠনযোগ্য ফর্মে রূপান্তর করতে হবে। সাধারণত এই ফর্মটি হেক্সাডেসিমাল, যা আপনি hdফর্ম্যাট করতে ব্যবহার করতে পারেন । তারপরে আপনি একটি চিত্র দেখতে জিজ্ঞাসা করুন। যদি এটি কোনও চিত্র হয় তবে এটি একটি চিত্র বিন্যাসে (বিএমপি এর মতো) হতে চলেছে যা খুব কমপক্ষে, একটি শিরোনাম রয়েছে যা বিন্যাস, প্রস্থ, উচ্চতা, রঙ গভীরতা চিহ্নিত করে এবং রঙের প্যালেটও থাকতে পারে সংযুক্ত করা হয়েছে।
psusi

@psusi শিরোনামটি আরও ভাল হবে কীভাবে কাঁচা পিক্সেল ডেটা প্রদর্শন করবেন , এই প্রশ্নের উদ্দেশ্যটি স্পষ্ট, এবং আমার কাছে পুরোপুরি তাৎপর্যপূর্ণ । ("আমি কোনও চিত্র চাই যা আমাকে চিত্র মেটা ডেটা নির্দিষ্ট করতে দেয়") এটি কি আপনার কাছেও হিন্ডসাইটে (বা সম্ভবত সম্পাদনার পরে) আরও বেশি অর্থবোধ করে?
নাথান কিড

@ নাথানকিড, আহ, হ্যাঁ .. আপনি যদি জানেন যে এটি কোনও নির্দিষ্ট ফর্ম্যাট ব্যবহার করে এমন একটি চিত্র তবে এর কোনও শিরোনাম নেই, কেবল স্বেচ্ছাসেবী বাইনারি ডেটা হওয়ার চেয়ে ... হ্যাঁ
psusi


: ffmpeg এটি করতে stackoverflow.com/a/15037011/5447906
anton_rh

উত্তর:


12

"কাঁচা বাইনারি ডেটা" দেখতে, আমি হেক্স ডাম্প কমান্ড hdবা ব্যবহার করবhexdump

$ এইচডি -সি a.txt
00000000 61 0 এ 61 61 0 এ 61 61 0 এ 61 61 61 61 0 এ 61 61 | a.aa.aaa.aaaa.aa |
00000010 61 61 61 0 এ 62 62 62 0 এ 62 62 62 62 0 এ 62 62 62 | aaa.bbb.bbbb.bbb |
00000020 62 62 0 এ 3 সি 62 65 67 69 6 এ 3 ই 0 এ 61 61 61 61 61 বিবি। <বিগিন> .আআআআএ |
00000030 61 0 এ 61 61 61 61 61 61 0 এ 61 61 61 61 61 61 | a.aaaaaa.aaaaa |
00000040 61 61 ক | আ। |
00000043

আমি এমন কোনও চিত্রের ফর্ম্যাট জানি না যা আনস্ট্রাকচার্ড বাইট সমন্বয়ে গঠিত - ডেটা 8-বিট আরজিবি মান? যদি ফাইলটিতে 30000 বাইট থাকে তবে তা 100x100 পিক্সেলের জন্য আরজিবি বা 50x200 পিক্সেলের জন্য আরজিবি বা 200x50 পিক্সেলের জন্য আরজিবি বা অন্য কিছু? একটি প্যালেট আছে? আপনাকে ডেটা সংগঠনের বিষয়ে কিছু জানতে হবে!

একটি চিত্র আমি ব্যবহার করেন যেমন দেখতে NetPBM ইউটিলিটি হয়তো বা করে ImageMagick এটা একটি ফর্ম একটি চিত্র ভিউয়ার বোঝা রূপান্তর

যদি উপরের কাজটি না করতে পারে তবে আমি একটি ছোট পার্ল স্ক্রিপ্ট লেখার তদন্ত করব


আমি এটি কোথায় পেতে পারি? আমি সবেমাত্র yum search hdআমার ফেডোরার ডেস্কটপে করেছি এবং এটি এটি পায় নি।
সান্দ্রা

ঠিক আছে. আমাকে পিক্সেলগুলি গ্রাফিক হিসাবে দেখতে হবে ...
সান্দ্রা

2
বাইনারি বলা হতে পারে hexdump। সুসিতে এটি util-linuxপ্যাকেজে রয়েছে।
টার্বো জে

এফডাব্লুআইডাব্লু এটি আর্কেও রয়েছে hexdump
স্পারহাক


10

convertইমেজম্যাগিক থেকে এটি করতে পারে।

উদাহরণস্বরূপ, একটি 8-বিট 2x3 গ্রেস্কেল:

printf '\x00\xFF\x88\xFF\x00\xFF' > f

তারপর:

convert -depth 8 -size 3x2+0 gray:f out.png

আদেশের ব্যাখ্যা:

  • -depth 8: প্রতিটি রঙের 8 টি বিট রয়েছে
  • -size 2x3+0: 2x3চিত্র। +0মানে ফাইলের অফসেট 0 থেকে শুরু করা। যদি সেখানে মেটাডেটা শিরোনাম থাকে তবে আপনি সেগুলি অফসেট দিয়ে এড়িয়ে যেতে পারেন।
  • gray:f: ইনপুট ফাইলটি হ'ল fএবং ফর্ম্যাটটি হ'ল http://www.imagemagick.org/script/formats.phpgrayসংজ্ঞায়িত করা হয়েছে এই অদ্ভুত স্বরলিপিটি ব্যবহৃত হয় কারণ ইমেজম্যাগিক সাধারণত এক্সটেনশান থেকে ফর্ম্যাটটি নির্ধারণ করে তবে এখানে কোনও এক্সটেনশন নেই is ।

আউটপুটটি কীভাবে দেখতে হবে তা এখন সমস্যা। সরাসরি eog:

eog out.png

চিত্রটি খুব ছোট বলে খুব ভাল নয় এবং আপনি যদি অনেকটা জুম করেন তবে eogএকটি প্রদর্শন অ্যালগরিদম ব্যবহার করে যা পিক্সেলগুলিকে মিশ্রিত করে, যা বেশিরভাগ ছবির জন্য ভাল তবে আমাদের ক্ষেত্রে তা নয়। আমি দুটি সম্ভাবনা পেয়েছি:

  • gimp out.png। চিত্র সম্পাদকদের অবশ্যই প্রতিটি একক পিক্সেল প্রদর্শন করতে হবে।
  • convert out.png -scale 300x200 out2.png-scaleএর পরিবর্তে প্রয়োজন হয় -resize, যেহেতু -resizeমিক্সেলগুলি পিক্সেলগুলি ডিফল্টর মতো পছন্দ eogকরে।

আউটপুট:

এখানে চিত্র বর্ণনা লিখুন

আরজিবি উদাহরণ:

printf '\xFF\x00\x00\x00\xFF\x00\x00\x00\xFF' > f
convert -depth 8 -size 3x1+0 rgb:f out.png

এখানে চিত্র বর্ণনা লিখুন

উবুন্টু 16.04, ইমেজম্যাগিক 6.8.9 এ পরীক্ষিত।


1
আর একটি উদাহরণ: আপনার যদি আরজিবিএ ফর্ম্যাটে কোনও ফাইল থাকে (বলুন /tmp/tex1.dat), আপনি রূপান্তরিত চিত্রটি সরাসরি চিত্রম্যাগিকের সাথে display128x256 পিক্সেল চিত্র হিসাবে দেখতে পারবেনdisplay -depth 8 -size 128x256+0 RGBA:/tmp/tex1.dat
sdaau

পিক্সেলগুলিতে 10 বা 12 বিট থাকলে কী হবে? আমি চেষ্টা করেছি -endianবিকল্প কিন্তু মনে হচ্ছে যে এটা হিসাবে কাজ করে -depth 16, ইমেজ খুব অন্ধকার
রুটির

@ 10 টা 12 সম্পর্কে নিশ্চিত না 12 12 গভীরতার সাথে কাজ করতে পারে? 10 আমি আশা করি আপনার আরও চ্যানেল প্রতি কত বিট নির্দিষ্ট করা দরকার, যেহেতু 10 টি 4 (আরজিবিএ) বা 3 (আরজিবি) দ্বারা বিভাজ্য নয়। এটি কীভাবে করবেন তা নিশ্চিত নন।
সিরো সান্তিলি 新疆 改造 中心 法轮功 六四

4

যদি এটি সরাসরি দেখতে না চান তবে পরিবর্তিত করুন রূপান্তর ইউটিলিটি এটি করতে পারে:

স্টিডিন থেকে পড়া, 320 এক্স 200 পিক্সেল, 8 বিট ধূসর, 0 এর শিরোনাম ধরে, পিএনজি ফর্ম্যাটে pic.png এ সংরক্ষণ করা।

convert -depth 8 -size 320x200+0 gray:- pic.png

1
আমার মতো নববধূর জন্য: স্ট্যান্ডিনের থেকে gray:-বিন্যাস grayএবং -অর্থ means সুতরাং বর্তমান কমান্ড স্ট্যান্ডিনের জন্য অপেক্ষা করে। আমি আমার উত্তরে এটি আরও ব্যাখ্যা করেছি: superuser.com/a/978432/128124
Ciro Santilli 新疆 改造 中心 法轮功 六四
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.