এলোমেলো চিত্র জেনারেটর


14

আমি এলোমেলো ডেটা উত্পন্ন করছি এবং এটি ব্যবহার করে এটিকে পিএনজি চিত্রে রূপান্তর করার চেষ্টা করছি:

head -c 1MB < /dev/urandom | hexdump -e '16/1 "_x%02X"' | sed 's/_/\\/g; s/\\x  //g; s/.*/    "&"/' | tr -d "\"" | display -depth 8 -size 1000x1000+0 rgb:-

এই কমান্ডটি সবসময় কিছু আরজিবি পিক্সেল সহ গ্রেইশ চিত্র দেখায়। আমি কি ভুল করছি ?

আমার চূড়ান্ত লক্ষ্যটি এলোমেলো ডেটা সহ কমপক্ষে একটি চিত্র তৈরি করা।


"এলোমেলো" সংজ্ঞা দিন। একগুচ্ছ এলোমেলো আরজিবি মানগুলির ভিজ্যুয়াল গড় ধূসর হয়ে যাবে।
ওয়াইল্ডকার্ড

এটাই আমি ভেবেছিলাম, তবে প্রতিটি ছবি প্রায় একইরকম দেখায় তাই আমি এই তত্ত্বটি নিশ্চিত করতে পারিনি।
pxoto

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

আমি কিছু স্থির উত্পন্ন করতে পরিচালিত করেছি তবে চিত্রগুলি বেশিরভাগ ধূসর।
pxoto

উত্তর:


17

প্রথমত, আপনাকে display RGB:-কাঁচা বাইটগুলি খাওয়াতে হবে , কোনও এনকোডড হেক্স স্ট্রিং নয় যেমন আপনি সেই hexdump | sed | trপাইপলাইন দিয়ে তৈরি করছেন ।

দ্বিতীয়ত, আপনি এটি পর্যাপ্ত বাইট দিচ্ছেন না: আপনার পিক্সেল প্রতি 3 বাইট প্রয়োজন, প্রতিটি রঙ চ্যানেলের জন্য একটি করে।

এটি আপনি যা চান তা করে:

mx=320;my=256;head -c "$((3*mx*my))" /dev/urandom | display -depth 8 -size "${mx}x${my}" RGB:-

সরাসরি পিএনজিতে সংরক্ষণ করতে, আপনি এটি করতে পারেন:

mx=320;my=256;head -c "$((3*mx*my))" /dev/urandom | convert -depth 8 -size "${mx}x${my}" RGB:- random.png

এখানে একটি সাধারণ আউটপুট চিত্র:

আরজিবি চিত্র / dev / ইউরানডম থেকে উত্পন্ন


আপনি যদি কোনও অ্যানিমেশন তৈরি করতে চান তবে স্বতন্ত্র ফ্রেম তৈরি এবং সংরক্ষণ করার দরকার নেই। আপনি কোনও কাঁচা বাইট স্ট্রিম সরাসরি ffmpeg / avconv এ খাওয়াতে পারেন, যেমন

mx=320; my=256; nframes=100; dd if=/dev/urandom bs="$((mx*my*3))" count="$nframes" | avconv -r 25 -s "${mx}x${my}" -f rawvideo -pix_fmt rgb24 -i - random.mp4

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