"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > लारवेल में धुंधली छवि का पता लगाना

लारवेल में धुंधली छवि का पता लगाना

2024-11-04 को प्रकाशित
ब्राउज़ करें:825

Blurry Image Detection in Laravel

लेख https://medium.com/@hafiqiqmal93/blurry-image-detection-in-laravel-4c91168e00f1 से उत्पन्न हुआ है

उपयोगकर्ता अनुभव का महत्वपूर्ण पहलू, धुंधली छवियों को संग्रहीत करना किसी वेबसाइट या एप्लिकेशन की गुणवत्ता में काफी कमी लाता है। यह आलेख इस बात पर प्रकाश डालता है कि आप पायथॉन और ओपनसीवी की मदद से लारवेल का उपयोग करके धुंधली छवियों का पता कैसे लगा सकते हैं और प्रबंधित कर सकते हैं, यह सुनिश्चित करते हुए कि एप्लिकेशन का मीडिया तेज और आकर्षक बना रहे।

धुंधली छवियों की चुनौती

धुंधली छवियां केवल एक दृश्य उपद्रव से कहीं अधिक हैं; वे आपकी वेबसाइट या ऐप की व्यावसायिकता को कमज़ोर कर सकते हैं। ई-कॉमर्स, रियल एस्टेट लिस्टिंग, ऑनलाइन गैलरी या किसी भी प्लेटफ़ॉर्म पर जहां छवि गुणवत्ता सर्वोपरि है, स्पष्टता सुनिश्चित करना आवश्यक है। चुनौती प्रोग्रामेटिक रूप से धुंधलापन का पता लगाने में है।

बचाव के लिए लारवेल

इस समस्या का प्रभावी समाधान बनाने के लिए लारवेल को पायथन के साथ जोड़ा जा सकता है। ओपनसीवी का उपयोग करते हुए पायथन स्क्रिप्ट के साथ लारवेल की फ़ाइल सत्यापन का लाभ उठाकर, डेवलपर्स अपनी फ़ाइल अपलोड प्रक्रियाओं में ब्लर डिटेक्शन को सहजता से एकीकृत कर सकते हैं।

धुंधलापन का पता लगाने की अवधारणा

धुंधली छवियों का पता लगाने में छवि की तीक्ष्णता का विश्लेषण करना शामिल है। यह आम तौर पर लैप्लासियन ऑपरेटर का उपयोग करके किया जाता है, जो छवि प्रसंस्करण में उपयोग किया जाने वाला गणितीय उपकरण है। लाप्लासियन ऑपरेटर उस दर को मापता है जिस पर पिक्सेल की तीव्रता बदलती है, और लाप्लासियन का निचला विचरण धुंधली छवि को इंगित करता है।

लारवेल में कार्यान्वयन

लारवेल में, हम छवि धुंधलेपन की जांच के लिए एक कस्टम सत्यापन नियम बना सकते हैं। यह नियम एक पायथन स्क्रिप्ट को निष्पादित करता है जो छवि की तीक्ष्णता निर्धारित करने के लिए लाप्लासियन ऑपरेटर का उपयोग करता है। आइए इस प्रक्रिया को तोड़ें:

इंस्टालेशन ओपनसीवी पायथन:

पीआईपी स्थापित करें (उबंटू) :


sudo apt install python3-pip


पीआईपी का उपयोग करके ओपनसीवी स्थापित करें


pip3 install opencv-python


यदि आपका एप्लिकेशन **www-data** के अंतर्गत चलता है तो आप **www-data** उपयोगकर्ता के अंतर्गत इंस्टॉल करने पर विचार कर सकते हैं। यदि हां, तो इंस्टॉल करने के लिए नीचे दिए गए आदेशों का पालन करें


sudo mkdir /var/www/.local
sudo mkdir /var/www/.cache
sudo chown www-data.www-data /var/www/.local
sudo chown www-data.www-data /var/www/.cache
sudo -H -u www-data pip3 install opencv-python




