Effacer les filtres
Effacer les filtres

neighbour pixel operation

3 vues (au cours des 30 derniers jours)
javeed miyandad
javeed miyandad le 10 Avr 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

Réponse acceptée

Oleg Komarov
Oleg Komarov le 10 Avr 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 commentaires
javeed miyandad
javeed miyandad le 10 Avr 2011
sorry sir i am not geting
plz can u give another code
Oleg Komarov
Oleg Komarov le 10 Avr 2011
B{2,2} = max(r{2,2}, 255*cellfun(@(x) any(x == 255),x));

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by