I want to create a calling function for blockproc, where I obtain the number of connected objects inside each block of the image. B1 is my image, a logical returned after converting my image to black and white based on a threshold. The relevant code is here:
func = @blockfun blockSize = [16 16]; blockyImage8 = blockproc(B1, blockSize, func);
And the function is here:
function x = blockfun(a) CC = bwconncomp(a,8); x = CC.NumObjects; end
I get the error message:
Error using bwconncompExpected input number 1, BW, to be one of these types:logical, double, single, uint8, uint16, uint32, uint64, int8, int16, int32, int64Instead its type was struct.
Any advice?
Best Answer
As its help explains, blockproc supplies a structure to the called function. The fields of the structure are listed in the help. Possibly you want the data field: