how to remove four black frame of image

Hi All,
I have an image and I want to remove four black frame of its corners without to remain any black pixel(i.e skin only ) in the image,please could any one explain to me using Matlab code how to do that without cropping ,using masking? thanks in advance.

2 Comments

hamed abdulaziz
hamed abdulaziz on 13 Jan 2014
Moved: DGM on 13 Feb 2023
hamed abdulaziz
hamed abdulaziz on 13 Jan 2014
Moved: DGM on 13 Feb 2023
the image after resizing

Sign in to comment.

Answers (1)

If you take an image of a white scene, then you can divide your image by that to reduced or eliminate the vignetting.

14 Comments

Image Analyst: nice new icon,I downloaded this image and others from a data bast from medical site on the internet,and I want to segment the lesion in it for diagnosis,so that could help again, thank you in advance.
Image Analyst,I am waiting your answer
Can you just take the blue channel and threshold it? Or, use the delta E app in my File Exchange. Or run a texture filter on it like stdfilt() or entropyfilt() and then threshold. Or else look for published algorithms here: http://iris.usc.edu/Vision-Notes/bibliography/contents.html
I wrote this piece of code:
Image1 = imread('d:\10.bmp');
blue=Image1(:,:,3);
level=graythresh(blue);
bw=im2bw(blue,level);
figure, imshow(bw);
but I get this image
hamed abdulaziz
hamed abdulaziz on 13 Jan 2014
Moved: DGM on 13 Feb 2023
then I tried
Image1 = imread('d:\10.bmp');
j=entropyfilt(Image1);
level=graythresh(j);
bw=im2bw(j,level);
figure, imshow(bw);
but no reasonable result!
hamed abdulaziz
hamed abdulaziz on 13 Jan 2014
Moved: DGM on 13 Feb 2023
Image Analyst,I am waiting your pretty answers for difficult questions as we are accustomed.
I'm at work, doing my real job. I'm not a paid Mathworker who helps people in this forum all day. And I'm sure it's going to be a lot more complicated than just some 3-line piece of code.
I am sorry to bother you ,I wish to you more and more of success in your job because you are smart person,and if you have a moment of the time,I am waiting your answer. Best regards
Try inverting the binary image, then do a hole fill, then extract the biggest blob (see my code for that attached). You might also try activecontour() - a demo for activecontour is also attached.
hamed abdulaziz
hamed abdulaziz on 14 Jan 2014
Moved: DGM on 13 Feb 2023
Thank you very much,I tried inverting the binary image, then did a hole fill, then extract the biggest blob using activecontour_demo ,I got the below result but no lesion only please guide me the modified activecontour_demo is also attached for reviewing if you have a time?
Image Analyst
Image Analyst on 14 Jan 2014
Moved: DGM on 13 Feb 2023
See my attached code.
hamed abdulaziz
hamed abdulaziz on 16 Jan 2014
Moved: DGM on 13 Feb 2023
Image Analyst : Thank you very much it is so useful code and excellent work.

Sign in to comment.

Asked:

on 13 Jan 2014

Moved:

DGM
on 13 Feb 2023

Community Treasure Hunt

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

Start Hunting!