Borrar filtros
Borrar filtros

neighbour pixel operation

1 visualización (últimos 30 días)
javeed miyandad
javeed miyandad el 10 de Abr. de 2011
sir i have a white and black(BW) (binary)image of size (i X j).i need image to be scanned from left to right, up and down and the scan area is 3X3.if one of 8-neighbour pixel is white (255).then center point should becomes white (255). sir please help in coding
sir i am able to divide image into blocks of size 3X3
BW=imagen;
BW2 = zeros(3 * ceil(size(BW)/3));
BW2(1:size(BW,1),1:size(BW,2)) = BW;
BW = BW2;
r = mat2cell(BW, 3 * ones(1,size(BW,1)/3), 3 * ones(1,size(BW,2)/3));
then i am trying with B(2,2) = max(r(2,2),255 * any(r(:)==255)); %for (2 2)block
but i am geting error
??? Function 'eq' is not defined for values of class 'cell'.
Error in ==> eq at 18 [varargout{1:nargout}] = builtin('eq', varargin{:});
sir please help in coading

Respuesta aceptada

Oleg Komarov
Oleg Komarov el 10 de Abr. de 2011
Why did you group in cells in thr first place?
Referencing the content of a cell should be done with curly brackets:
r{1,1}
  4 comentarios
javeed miyandad
javeed miyandad el 10 de Abr. de 2011
sorry sir i am not geting
plz can u give another code
Oleg Komarov
Oleg Komarov el 10 de Abr. de 2011
B{2,2} = max(r{2,2}, 255*cellfun(@(x) any(x == 255),x));

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by