কীভাবে জাভা এবং প্রসেসিং ব্যবহার করে আশ্চর্যজনক ওয়েবক্যাম প্রভাব তৈরি করবেন

কীভাবে জাভা এবং প্রসেসিং ব্যবহার করে আশ্চর্যজনক ওয়েবক্যাম প্রভাব তৈরি করবেন

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





অনেক গ্রাফিক্স এবং অ্যানিমেশন শিক্ষানবিশ প্রকল্প রয়েছে যা প্রসেসিং ব্যবহার করে, কিন্তু এটি লাইভ ভিডিও ম্যানিপুলেট করতেও সক্ষম।





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





প্রকল্প সেটআপ

শুরু করা, ডাউনলোড প্রসেসিং এবং একটি ফাঁকা স্কেচ খুলুন। এই টিউটোরিয়ালটি একটি উইন্ডোজ সিস্টেমের উপর ভিত্তি করে, তবে এটি একটি ওয়েবক্যাম সহ যেকোন কম্পিউটারে কাজ করা উচিত।

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



একবার ইনস্টল হয়ে গেলে, আপনি যেতে প্রস্তুত। আপনি যদি কোডিং এড়িয়ে যেতে চান, আপনি পারেন সম্পূর্ণ স্কেচ ডাউনলোড করুন । স্ক্র্যাচ থেকে এটি নিজেকে তৈরি করা অনেক ভাল, তবে!

প্রসেসিং সহ একটি ওয়েবক্যাম ব্যবহার করা

লাইব্রেরি আমদানি করে এবং একটি তৈরি করে শুরু করা যাক সেটআপ ফাংশন ফাঁকা প্রসেসিং স্কেচে নিম্নলিখিতটি লিখুন:





import processing.video.*;
Capture cam;
void setup(){
size(640,480);
cam = new Capture(this, 640, 480);
cam.start();
}

ভিডিও লাইব্রেরি আমদানি করার পর, আপনি একটি তৈরি করুন ক্যাপচার উদাহরণ বলা হয় কমলা ওয়েবক্যাম থেকে তথ্য সংরক্ষণ করতে। ভিতরে সেটআপ , দ্য আকার ফাংশন সেট আপ a 640x480 কাজ করার জন্য পিক্সেল আকারের জানালা।

পরবর্তী লাইন বরাদ্দ করে কমলা এর একটি নতুন উদাহরণে ক্যাপচার , জন্য এই স্কেচ, যা জানালার সমান মাপের, ক্যামেরাটি চালু করার আগে বলুন cam.start ()





আপনি যদি আপাতত এর প্রতিটি অংশ বুঝতে না পারেন তবে চিন্তা করবেন না। সংক্ষেপে, আমরা প্রসেসিংকে বলেছি একটি উইন্ডো তৈরি করতে, আমাদের ক্যামেরা খুঁজে পেতে এবং এটি চালু করতে! এটি প্রদর্শন করতে আমাদের প্রয়োজন a আঁকা ফাংশন কোঁকড়া বন্ধনীগুলির বাইরে, উপরের কোডের নিচে এটি লিখুন।

void draw(){
if (cam.available()){
cam.read();
}
image(cam,0,0);
}

দ্য আঁকা ফাংশন প্রতিটি ফ্রেম বলা হয়। এর মানে হল প্রতি সেকেন্ডে অনেকবার, যদি ক্যামেরায় ডেটা আছে উপলব্ধ আপনি পড়ুন এটি থেকে তথ্য

এই তথ্য তারপর একটি হিসাবে প্রদর্শিত হয় ছবি , অবস্থানে 0, 0 , যা জানালার উপরের বাম দিকে।

আপনার স্কেচ সংরক্ষণ করুন, এবং পর্দার শীর্ষে প্লে বোতাম টিপুন।

সফলতা! দ্বারা সংরক্ষিত ডেটা কমলা প্রতিটি ফ্রেমে পর্দায় সঠিকভাবে মুদ্রিত হচ্ছে। আপনার যদি সমস্যা হয় তবে আপনার কোডটি ভালভাবে পরীক্ষা করুন। জাভাকে সঠিক জায়গায় প্রতিটি বন্ধনী এবং আধা-কোলন প্রয়োজন! ওয়েবক্যাম অ্যাক্সেস করার জন্য প্রক্রিয়াকরণেও কয়েক সেকেন্ডের প্রয়োজন হতে পারে, তাই যদি আপনি মনে করেন যে এটি কাজ করছে না স্ক্রিপ্ট চালু করার পর কয়েক সেকেন্ড অপেক্ষা করুন।

ছবি উল্টানো

এখন যে আপনি একটি লাইভ ওয়েবক্যাম ইমেজ পেয়েছেন এর ম্যানিপুলেট করা যাক। ড্র ফাংশনে, প্রতিস্থাপন করুন ছবি (ক্যাম, 0,0); কোডের এই দুটি লাইনের সাথে।