पायथन स्क्रिप्ट बनाएं



import sys
import cv2

def get_image_laplacian_value(image_path):
image = cv2.imread(image_path)
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
return cv2.Laplacian(gray_image, cv2.CV_64F).var()

if name == "main":
if len(sys.argv) != 2:
sys.exit(1)
image_path = sys.argv[1]
laplacian_value = get_image_laplacian_value(image_path)
print(laplacian_value)




लारवेल नियम बनाएं:



class ImageBlurDetectionRule implements ValidationRule
{
public function validate(string $attribute, mixed $value, Closure $fail): void
{
if ( ! $value instanceof UploadedFile) {
return;
}
// ignore if not image
if ('' !== $value->getPath() && ! in_array($value->guessExtension(), ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'svg', 'webp'])) {
return;
}
// get real path for the file
$path = $value->getRealPath();
$command = escapeshellcmd(config('image.python_path') . " blur_detection.py '{$path}'");
$result = Process::path(base_path('scripts'))->run($command);
if ( ! $result->successful()) {
return;
}
if (trim($result->output()) $fail(__('Blur image are not accepted. Please make sure your :attribute image is clearly visible.'));
}
}
}




यह काम किस प्रकार करता है

धुंधलेपन का पता लगाने के लिए पायथन स्क्रिप्ट के साथ लारवेल का एकीकरण सहज तरीके से काम करता है, जो छवि गुणवत्ता सुनिश्चित करने के लिए एक परिष्कृत लेकिन सीधा दृष्टिकोण प्रदान करता है। यहां बताया गया है कि प्रक्रिया कैसे सामने आती है:

छवि अपलोड करें

जब कोई उपयोगकर्ता लारवेल एप्लिकेशन पर एक छवि अपलोड करता है, तो कस्टम सत्यापन नियम (इमेजब्लरडिटेक्शनरूल) ट्रिगर हो जाता है।

सत्यापन नियम निष्पादन

यह नियम सबसे पहले इसके एक्सटेंशन को सत्यापित करके जांचता है कि अपलोड की गई फ़ाइल वास्तव में एक छवि है या नहीं। यदि फ़ाइल कोई छवि नहीं है, तो प्रक्रिया यहीं रुक जाती है।

पायथन स्क्रिप्ट मंगलाचरण

यदि फ़ाइल एक छवि है, तो नियम एक पायथन स्क्रिप्ट,lur_detection.py को कॉल करता है। छवि का पथ इस स्क्रिप्ट को कमांड-लाइन तर्क के रूप में पास किया गया है।

पायथन में इमेज प्रोसेसिंग:

  • पायथन स्क्रिप्ट छवि विश्लेषण को संभालने के लिए ओपनसीवी का उपयोग करती है।
  • स्क्रिप्ट छवि को पढ़ती है और इसे ग्रेस्केल में परिवर्तित करती है। यह सरलीकरण रंग की जटिलता के बिना अधिक सरल विश्लेषण की अनुमति देता है।
  • इसके बाद यह लैप्लासियन ऑपरेटर को ग्रेस्केल छवि पर लागू करता है। लाप्लासियन ऑपरेटर एक गणितीय उपकरण है जो तीव्र तीव्रता परिवर्तन के क्षेत्रों को उजागर करता है, जो आम तौर पर एक छवि में किनारे होते हैं। धुंधली छवियों में कम और कम परिभाषित किनारे होते हैं, जिसके परिणामस्वरूप लाप्लासियन का विचरण कम होता है।

धुंधलापन मापन

स्क्रिप्ट लाप्लासियन के विचरण की गणना करती है, जो छवि की तीक्ष्णता को मापने का काम करती है। निचला विचरण धुंधली छवि को इंगित करता है।

परिणाम मूल्यांकन:

  • स्क्रिप्ट लाप्लासियन विचरण को संख्यात्मक मान के रूप में आउटपुट करती है।
  • लारवेल में, सत्यापन नियम इस आउटपुट को कैप्चर करता है और जांचता है कि मान पूर्वनिर्धारित सीमा से नीचे आता है या नहीं। यह सीमा निर्धारित करती है कि कोई छवि पर्याप्त तीव्र मानी जाएगी या नहीं।

