1
在Matlab中,我創建了一個帶有fspecial()
的5x5高斯內核。我將內核分配給一個名爲h
的變量。我通過imread()
在圖像中讀取並將圖像分配給一個名爲Im
的變量。爲什麼conv2()返回一個白色圖像而不是過濾圖像?
圖像上有一些隨機噪聲,我的意圖是看我如何消除噪音。現在,我想要將圖像Im
與內核h
進行卷積。我試圖使用conv2()
這個功能:conv2(Im, h);
但事實證明,當我做imshow()
時,我得到一個空的白色圖片。我預計結果是與內核h
卷積後的圖像Im
的模糊版本。
這是我做過什麼:
>> Im = imread('image.jpg');
>> h = fspecial('gaussian', 5, 1.0);
>> C1 = conv2(Im, h);
我試着用其他的圖片相同的過程,我得到一個空的白色畫面,當我做imshow()
了。我做錯了什麼?
試試'imagesc'。此外,Im和C1的內容如何? – 2013-03-12 14:40:05
@Hugues你的意思是'imagesc',對吧? – 2013-03-12 14:44:26
正確的功能是'imfilter'。有了'conv2',你可能需要考慮頻道。 – 2013-03-12 14:45:03