MATLAB: Hi..i am trying to use the function “blockproc” for histogram equalization of an image blockwise…but i am gettin an error….

3blockprocnarginchk(1

a = imread('C:\Users\Public\Pictures\Sample Pictures\image14.jpg');
a = rgb2gray(a);
b = blockproc(a,[8,8],histeq);
Error using histeq (line 64)
Not enough input arguments.
%%this code was generated by the matlab where error was detected
narginchk(1,3);
NPTS = 256;
isIntensityImage = false;
if nargin == 1
%HISTEQ(I)
validateattributes(a,{'uint8','uint16','double','int16','single'}, ...
{'nonsparse','2d'}, mfilename,'I',1);

Best Answer

fun = @(block_struct) histeq(block_struct.data)
b = blockproc(a,[8,8],fun);
3rd input to blockproc must be a function handle.