MATLAB: How to change pixel value of boundary pixel

image processing

Hi, I need to change the boundary pixel into value ('2') of my binary image, How can I do this?. After that, I need to do some operation on the internal line (junction). Thanks

Best Answer

It won't be binary if you set a value of 2. Binary images are only true/false, or 1/0 if viewing as a number. However if you use an int32, uint8, or double image you can set the edges to 2. Assuming your definition of boundary is the top and bottom lines and the left and right columns, you can do this:
grayImage(:,1) = 2;
grayImage(:,end) = 2;
grayImage(1,:) = 2;
grayImage(end,:) = 2;
If, instead, you want to set the white pixels of the image to 2, assuming you can do this
binaryImage = grayImage > 0; % All white pixels.
grayImage(binaryImage) = 2; % Change from 1 or 255 or whatever, into 2.