Re: [問題] 在 matlab 上做圖片摺積已回收
※ 引述《sorkayi (尋找奶昔)》之銘言:
: 現在是想要在 matlab 上實作一個 摺積的功能
: 但是實在是找了很久 還是沒有看到摺積的東西
: 流程大概是
: 讀入一張影像
: 轉成 頻率 後 做摺積
: 請問 matlab 上有函式嗎
: 還是要手動@@
頻率域作convolution(捲積分) = 時域相乘
不過 通常都是 "時域要做convolution" 轉到 "頻率域做相乘"
(不過可能你有特別用意~影像後處理 萬萬種~)
因為相乘比做捲積分快多了
至於邊邊會多出來
400*400 變成 403*403 是因為 你用的4*4的kernal
matlab help conv2
就有
A = rand(3);
B = rand(4);
C = conv2(A,B) % C is 6-by-6
C =
0.1838 0.2374 0.9727 1.2644 0.7890 0.3750
0.6929 1.2019 1.5499 2.1733 1.3325 0.3096
0.5627 1.5150 2.3576 3.1553 2.5373 1.0602
0.9986 2.3811 3.4302 3.5128 2.4489 0.8462
0.3089 1.1419 1.8229 2.1561 1.6364 0.6841
0.3287 0.9347 1.6464 1.7928 1.2422 0.5423
只要把多出來的邊框去除 還是可以跟你原來的影像作比較
如
a=phantom(128);
b=conv2(a,ones(4));
c=b( (4/2) : (size(b,1) - (4/2)) , (4/2) : (size(b,1) - (4/2)) );
也就是 把影像中心抓出來 多的邊邊去掉
--
希望有幫助~
這可以在這邊討論
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.25.118.80
推
01/24 00:34, , 1F
01/24 00:34, 1F
推
04/09 20:26, , 2F
04/09 20:26, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):