लेख 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 cv2def 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 को कॉल करता है। छवि का पथ इस स्क्रिप्ट को कमांड-लाइन तर्क के रूप में पास किया गया है।
स्क्रिप्ट लाप्लासियन के विचरण की गणना करती है, जो छवि की तीक्ष्णता को मापने का काम करती है। निचला विचरण धुंधली छवि को इंगित करता है।
यदि छवि बहुत धुंधली है (उदा: लाप्लासियन भिन्नता सीमा से नीचे है), सत्यापन नियम विफल हो जाता है और उपयोगकर्ता को एक संदेश प्राप्त होता है जो दर्शाता है कि छवि धुंधली है और इसकी जांच की जानी चाहिए।
निम्न-गुणवत्ता, धुंधली छवियों के अपलोड को रोककर, यह समाधान समग्र उपयोगकर्ता अनुभव को बढ़ाता है। उपयोगकर्ताओं को केवल स्पष्ट, उच्च-गुणवत्ता वाली छवियां अपलोड करने के लिए प्रेरित किया जाता है, जो एप्लिकेशन के दृश्य मानक को बनाए रखता है।
यह प्रक्रिया अत्यधिक अनुकूलन योग्य है। डेवलपर्स अपने एप्लिकेशन की विशिष्ट आवश्यकताओं के अनुसार धुंधलापन की सीमा को समायोजित कर सकते हैं। ध्यान दें, सीमा आपके अवलोकन पर आधारित है। अग्रिम उपयोग के लिए, सीमा निर्धारित करने के लिए एमएल की आवश्यकता हो सकती है। इसके अलावा, लारवेल के भीतर पायथन का एकीकरण अधिक उन्नत छवि प्रसंस्करण तकनीकों में और विस्तार की अनुमति देता है, जो छवि गुणवत्ता के प्रबंधन के लिए एक लचीला और मजबूत समाधान प्रदान करता है।
इस कार्यक्षमता को आपके लारवेल एप्लिकेशन में शामिल करने से निम्न-गुणवत्ता वाली छवियों को अपलोड होने से रोककर उपयोगकर्ता अनुभव में वृद्धि होती है। यह उन परिदृश्यों में विशेष रूप से उपयोगी है जहां छवि स्पष्टता महत्वपूर्ण है, जैसे ऑनलाइन पोर्टफोलियो, उत्पाद कैटलॉग, या उपयोगकर्ता प्रोफ़ाइल चित्र।
धुंधलेपन की सीमा को विशिष्ट आवश्यकताओं के अनुसार समायोजित किया जा सकता है। इसके अतिरिक्त, लारवेल के भीतर पायथन का एकीकरण आवश्यकता पड़ने पर अधिक उन्नत छवि प्रसंस्करण तकनीकों को शामिल करने के लिए लचीलापन प्रदान करता है।
धुंधली छवियों का पता लगाने के लिए लारवेल और पायथन का संयोजन एक शक्तिशाली समाधान है। यह न केवल आपके एप्लिकेशन की दृश्य गुणवत्ता सुनिश्चित करता है बल्कि समग्र उपयोगकर्ता अनुभव को भी बढ़ाता है। इस दृष्टिकोण के साथ, डेवलपर्स मीडिया सामग्री के लिए उच्च मानक बनाए रख सकते हैं, और अधिक परिष्कृत और पेशेवर ऑनलाइन उपस्थिति में योगदान दे सकते हैं।
क्या आपने इस समाधान को अपने लारवेल प्रोजेक्ट में लागू करने का प्रयास किया है? अपने अनुभव और प्राप्त जानकारी नीचे टिप्पणियों में साझा करें। आइए मिलकर वेब विकास के मानकों को ऊंचा उठाना जारी रखें!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3