सत्यापन प्रतिक्रिया

यदि छवि बहुत धुंधली है (उदा: लाप्लासियन भिन्नता सीमा से नीचे है), सत्यापन नियम विफल हो जाता है और उपयोगकर्ता को एक संदेश प्राप्त होता है जो दर्शाता है कि छवि धुंधली है और इसकी जांच की जानी चाहिए।

उपयोगकर्ता अनुभव में वृद्धि

निम्न-गुणवत्ता, धुंधली छवियों के अपलोड को रोककर, यह समाधान समग्र उपयोगकर्ता अनुभव को बढ़ाता है। उपयोगकर्ताओं को केवल स्पष्ट, उच्च-गुणवत्ता वाली छवियां अपलोड करने के लिए प्रेरित किया जाता है, जो एप्लिकेशन के दृश्य मानक को बनाए रखता है।


यह प्रक्रिया अत्यधिक अनुकूलन योग्य है। डेवलपर्स अपने एप्लिकेशन की विशिष्ट आवश्यकताओं के अनुसार धुंधलापन की सीमा को समायोजित कर सकते हैं। ध्यान दें, सीमा आपके अवलोकन पर आधारित है। अग्रिम उपयोग के लिए, सीमा निर्धारित करने के लिए एमएल की आवश्यकता हो सकती है। इसके अलावा, लारवेल के भीतर पायथन का एकीकरण अधिक उन्नत छवि प्रसंस्करण तकनीकों में और विस्तार की अनुमति देता है, जो छवि गुणवत्ता के प्रबंधन के लिए एक लचीला और मजबूत समाधान प्रदान करता है।

व्यावहारिक अनुप्रयोग

इस कार्यक्षमता को आपके लारवेल एप्लिकेशन में शामिल करने से निम्न-गुणवत्ता वाली छवियों को अपलोड होने से रोककर उपयोगकर्ता अनुभव में वृद्धि होती है। यह उन परिदृश्यों में विशेष रूप से उपयोगी है जहां छवि स्पष्टता महत्वपूर्ण है, जैसे ऑनलाइन पोर्टफोलियो, उत्पाद कैटलॉग, या उपयोगकर्ता प्रोफ़ाइल चित्र।

अनुकूलन और लचीलापन

धुंधलेपन की सीमा को विशिष्ट आवश्यकताओं के अनुसार समायोजित किया जा सकता है। इसके अतिरिक्त, लारवेल के भीतर पायथन का एकीकरण आवश्यकता पड़ने पर अधिक उन्नत छवि प्रसंस्करण तकनीकों को शामिल करने के लिए लचीलापन प्रदान करता है।

निष्कर्ष

धुंधली छवियों का पता लगाने के लिए लारवेल और पायथन का संयोजन एक शक्तिशाली समाधान है। यह न केवल आपके एप्लिकेशन की दृश्य गुणवत्ता सुनिश्चित करता है बल्कि समग्र उपयोगकर्ता अनुभव को भी बढ़ाता है। इस दृष्टिकोण के साथ, डेवलपर्स मीडिया सामग्री के लिए उच्च मानक बनाए रख सकते हैं, और अधिक परिष्कृत और पेशेवर ऑनलाइन उपस्थिति में योगदान दे सकते हैं।


क्या आपने इस समाधान को अपने लारवेल प्रोजेक्ट में लागू करने का प्रयास किया है? अपने अनुभव और प्राप्त जानकारी नीचे टिप्पणियों में साझा करें। आइए मिलकर वेब विकास के मानकों को ऊंचा उठाना जारी रखें!

विज्ञप्ति वक्तव्य इस लेख को पुन: प्रस्तुत किया गया है: https://dev.to/afiqiqmal/blurry-image-detection-in-taravel-4d8d?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3