Problem with col2im () function
显示 更早的评论
Hello
I have a problem regarding the col2im function !
I have used the the im2col () with the property 'sliding' and a 5x5 kernel and so I have a 25 x 1000 matrix now !
I need to transform it back to an image but as I read the col2im() does not allows input to be a matrix (strangely) ! Can someone explain me why I have the following error !
"To RESHAPE the number of elements must not change."
My input matrix (im2col) is exactly the same size as the output (col2im). I read about the advice not to use this function but know have implemented it in a large workflow and I would rather not change it !
I just need to reconstruct my image.
Thanks in advance
回答(1 个)
Image Analyst
2013-9-15
0 个投票
This function is rarely used - probably because it's so confusing and rarely needed even if someone did understand it. In my mind, they should be deprecated. If you're using a sliding linear filter, why not just use the much simpler imfilter() or conv2()?
4 个评论
Dimitris M
2013-9-15
Image Analyst
2013-9-15
I still don't see why you need that function. I wouldn't use it. In fact MATLAB has a rank filter like you're doing. So if you have a 3x3 window, you'd have 8 absolute differences with the center pixels. You can do this with 8 calls to conv2(). But what do you do then with the 8 absolute values of the 8 differences? What gets assigned to an output image?
Dimitris M
2013-9-15
Image Analyst
2013-9-15
I still say it's an unnecessary and obsolete function. If you want to do non-linear filter, as you have said, then the function to use is nlfilter().
类别
在 帮助中心 和 File Exchange 中查找有关 Image Segmentation and Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!