scale(-1,1);
image(cam,-width,0);

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

ছবিটি উল্টো করে উল্টানোর জন্য কেবল কয়েকটি ছোট পরিবর্তন প্রয়োজন।

scale(-1,-1);
image(cam,-width,-height);

এইবার, উভয় এক্স এবং এবং মানগুলি উল্টে যায়, লাইভ ক্যামেরার চিত্রটি উল্টে দেয়। এখন পর্যন্ত আপনি একটি সাধারণ চিত্র, একটি অনুভূমিকভাবে উল্টানো চিত্র এবং একটি উল্লম্বভাবে উল্টানো চিত্রটি কোড করেছেন। আসুন তাদের মধ্যে চক্রের একটি উপায় নির্ধারণ করি।

মেকিং ইট সাইকেল

প্রতিবার আপনার কোড পুনরায় লেখার পরিবর্তে, আমরা তাদের মাধ্যমে চক্রের জন্য সংখ্যা ব্যবহার করতে পারি। নতুন একটি তৈরি কর পূর্ণসংখ্যা আপনার বলা কোডের শীর্ষে সুইচার

import processing.video.*;
int switcher = 0;
Capture cam;

ক্যামেরা ইমেজের কী হবে তা নির্ধারণ করতে আমরা সুইচারের মান ব্যবহার করতে পারি। যখন স্কেচ শুরু হয়, আপনি এটি একটি মান দিতে 0 । এখন আমরা ইমেজ কি ঘটবে তা পরিবর্তন করতে যুক্তি ব্যবহার করতে পারি। আপডেট করুন আপনার আঁকা এই মত দেখতে পদ্ধতি:

void draw(){
if (cam.available()){
cam.read();
}
if(switcher==0){
image(cam,0,0);
}
else if(switcher == 1){
scale(-1,1);
image(cam,-width,0);
}
else if(switcher == 2){
scale(-1,-1);
image(cam,-width,-height);
}
else{
println('Switcher = 0 again');
switcher = 0;
}
}

এখন, কোডের তিনটি ভিন্নতা সুইচারের মানের উপর নির্ভর করে ট্রিগার করবে। যদি এটি আমাদের একটির সাথে না মেলে যদি অথবা অন্যথায় যদি বিবৃতি, অন্য ক্লজটি 0 তে রিসেট হয়ে যায়।

মাউস ব্যবহার করে

মাউস অ্যাক্সেস করার জন্য প্রক্রিয়াকরণের অন্তর্নির্মিত পদ্ধতি রয়েছে। ব্যবহারকারী কখন মাউস ক্লিক করে তা সনাক্ত করতে, যোগ করুন চাপা আপনার স্ক্রিপ্টের নীচে কাজ করুন।

কিভাবে র্যাম উইন্ডোজ 10 সাফ করবেন
void mousePressed(){
switcher++;
}

প্রসেসিং কোন মাউস ক্লিকের জন্য শোনে এবং প্রোগ্রামটিকে এই পদ্ধতিটি চালানোর জন্য বাধা দেয় যখন এটি একটি সনাক্ত করে। যতবার পদ্ধতিটি বলা হয়, সুইচারের মান একের পর এক বড় হয়। আপনার স্ক্রিপ্ট সংরক্ষণ করুন এবং চালান।

এখন, যখন আপনি মাউস বোতামটি টিপবেন, এটি আসলটিতে ফেরার আগে ভিডিওগুলির বিভিন্ন অভিযোজনগুলির মধ্য দিয়ে চক্র। এখন পর্যন্ত আপনি ভিডিওটি উল্টে ফেলেছেন, এখন আসুন আরেকটু আকর্ষণীয় কিছু করি।

আরো প্রভাব যোগ করা

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

else if(switcher == 3){
tint(256, 0, 0);
image(cam, 0, 0, width/2, height/2);
tint(0, 256, 0);
image(cam, width/2, 0, width/2, height/2);
tint(0, 0, 256);
image(cam, 0, height/2, width/2, height/2);
tint(256, 0, 256);
image(cam, width/2, height/2, width/2, height/2);
}

এই কোডটি ব্যবহার করে ছবি স্ক্রিনের প্রতিটি কোণে চারটি পৃথক ক্যামেরা চিত্র তৈরি করতে এবং সেগুলি সমস্ত অর্ধেক আকারের করতে কাজ করে।

দ্য ছোপ ফাংশন প্রতিটি ক্যামেরার ছবিতে রঙ যোগ করে। বন্ধনী হল সংখ্যাগুলি লাল, সবুজ এবং নীল (RGB) মান নির্বাচিত রঙের সাথে নিচের সমস্ত কোড টিন্ট করুন।

