జావా మరియు ప్రాసెసింగ్ ఉపయోగించి అద్భుతమైన వెబ్‌క్యామ్ ప్రభావాలను ఎలా సృష్టించాలి

జావా మరియు ప్రాసెసింగ్ ఉపయోగించి అద్భుతమైన వెబ్‌క్యామ్ ప్రభావాలను ఎలా సృష్టించాలి

ప్రాసెసింగ్ అనేది ఒక శక్తివంతమైన సాధనం, ఇది కోడ్ ద్వారా కళను సృష్టించడానికి అనుమతిస్తుంది. ఇది గ్రాఫిక్స్‌తో పనిచేయడానికి జావా లైబ్రరీ మరియు ఇంటిగ్రేటెడ్ డెవలప్‌మెంట్ ఎన్విరాన్‌మెంట్ (IDE) కలయిక, ఇది కోడ్‌ను సులభంగా వ్రాయడానికి మరియు అమలు చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.





ప్రాసెసింగ్‌ని ఉపయోగించే అనేక గ్రాఫిక్స్ మరియు యానిమేషన్ బిగినర్స్ ప్రాజెక్ట్‌లు ఉన్నాయి, కానీ ఇది లైవ్ వీడియోను కూడా మార్చగలదు.





ఈ రోజు మీరు ప్రాసెసింగ్ వీడియో లైబ్రరీని ఉపయోగించి, మౌస్ ద్వారా నియంత్రించబడే విభిన్న ప్రభావాల ప్రత్యక్ష వీడియో స్లైడ్‌షోను తయారు చేస్తున్నారు. లైవ్ వీడియోను తిప్పడంతో పాటు, మీరు దాని పరిమాణాన్ని మార్చడం మరియు రంగు వేయడం మరియు మౌస్ కర్సర్‌ని అనుసరించేలా చేయడం ఎలాగో నేర్చుకుంటారు.





ప్రాజెక్ట్ సెటప్

ప్రారంభించడానికి, డౌన్‌లోడ్ ప్రాసెసింగ్ మరియు ఖాళీ స్కెచ్ తెరవండి. ఈ ట్యుటోరియల్ విండోస్ సిస్టమ్‌పై ఆధారపడి ఉంటుంది, అయితే ఇది వెబ్‌క్యామ్ ఉన్న ఏ కంప్యూటర్‌లోనైనా పనిచేయాలి.

మీరు ప్రాసెసింగ్ వీడియో లైబ్రరీని ఇన్‌స్టాల్ చేయాల్సి ఉంటుంది, కింద యాక్సెస్ చేయవచ్చు స్కెచ్> లైబ్రరీని దిగుమతి చేయండి> లైబ్రరీని జోడించండి . దాని కోసం వెతుకు వీడియో శోధన పెట్టెలో, మరియు నుండి లైబ్రరీని ఇన్‌స్టాల్ చేయండి ప్రాసెసింగ్ ఫౌండేషన్ .



ఇన్‌స్టాల్ చేసిన తర్వాత, మీరు వెళ్లడానికి సిద్ధంగా ఉన్నారు. మీరు కోడింగ్‌ని దాటవేయాలనుకుంటే, మీరు చేయవచ్చు పూర్తి స్కెచ్‌ను డౌన్‌లోడ్ చేయండి . అయితే, మొదటి నుండి దీనిని మీరే తయారు చేసుకోవడం చాలా మంచిది!

ప్రాసెసింగ్‌తో వెబ్‌క్యామ్‌ను ఉపయోగించడం

లైబ్రరీని దిగుమతి చేయడం ద్వారా ప్రారంభిద్దాం, మరియు a ని సృష్టించడం ఏర్పాటు ఫంక్షన్ ఖాళీ ప్రాసెసింగ్ స్కెచ్‌లో కింది వాటిని నమోదు చేయండి:





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

వీడియో లైబ్రరీని దిగుమతి చేసిన తర్వాత, మీరు ఒక సృష్టిస్తారు క్యాప్చర్ ఉదాహరణ అని పిలుస్తారు ఆరెంజ్ వెబ్‌క్యామ్ నుండి డేటాను నిల్వ చేయడానికి. లో ఏర్పాటు , ది పరిమాణం ఫంక్షన్ ఏర్పాటు చేస్తుంది a 640x480 పని చేయడానికి పిక్సెల్ సైజు విండో.

తదుపరి లైన్ కేటాయిస్తుంది ఆరెంజ్ యొక్క కొత్త ఉదాహరణకి క్యాప్చర్ , కోసం కెమెరాను ఆన్ చేయమని చెప్పడానికి ముందు, కిటికీకి సమానమైన స్కెచ్ cam.start () .





ప్రస్తుతానికి దీనిలోని ప్రతి భాగాన్ని మీరు అర్థం చేసుకోకపోతే చింతించకండి. సంక్షిప్తంగా, మేము ప్రాసెసింగ్‌తో ఒక విండోను తయారు చేసి, మా కెమెరాను కనుగొని, దాన్ని ఆన్ చేయమని చెప్పాము! దానిని ప్రదర్శించడానికి మనకు ఒక అవసరం డ్రా ఫంక్షన్ కర్లీ బ్రాకెట్‌ల వెలుపల, పైన ఉన్న కోడ్ క్రింద దీన్ని నమోదు చేయండి.

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

