OpenCV इमेज प्रोसेसिंग के लिए सबसे अच्छे पायथन पैकेज में से एक है। साथ ही जैसे सिग्नल से जुड़ा शोर होता है, छवियों में भी मुख्य रूप से स्रोत (कैमरा सेंसर) से विभिन्न प्रकार के शोर होते हैं। पायथन ओपनसीवी पैकेज इमेज स्मूथिंग के तरीके प्रदान करता है जिसे ब्लरिंग भी कहा जाता है। यही हम इस खंड में करने जा रहे हैं। छवि को धुंधला करने के लिए गॉसियन फ़िल्टर (Gf) का उपयोग करना सामान्य तकनीकों में से एक है। इसके साथ, छवियों में किसी भी तेज किनारों को बहुत अधिक धुंधलापन कम करते हुए चिकना किया जाता है।
सिंटैक्स
cv.GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType=BORDER_DEFAULT]]] )
कहां—
-
स्रोत - इनपुट छवि
-
डीएसटी - आउटपुट इमेज
-
ksize - गाऊसी कर्नेल आकार [ऊंचाई चौड़ाई]। यदि ksize को [0 0] पर सेट किया जाता है, तो ksize की गणना सिग्मा मानों से की जाती है।
-
सिग्माएक्स - एक्स-अक्ष (क्षैतिज दिशा) के साथ कर्नेल मानक विचलन।
-
सिग्मावाई - Y-अक्ष (ऊर्ध्वाधर दिशा) के साथ कर्नेल मानक विचलन।
-
सीमा प्रकार - छवि सीमाओं को निर्दिष्ट करता है जबकि छवि सीमाओं पर कर्नेल लागू होता है। कुछ संभावित मान हैं:cv.BORDER_CONSTANT, cv.BORDER_REFLICATE, cv.BORDER_REFLECT, cv.BORDER_WRAP, cv.BORDER_DEFAULT, cv.BORDER_ISOLATED, cv.BORDER_TRANSPARENT आदि।
नीचे OpenCV पैकेज का उपयोग करके गॉसियन छवि को धुंधला करने का कार्यक्रम है।
import cv2 import numpy # read image src = cv2.imread('LionKing.jpeg', cv2.IMREAD_UNCHANGED) # apply guassian blur on src image dst = cv2.GaussianBlur(src,(3,3),cv2.BORDER_DEFAULT) # display input and output image cv2.imshow("Gaussian Blur",numpy.hstack((src, dst))) cv2.waitKey(0) # waits until a key is pressed cv2.destroyAllWindows() # destroys the window showing image
परिणाम
दो छवियां लगभग समान (मूल/धुंधला) दिखती हैं। अब हम गिरी का आकार बढ़ाते हैं और परिणाम देखते हैं।
dst = cv2.GaussianBlur(src,(13,13),cv2.BORDER_DEFAULT)
अब दो छवियों के बीच एक स्पष्ट अंतर है।