অধ্যায়Phase 2 · কোর ইমেজ প্রসেসিং
2.4 12 মিনিট পড়া

Gaussian, Median, Bilateral Blur

Noise কমানোর কৌশল।

🎬 গল্প দিয়ে শুরু
কম আলোয় তোলা ছবি দানা-দানা (noise) — কিন্তু blur করলেই detail মুছে যায়। তিনটি smart blur জানলে আপনি যেকোনো noisy ছবি বাঁচাতে পারবেন — Gaussian, Median, Bilateral

১. Gaussian Blur — সবচেয়ে জনপ্রিয়

কেন্দ্রের pixel বেশি weight পায়, দূরের কম। ফলে natural blur হয়।

python
import cv2

img = cv2.imread("noisy.jpg")
g1 = cv2.GaussianBlur(img, (5,5),   sigmaX=1)
g2 = cv2.GaussianBlur(img, (15,15), sigmaX=5)
kernel size oddদ হতে হবে
(3,3), (5,5), (7,7) — odd size, কারণ একটি স্পষ্ট কেন্দ্র দরকার। sigma = 0 দিলে OpenCV নিজেই size থেকে হিসাব করে।

২. Median Blur — salt & pepper killer

প্রতিটি pixel-কে তার চারপাশের pixel-দের median দিয়ে replace করে। Outlier (সাদা/কালো দাগ) সম্পূর্ণ মুছে যায়।

python
import cv2

img = cv2.imread("sp_noise.jpg")
clean = cv2.medianBlur(img, 5)
কখন median?
Old scanned document, security camera-এ pixel-level dot noise, satellite image — median অসাধারণ কাজ করে।

৩. Bilateral Filter — edge রেখে blur

সাধারণ blur edge-ও ঝাপসা করে। Bilateral filter দুটি weight বিবেচনা করে — (১) দূরত্ব, (২) color difference। একই color-এর pixel-ই শুধু একে অপরকে blur করে। ফলে edge অক্ষুণ্ণ — perfect for skin smoothing।

python
import cv2

img = cv2.imread("portrait.jpg")
smooth = cv2.bilateralFilter(img, d=9, sigmaColor=75, sigmaSpace=75)
cv2.imwrite("skin_smooth.jpg", smooth)
Slow!
Bilateral computationally expensive — real-time video-তে diameter ছোট রাখুন (d=5) অথবা downscale করে process করুন।

তুলনামূলক

FilterEdge রাখে?Best forSpeed
Gaussianনা (smooth করে)General blur, pre-processingদ্রুত
MedianমোটামুটিSalt & pepper noiseমাঝারি
Bilateralহ্যাঁSkin, cartoon, edge-aware smoothingধীর
প্র্যাকটিস টাস্ক
  1. একটি ছবিতে নিজে np.random দিয়ে salt-pepper noise যোগ করুন, তিন filter দিয়ে compare করুন।
  2. একটি portrait-এ bilateral দিয়ে skin smooth করে নিজের mini “beauty filter” বানান।
  3. Gaussian + threshold combo দিয়ে document image পরিষ্কার করুন।

সারসংক্ষেপ

  • Gaussian = সাধারণ smoothing; pre-processing-এর default।
  • Median = dot/spike noise removal-এ অপ্রতিদ্বন্দ্বী।
  • Bilateral = edge রেখে blur — slow কিন্তু সুন্দর।
  • সঠিক filter নির্ভর করে noise-এর ধরনের উপর।