کانولوشن و کرولیشن دو بعدی

کانولوشن و کرولیشن دو بعدی

Image processing
پردازش تصویر حوزه فرکانس تصویر حوزه مکانی تصویر شبکه کانولوشنی

کانولوشن و کرولیشن دو بعدی

مقدمه‌ای بر پردازش تصویر

پردازش تصویر یکی از حوزه‌های کلیدی در علوم کامپیوتر، مهندسی برق، و هوش مصنوعی است که به تحلیل، اصلاح، و استخراج اطلاعات از تصاویر دیجیتال می‌پردازد. در این حوزه، عملیات ریاضی مانند کانولوشن و کرولیشن دوبعدی برای اعمال فیلترها، تشخیص الگوها، و بهبود کیفیت تصاویر استفاده می‌شوند. به دلیل ماهیت دوبعدی تصاویر، این عملیات باید در قالب ماتریس‌های دوبعدی بررسی شوند. در این مقاله، مفاهیم کانولوشن و کرولیشن دوبعدی را توضیح داده و با مثال‌های عملی در متلب، کاربردهای آن‌ها را نشان می‌دهیم.

کرولیشن دو بعدی

$$R_{xy}(m,n) = \sum_{i=-k}^{k} \sum_{j=-l}^{l} I(m+i, n+j) \cdot K(i,j)$$

تفاوت جزیی در کرولیشن و کانولوشن وجود دارد اما اصول آن دو بر مبنای ضرب نقطه ای ماسک انتخابی (فیلتر) بر المان های تصویر و سپس جمع آن ها می باشد.

تابع کرولیشن دقیقا مشابه شکل زیر عمل می کند یعنی ماسک مربوطه پس از اعمال به قسمتی از تصویر و مجموع عناصری که از ضرب ارایه به ارایه آن بر تصویر بدست آمده است، یک واحد شیف افقی ( عمودی) پیدا می کند تا تمامی سطر ها و ستون های ماتریس تصویر را پوشش دهد و مقادیر جایگزین برای تک تک ارایه های ماتریس تولید شود.

کانولوشن

کانولوشن دو بعدی

کانولوشن دوبعدی عملیاتی مشابه کرولیشن است، با این تفاوت که کرنل قبل از اعمال، 180 درجه چرخانده می‌شود. این عملیات معادل ضرب در حوزه فرکانس است و برای مدل‌سازی پاسخ یک سیستم (مانند فیلتر) به تصویر ورودی استفاده می‌شود.

$$R_{xy}(m,n) = \sum_{i=-k}^{k} \sum_{j=-l}^{l} I(m+i, n+j) \cdot K(i,j)$$

نکته مهم: تقارن کرنل

در متلب روش های مختلفی برای انجا کانولوشن و کرولیشن دو بعدی وجود دارد. که تابع imfilter از رایج ترین این توابع می باشد و corr یا conv به عنوان ورودی تابع گرفته و تعیین کننده نحوه عمل فیلترینگ به صورت کانولوشن و کرولیشن می باشد.

clc 
clear all 
close all 
%% convolution-vs-correlation
I = imread('cameraman.tif');
kernel = 1/9.*ones(3); %mask
con = imfilter(I,kernel,'conv'); %convolution
cor = imfilter(I,kernel,'corr'); %correlation
subplot 121; imshow (cor)
title('correlation')
subplot 122; imshow (con)
title('convolution')
corr and conv in matlab

فکر خود را اینجا بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

زمینه‌های نمایش داده شده را انتخاب نمایید. بقیه مخفی خواهند شد. برای تنظیم مجدد ترتیب، بکشید و رها کنید.
  • تصویر
  • شناسۀ محصول
  • امتیاز
  • قيمت
  • موجودی
  • دسترسی
  • افزودن به سبد خرید
  • توضیح
  • محتوا
  • وزن
  • اندازه
  • اطلاعات اضافی
برای مخفی‌کردن نوار مقایسه، بیرون را کلیک نمایید
مقایسه