ওপেনসিভি হল ইমেজ প্রসেসিংয়ের জন্য সেরা পাইথন প্যাকেজগুলির মধ্যে একটি। এছাড়াও যেমন সংকেতগুলি এর সাথে সংযুক্ত শব্দ বহন করে, চিত্রগুলিতেও বিভিন্ন ধরণের শব্দ থাকে মূলত উত্স থেকেই (ক্যামেরা সেন্সর)। পাইথন ওপেনসিভি প্যাকেজ ইমেজ মসৃণ করার উপায় প্রদান করে যাকে ঝাপসাও বলা হয়। এই বিভাগে আমরা কি করতে যাচ্ছি. একটি সাধারণ কৌশল হল ছবি অস্পষ্ট করার জন্য গাউসিয়ান ফিল্টার (Gf) ব্যবহার করা। এটির সাহায্যে, চিত্রের যেকোনো তীক্ষ্ণ প্রান্তগুলিকে মসৃণ করা হয় এবং অত্যধিক অস্পষ্টতা কমিয়ে দেয়৷
সিনট্যাক্স
cv.GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType=BORDER_DEFAULT]]] )
যেখানে-
-
src – ইনপুট ইমেজ
-
dst – আউটপুট ইমেজ
-
কিসাইজ - গাউসিয়ান কার্নেলের আকার [উচ্চতা প্রস্থ]। যদি ksize সেট করা হয় [0 0], তাহলে ksize সিগমা মান থেকে গণনা করা হয়।
-
sigmaX – X-অক্ষ বরাবর কার্নেল স্ট্যান্ডার্ড বিচ্যুতি (অনুভূমিক দিক)।
-
sigmaY – ওয়াই-অক্ষ বরাবর কার্নেল স্ট্যান্ডার্ড বিচ্যুতি (উল্লম্ব দিক)।
-
সীমান্তের ধরন - চিত্রের সীমানায় কার্নেল প্রয়োগ করার সময় iage সীমানা নির্দিষ্ট করে। কিছু সম্ভাব্য মান হল:cv.BORDER_CONSTANT, cv.BORDER_REPLICATE, cv.BORDER_REFLECT, cv.BORDER_WRAP, cv.BORDER_DEFAULT, cv.BORDER_ISOLATED, cv.BORDER_TRANSPARENT ইত্যাদি।
নিচে ওপেনসিভি প্যাকেজ ব্যবহার করে একটি ছবি গাউসিয়ান ব্লার করার প্রোগ্রাম রয়েছে।
import cv2import numpy# read imagesrc =cv2.imread('LionKing.jpeg', cv2.IMREAD_UNCHANGED)# src imagedst =cv2.GaussianBlur(src,(3,3),cv2.FORDER_DE# ডিসপ্লেতে গাসিয়ান ব্লার প্রয়োগ করুন ইনপুট এবং আউটপুট imagecv2.imshow("Gaussian Blur",numpy.hstack((src, dst)))cv2.waitKey(0) # একটি কী চাপা না হওয়া পর্যন্ত অপেক্ষা করেফলাফল
দুটি ছবি দেখতে প্রায় একই রকম (আসল/অস্পষ্ট)। এখন কার্নেলের আকার বাড়াই এবং ফলাফল পর্যবেক্ষণ করি।
dst =cv2.GaussianBlur(src,(13,13),cv2.BORDER_DEFAULT)
এখন দুটি ছবির মধ্যে একটি স্পষ্ট পার্থক্য রয়েছে৷
৷