MATLAB: How to convert the digit image into (3*2) blocks where I can check vertical and horizontal edges ? Actually, I need to check if vertical or horizontal edges exists in each block? If exists I need to return binary value 1.

horizontal and vertical edge check

The sample digit image is attached.

Best Answer

A = imread('image 2.png') ;
m = 3 ; n = 2 ;
[nx,ny] = size(A) ;
if mod(nx,3)
nx = nx+(3-mod(nx,3)) ;
end
if mod(ny,2)
ny = ny+(2-mod(ny,2)) ;
end
A = imresize(A,[nx ny]) ;
l = size (A) ./ [m n];
T = mat2cell (A, repmat (m, l(1), 1), repmat (n, l (2), 1))