ফলাফল দেখতে সেভ করুন এবং খেলুন। প্রতিটিতে RGB নম্বর পরিবর্তন করার চেষ্টা করুন ছোপ রঙ পরিবর্তন ফাংশন!

এটা মাউস অনুসরণ করা

পরিশেষে, প্রসেসিং লাইব্রেরি থেকে সহায়ক ফাংশন ব্যবহার করে লাইভ ইমেজটি মাউসের অবস্থান অনুসরণ করুন। এই উপরে যোগ করুন অন্য আপনার যুক্তির অংশ।

else if(switcher==4 ){
image(cam, mouseX, mouseY, width/2, height/2);
}

এখানে, আপনি আপনার ক্যামেরা থেকে ছবিটি এখানে অবস্থান করছেন mouseX এবং mouseY । এগুলি প্রসেসিং মানগুলিতে নির্মিত যা মাউসটি কোন পিক্সেলের দিকে নির্দেশ করছে তা ফেরত দেয়।

এটাই! কোডের মাধ্যমে লাইভ ভিডিওর পাঁচটি বৈচিত্র। যাইহোক, যখন আপনি কোডটি চালাবেন, আপনি কয়েকটি সমস্যা লক্ষ্য করবেন।

কোড শেষ করা

আপনার তৈরি করা কোডটি এখন পর্যন্ত কাজ করে, কিন্তু আপনি দুটি সমস্যা লক্ষ্য করবেন। প্রথমত, একবার চার-রঙের বৈচিত্র্য দেখায়, পরে সবকিছু রক্তবর্ণ রঙের হয়। দ্বিতীয়ত, যখন আপনি ভিডিওটি মাউস দিয়ে সরান, তখন এটি একটি পথ ছেড়ে দেয়। আপনি ড্র ফাংশনের শীর্ষে কয়েকটি লাইন যুক্ত করে এটি ঠিক করতে পারেন।

void draw(){
tint(256,256,256);
background(0);
//draw function continues normally here!

প্রতিটি ফ্রেমের শুরুতে এই কোড টিন্ট কালারকে সাদা রঙে রিসেট করে, এবং ভিডিও ছেড়ে যাওয়ার পথ বন্ধ করতে কালো রঙের ব্যাকগ্রাউন্ড কালার যোগ করে। এখন যখন আপনি প্রোগ্রামটি পরীক্ষা করেন, সবকিছু নিখুঁতভাবে কাজ করে!

ওয়েবক্যাম প্রভাব: কোড থেকে আর্ট

প্রসেসিং খুব শক্তিশালী, এবং আপনি এটি ব্যবহার করতে পারেন অনেক কিছু করতে। কোড দিয়ে শিল্প তৈরির জন্য এটি একটি চমৎকার প্ল্যাটফর্ম, কিন্তু এটি রোবট নিয়ন্ত্রণের জন্য সমানভাবে উপযুক্ত!

যদি জাভা আপনার জিনিস না হয়, p5.js নামে প্রসেসিং এর উপর ভিত্তি করে একটি জাভাস্ক্রিপ্ট লাইব্রেরি আছে। এটি ব্রাউজার-ভিত্তিক, এবং এমনকি নতুনরাও এটি ব্যবহার করে চমত্কার প্রতিক্রিয়াশীল অ্যানিমেশন তৈরি করতে পারে!

ইমেজ ক্রেডিট: Syda_Productions / আমানত ছবি

শেয়ার করুন শেয়ার করুন টুইট ইমেইল ইমেইল আসল নাকি নকল তা পরীক্ষা করার ays টি উপায়

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

পরবর্তী পড়ুন
সম্পর্কিত বিষয়
  • প্রোগ্রামিং
  • জাভা
  • ওয়েবক্যাম
  • প্রক্রিয়াকরণ
  • কোডিং টিউটোরিয়াল
লেখক সম্পর্কে ইয়ান বাকলি(216 নিবন্ধ প্রকাশিত)

ইয়ান বাকলি জার্মানির বার্লিনে বসবাসরত একজন ফ্রিল্যান্স সাংবাদিক, সঙ্গীতশিল্পী, অভিনয়শিল্পী এবং ভিডিও প্রযোজক। যখন তিনি লিখছেন না বা মঞ্চে আসছেন না, তখন তিনি পাগল বিজ্ঞানী হওয়ার আশায় DIY ইলেকট্রনিক্স বা কোড নিয়ে ছটফট করছেন।

ইয়ান বাকলি থেকে আরো

আমাদের নিউজলেটার সদস্যতা

প্রযুক্তি টিপস, রিভিউ, ফ্রি ইবুক এবং এক্সক্লুসিভ ডিলের জন্য আমাদের নিউজলেটারে যোগ দিন!

সাবস্ক্রাইব করতে এখানে ক্লিক করুন