इमेज प्रोसेसिंग के लिए ओपन सोर्स जावास्क्रिप्ट लाइब्रेरी
गॉसियन, ग्रेस्केल, हाईपास, इनवर्ट, लैपलासीन, मिरर, आरजीबी, रॉबर्ट्स, सैचुरेशन आदि जैसे विभिन्न प्रकार के फिल्टर का उपयोग करके छवियों पर अलग-अलग प्रभाव लागू करने के लिए जावास्क्रिप्ट एपीआई।
Lena.js एक बहुत ही सरल लाइट-वेट इमेज प्रोसेसिंग लाइब्रेरी है जो सॉफ्टवेयर डेवलपर्स को उनके जावास्क्रिप्ट एप्लिकेशन के अंदर से विभिन्न प्रकार की छवियों के साथ काम करने में सक्षम बनाती है। यह एक शुद्ध जावास्क्रिप्ट लाइब्रेरी है जो बिना किसी बाहरी निर्भरता के नोड के साथ-साथ इन-ब्राउज़र पर भी काम कर सकती है। पुस्तकालय खुला स्रोत है और एमआईटी लाइसेंस के तहत उपलब्ध है। ब्राउज़र के अंदर भारी छवियों के साथ पुस्तकालय बहुत अच्छा नहीं है, लेकिन छोटी छवियों के हेरफेर के लिए बहुत कुशल है।
Lena.js का उपयोग करना बहुत आसान है और छवियों पर विभिन्न प्रभाव लागू कर सकता है। छवि फ़िल्टर सॉफ़्टवेयर ऐप्स को केवल एक क्लिक के साथ छवियों पर विभिन्न प्रभाव लागू करने में सक्षम बनाता है। पुस्तकालय में कई महत्वपूर्ण छवि फिल्टर के लिए समर्थन शामिल है, कुछ महत्वपूर्ण हैं गाऊसी, ग्रेस्केल, हाईपास, इनवर्ट, लैपलासीन, दर्पण, शोर, प्रीविट, आरजीबी, रॉबर्ट्स, संतृप्ति, सेपिया, शार्प, और कई अन्य। पुस्तकालय एक छवि के लिए कई फिल्टर लगाने का भी समर्थन करता है। फ़िल्टर एक ही वैश्विक चर LenaJS में संग्रहीत हैं और कुंजी या डॉट नोटेशन का उपयोग करके इसकी आईडी के माध्यम से पहुँचा जा सकता है।
LenaJs . के साथ शुरुआत करना
NPM के माध्यम से LenaJs को स्थापित करने का अनुशंसित तरीका। कृपया इसे स्थापित करने के लिए निम्न आदेश का उपयोग करें।
NPM के माध्यम से Lena.Js स्थापित करें
npm install lena.js --save
जावास्क्रिप्ट के माध्यम से छवि पर फ़िल्टर लागू करें
ओपन सोर्स Lena.js लाइब्रेरी ने उपयोगी फिल्टर का एक सेट प्रदान किया है जिसका उपयोग जावास्क्रिप्ट अनुप्रयोगों के अंदर छवियों पर विभिन्न प्रकार के प्रभावों को लागू करने के लिए किया जा सकता है। कृपया पहले छवि को सही पता प्रदान करें और फिर उपलब्ध फ़िल्टर की सूची से फ़िल्टर का चयन करें। आप चुनी गई छवि पर आसानी से फ़िल्टर लागू करने के लिए फ़िल्टर इमेज और रेड्राकैनवास विधियों का उपयोग कर सकते हैं। फ़िल्टर लागू करने के लिए एक छवि और एक कैनवास का उपयोग किया जाएगा।
जावास्क्रिप्ट के माध्यम से शोर फ़िल्टर जोड़ें
const noise = function (pixels, amount = 0) {
const level = amount * 255 * 0.1
let random;
for (let i = 0; i < pixels.data.length; i += 4) {
random = (0.5 - Math.random()) * level;
pixels.data[i] += random;
pixels.data[i + 1] += random;
pixels.data[i + 2] += random;
}
return pixels
}
export default noise
छवियों पर एकाधिक फ़िल्टर लागू करना
Lena.js लाइब्रेरी सॉफ़्टवेयर डेवलपर्स को अपने स्वयं के जावास्क्रिप्ट ऐप्स के अंदर अपनी छवियों पर कई फ़िल्टर लागू करने में सक्षम बनाती है। आमतौर पर, फ़िल्टरइमेज विधि द्वारा किसी छवि पर एक एकल फ़िल्टर लागू किया जाता है। किसी छवि पर एकाधिक फ़िल्टर लागू करने के लिए आपको फ़िल्टर इमेज के बजाय redrawCanvas विधि का उपयोग करने की आवश्यकता है। आपको पहले तर्क के रूप में पहले से ही फ़िल्टर के साथ प्रदान की गई एक छवि को पारित करने की आवश्यकता है और दूसरे तर्क के रूप में एक नया फ़िल्टर पास करने की आवश्यकता है जिसे आसानी से छवि में जोड़ा जाएगा।
जावास्क्रिप्ट एपीआई के माध्यम से छवियों को संसाधित करना
LenaJs पुस्तकालय सॉफ्टवेयर प्रोग्रामर को जावास्क्रिप्ट के अंदर छवियों में प्रोग्रामेटिक रूप से एक फिल्टर जोड़ने की क्षमता देता है। LenaJs के साथ फ़िल्टर लागू करना बहुत सरल है, API फ़िल्टर जोड़ने के दो तरीके प्रदान करता है; फ़िल्टर इमेज () और रेड्राकैनवास ()। फ़िल्टर लागू करने की विधि के लिए आपको एक छवि और एक कैनवास प्रदान करने की आवश्यकता है। फ़िल्टर प्राप्त करने के लिए, आप LenaJs['filername'] विधि का उपयोग कर सकते हैं और इसे फ़िल्टरइमेज () विधि का उपयोग करके छवि पर लागू कर सकते हैं।
छवियों पर कंट्रास्ट फ़िल्टर लागू करें<
const contrast = function (pixels, amount) {
const level = Math.pow((amount + 100) / 100, 2)
let data = pixels.data
let r
let g
let b
for (let i = 0; i < data.length; i += 4) {
r = data[i]
g = data[i + 1]
b = data[i + 2]
r = r / 255
r -= 0.5
r *= level
r += 0.5
r *= 255
g = g / 255
g -= 0.5
g *= level
g += 0.5
g *= 255
b = b / 255
b -= 0.5
b *= level
b += 0.5
b *= 255
r = r < 0 ? 0 : r > 255 ? 255 : r
g = g < 0 ? 0 : g > 255 ? 255 : g
b = b < 0 ? 0 : b > 255 ? 255 : b
data[i] = r
data[i + 1] = g
data[i + 2] = b
}
return pixels
}
export default contrast