Na podstawie this question i this one Myślałem, że "imfilter" i "conv2" powinny mieć takie same wyniki. Ale spróbuj tego kodu, zobaczysz różnice. Jaki jest problem?różnych wyników przy użyciu imfilter i conv2
I = imread('tire.tif');
fil=[1 2 3;4 5 6;7 8 9];
out1=conv2(double(I),fil,'same');
out2=uint8(out1);
out3=imfilter(I,fil,'same');
Dzięki @Hugh Nolan. Myślę, że powinieneś zamienić "zapisz" na "to samo". i jedno pytanie powstało. Widzisz w [to pytanie] (http://stackoverflow.com/questions/10672184/implementing-imfilter-in-matlab) [petrichor] (http://stackoverflow.com/users/198428/petrichor) nie użył 'conv', ale jego odpowiedź została zaakceptowana przez osobę pytającą !!! – sepideh
Jeśli jesteś zaznajomiony z przetwarzaniem obrazu, będziesz wiedział, że przestrzenne filtry liniowe są w rzeczywistości maskami splotowymi. Jednak domyślną funkcją matlab dla funkcji, która stosuje liniowe filtry przestrzenne, jest korelacja. Studiowałem to teraz w dokumentacji !!!!!!!!!!!!! – sepideh
Dzięki, poprawiono literówkę. W opublikowanym linku użyty filtr jest symetryczny, więc dane wyjściowe będą takie same. Możesz także przerzucić filtr zamiast obrazu, jak wspomniano w tej odpowiedzi. –