Yet there are 2 issues:
- It is only available to those who purchased Image PRocessing Toolbox.
- It creates the matrix for full convolution shape only.
I implemented the matrix form for imfiter() in Generate the Matrix Form of 2D Convolution Kernel. It was written in simple form (No vectorization tricks) for clarity and simplicity for thos who want to learn.
What I'm after is doing somthing similar for Convolution Matrices for the different shapes: full, same, valid.
Namely a function with the following form:
function [ mK ] = CreateImageConvMtx( mH, numRows, numCols, convShape )%UNTITLED6 Summary of this function goes here
% Detailed explanation goes here
CONVOLUTION_SHAPE_FULL = 1;CONVOLUTION_SHAPE_SAME = 2;CONVOLUTION_SHAPE_VALID = 3;switch(convShape) case(CONVOLUTION_SHAPE_FULL) % Code for the 'full' case
case(CONVOLUTION_SHAPE_SAME) % Code for the 'same' case
case(CONVOLUTION_SHAPE_VALID) % Code for the 'valid' case
endend
I would be happy of someone could assist with that.
Again, prefer clarity over performance.
Thank You.
Best Answer