Hi..i am trying to use the function "blockproc" for histogram equalization of an image blockwise...but i am gettin an error....

2 views (last 30 days)
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);

Accepted Answer

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

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!