Remove a region in Image

5 views (last 30 days)
Kev
Kev on 16 Dec 2013
Commented: Image Analyst on 17 Dec 2013
Hi,
I'm looking to remove a region from images. For example, I'd like to use freehand as shown in the image and delete that portion of the image, i.e., turn it in to white because some unpredictable regions like that are troublesome. I'd like to use it for as many time as necessary. I looked into roi, but it turns entire image black and the selected region white. Also, how can you make sure freehand is enclosed. Would you require both ends of the freehand going inside, so you're always sure it is enclosed. Will freehand be always enclosed? Looks like there is a small gap between two ends.
Thanks for the help!

Accepted Answer

Image Analyst
Image Analyst on 16 Dec 2013
Edited: Image Analyst on 16 Dec 2013
That is exactly what my freehand masking demo does. It's attached below in blue.
  13 Comments
Kev
Kev on 17 Dec 2013
Edited: Kev on 17 Dec 2013
ImageAnalyst,
Can you help with clearing workspace variables? I've set up a push button in the gui to clear variables and only retain the ratio value from calibration. I'm trying to clear the gui workspace because with the region removal like above, I'm unable to to remove regions in the second picture (second trial, after one measurement is done). It looks like variables need to be cleared and I'd like to clear all the variables (except ratio value) for the second picture.
function clearscreen_Callback(hObject, eventdata, handles)
global xy binary h burnedImage ratio_value
%clearvars xy binary h burnedImage
evalin('base','clear all');
cla;
I get following error on second trial:
Error using imroi/parseInputsForCreateMask (line 83)
Ambiguous syntax. Associated axes contains more than one image. Specify image handle
as input argument to resolve ambiguity. Type "help imroi/createMask" for more
information.
Error in imroi/createMask (line 245)
[obj,h_im] = parseInputsForCreateMask(varargin{:});
Error in FibGUI>blockremover_Callback (line 121)
binary = h.createMask();
Error in gui_mainfcn (line 96)
feval(varargin{:});
Error in FibGUI (line 42)
gui_mainfcn(gui_State, varargin{:});
Error in
@(hObject,eventdata)FibGUI('blockremover_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating uicontrol Callback
Image Analyst
Image Analyst on 17 Dec 2013
Don't use clear or clearvars or clearall in a GUI, and don't use evalin() - there's never a need to do that. That is what is causing problems. If your axes have more than one image, then call cla('reset') before you call imshow().

Sign in to comment.

More Answers (0)

Categories

Find more on Image Processing and Computer Vision in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!