ది డ్రా ఫంక్షన్ ప్రతి ఫ్రేమ్ అని పిలువబడుతుంది. దీని అర్థం ప్రతి సెకనుకు అనేక సార్లు, ఉంటే కెమెరా డేటా కలిగి ఉంది అందుబాటులో మీరు చదవండి దాని నుండి డేటా.

ఈ డేటా అప్పుడు ప్రదర్శించబడుతుంది చిత్రం , స్థానంలో 0, 0 , ఇది విండో ఎగువ ఎడమవైపు.

మీ స్కెచ్‌ను సేవ్ చేయండి మరియు స్క్రీన్ ఎగువన ఉన్న ప్లే బటన్‌ని నొక్కండి.

విజయం! ద్వారా నిల్వ చేయబడిన డేటా ఆరెంజ్ ప్రతి ఫ్రేమ్‌కి సరిగ్గా స్క్రీన్‌పై ముద్రించబడుతుంది. మీకు సమస్యలు ఉంటే, మీ కోడ్‌ని క్షుణ్ణంగా తనిఖీ చేయండి. జావాకు సరైన స్థానంలో ప్రతి బ్రాకెట్ మరియు సెమీ కోలన్ అవసరం! వెబ్‌క్యామ్‌ను యాక్సెస్ చేయడానికి ప్రాసెసింగ్‌కు కొన్ని సెకన్ల సమయం కూడా అవసరం, కనుక ఇది పని చేయదని మీరు అనుకుంటే స్క్రిప్ట్‌ను ప్రారంభించిన తర్వాత కొన్ని సెకన్లపాటు వేచి ఉండండి.

చిత్రాన్ని తిప్పడం

ఇప్పుడు మీరు లైవ్ వెబ్‌క్యామ్ ఇమేజ్‌ని పొందారు కాబట్టి దానిని మార్చండి. డ్రా ఫంక్షన్‌లో, భర్తీ చేయండి చిత్రం (క్యామ్, 0,0); కోడ్ యొక్క ఈ రెండు లైన్లతో.

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

స్కెచ్‌ను సేవ్ చేయండి మరియు తిరిగి అమలు చేయండి. మీరు తేడాను చూడగలరా? ప్రతికూలతను ఉపయోగించడం ద్వారా స్థాయి విలువ, అన్నీ x విలువలు (క్షితిజ సమాంతర పిక్సెల్‌లు) ఇప్పుడు తిరగబడ్డాయి. దీని కారణంగా, మేము విండో యొక్క ప్రతికూల విలువను ఉపయోగించాలి వెడల్పు చిత్రాన్ని సరిగ్గా ఉంచడానికి.

చిత్రాన్ని తలక్రిందులుగా తిప్పడానికి కేవలం కొన్ని చిన్న మార్పులు అవసరం.

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

ఈసారి, రెండూ x మరియు మరియు ప్రత్యక్ష కెమెరా చిత్రాన్ని తలక్రిందులుగా చేయడం ద్వారా విలువలు తిప్పబడ్డాయి. ఇప్పటివరకు మీరు ఒక సాధారణ చిత్రం, అడ్డంగా తిప్పబడిన చిత్రం మరియు నిలువుగా తిప్పబడిన చిత్రాన్ని కోడ్ చేసారు. వాటి మధ్య సైకిల్ చేయడానికి ఒక మార్గాన్ని ఏర్పాటు చేద్దాం.

మేకింగ్ ఇట్ సైకిల్

ప్రతిసారి మీ కోడ్‌ని తిరిగి వ్రాయడానికి బదులుగా, వాటి ద్వారా సైకిల్ చేయడానికి మేము సంఖ్యలను ఉపయోగించవచ్చు. క్రొత్తదాన్ని సృష్టించండి పూర్ణ సంఖ్య అని పిలవబడే మీ కోడ్ ఎగువన స్విచ్చర్ .

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. రీసెట్ అవుతుంది. లాజిక్ నేర్చుకోవడానికి ఒక ముఖ్యమైన ప్రారంభ నైపుణ్యం, మరియు మీరు వాటి గురించి మరియు అద్భుతమైన YouTube ప్రోగ్రామింగ్ ట్యుటోరియల్‌తో చాలా ఎక్కువ తెలుసుకోవచ్చు!

మౌస్ ఉపయోగించి

ప్రాసెసింగ్ మౌస్ యాక్సెస్ కోసం అంతర్నిర్మిత పద్ధతులను కలిగి ఉంది. వినియోగదారు మౌస్‌ని క్లిక్ చేసినప్పుడు గుర్తించడానికి, జోడించండి మౌస్ ప్రెస్ మీ స్క్రిప్ట్ దిగువన ఫంక్షన్.

తొలగించిన ఫేస్‌బుక్ సందేశాలను ఎలా పొందాలి
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);
}

ఇక్కడ, మీరు మీ కెమెరా నుండి చిత్రాన్ని ఇమేజ్ చేస్తున్నారు మౌస్ X మరియు ఎలుక Y . ఇవి ప్రాసెసింగ్ విలువలలో నిర్మించబడ్డాయి, ఇది మౌస్ సూచించే పిక్సెల్‌ను తిరిగి ఇస్తుంది.

అంతే! కోడ్ ద్వారా లైవ్ వీడియో యొక్క ఐదు వైవిధ్యాలు. అయితే, మీరు కోడ్‌ని అమలు చేసినప్పుడు, మీరు కొన్ని సమస్యలను గమనించవచ్చు.

కోడ్‌ని పూర్తి చేయడం

మీరు ఇప్పటివరకు సృష్టించిన కోడ్ పనిచేస్తుంది, కానీ మీరు రెండు సమస్యలను గమనించవచ్చు. మొదట, నాలుగు రంగుల వైవిధ్యం చూపించిన తర్వాత, తర్వాత అంతా ఊదా రంగులో ఉంటుంది. రెండవది, మీరు వీడియోను మౌస్‌తో తరలించినప్పుడు, అది కాలిబాటను వదిలివేస్తుంది. డ్రా ఫంక్షన్ పైభాగంలో కొన్ని పంక్తులను జోడించడం ద్వారా మీరు దాన్ని పరిష్కరించవచ్చు.

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

ప్రతి ఫ్రేమ్ ప్రారంభంలో, ఈ కోడ్ లేతరంగు రంగును తెలుపు రంగుకు రీసెట్ చేస్తుంది మరియు వీడియోలను వదిలేయడాన్ని నిలిపివేయడానికి బ్లాక్ యొక్క నేపథ్య రంగును జోడిస్తుంది. ఇప్పుడు మీరు ప్రోగ్రామ్‌ని పరీక్షించినప్పుడు, ప్రతిదీ ఖచ్చితంగా పనిచేస్తుంది!

వెబ్‌క్యామ్ ప్రభావాలు: కోడ్ ఫ్రమ్ కోడ్

ప్రాసెసింగ్ చాలా శక్తివంతమైనది, మరియు మీరు దానిని అనేక పనులు చేయడానికి ఉపయోగించవచ్చు. కోడ్‌తో కళను రూపొందించడానికి ఇది అద్భుతమైన వేదిక, కానీ రోబోట్‌లను నియంత్రించడానికి ఇది సమానంగా సరిపోతుంది!

జావా మీ విషయం కాకపోతే, p5.js అనే ప్రాసెసింగ్ ఆధారంగా జావాస్క్రిప్ట్ లైబ్రరీ ఉంది. ఇది బ్రౌజర్ ఆధారితమైనది మరియు ప్రారంభకులు కూడా అద్భుతమైన రియాక్టివ్ యానిమేషన్‌లను సృష్టించడానికి దీనిని ఉపయోగించవచ్చు!

చిత్ర క్రెడిట్: Syda_Productions / డిపాజిట్‌ఫోటోలు

షేర్ చేయండి షేర్ చేయండి ట్వీట్ ఇమెయిల్ ఇమెయిల్ నిజమైనదా లేదా నకిలీదా అని తనిఖీ చేయడానికి 3 మార్గాలు

మీరు కొంచెం సందేహాస్పదంగా ఉన్న ఇమెయిల్‌ను అందుకున్నట్లయితే, దాని ప్రామాణికతను తనిఖీ చేయడం ఎల్లప్పుడూ ఉత్తమం. ఇమెయిల్ నిజమో కాదో చెప్పడానికి ఇక్కడ మూడు మార్గాలు ఉన్నాయి.

తదుపరి చదవండి
సంబంధిత అంశాలు
  • ప్రోగ్రామింగ్
  • జావా
  • వెబ్క్యామ్
  • ప్రాసెసింగ్
  • కోడింగ్ ట్యుటోరియల్స్
రచయిత గురుంచి ఇయాన్ బక్లీ(216 కథనాలు ప్రచురించబడ్డాయి)

ఇయాన్ బక్లీ జర్మనీలోని బెర్లిన్‌లో నివసిస్తున్న ఫ్రీలాన్స్ జర్నలిస్ట్, సంగీతకారుడు, ప్రదర్శనకారుడు మరియు వీడియో నిర్మాత. అతను వ్రాయనప్పుడు లేదా వేదికపై లేనప్పుడు, అతను పిచ్చి శాస్త్రవేత్త కావాలనే ఆశతో DIY ఎలక్ట్రానిక్స్ లేదా కోడ్‌తో టింకరింగ్ చేస్తున్నాడు.

ఇయాన్ బక్లీ నుండి మరిన్ని

మా వార్తాలేఖకు సభ్యత్వాన్ని పొందండి

టెక్ చిట్కాలు, సమీక్షలు, ఉచిత ఈబుక్‌లు మరియు ప్రత్యేకమైన డీల్స్ కోసం మా వార్తాలేఖలో చేరండి!

సభ్యత్వం పొందడానికి ఇక్కడ క్లిక్ చేయండి