how can i remove white spaces around this image ?

2 Ansichten (letzte 30 Tage)
Israa Alqaraleh
Israa Alqaraleh am 26 Jun. 2017
Kommentiert: Image Analyst am 27 Jun. 2017

Akzeptierte Antwort

Gopichandh Danala
Gopichandh Danala am 26 Jun. 2017
img = imread('whiteBG.jpg');
img = rgb2gray(img);
figure, imshow(img)
% count the pixels of each bin
[counts, bins] = imhist(img);
[M, I] = max(counts);
tempImg = img;
% we know that max pixels in image are white so change all pxiels in that
% bin and above to zero
tempImg(img >= bins(I)-1) = 0;
figure, imshow(tempImg)
% clear some traces or blobs having area less than 30 pixels ...
% (can change according to requirement)
BW = bwareaopen(tempImg,30);
figure, imshow(BW)
  5 Kommentare
Israa Alqaraleh
Israa Alqaraleh am 27 Jun. 2017
i will try it thank you
Israa Alqaraleh
Israa Alqaraleh am 27 Jun. 2017
the results good for this image but when I applied it on another image it didn't work will !

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 27 Jun. 2017
It looks reasonably well cropped right now. Why do you need to chop off a few pixels more? What's the need? I think you can do what you need to do without cropping to the bounding box, so why bother?
  5 Kommentare
Israa Alqaraleh
Israa Alqaraleh am 27 Jun. 2017
I tried to use hough before i think I have a problem using it .
clc ; close all ; img = imread('ko.jpg'); img = rgb2gray(img); % count the pixels of each bin [counts, bins] = imhist(img); [M, I] = max(counts); tempImg = img; % we know that max pixels in image are white so change all pxiels in that % bin and above to zero tempImg(img >= bins(I)-1) = 0; figure(1), imshow(tempImg) % clear some traces or blobs having area less than 30 pixels ... % (can change according to requirement) BW = bwareaopen(tempImg,30); figure(2), imshow(BW);
%% rotate the bwf image by theta angle using hough transform se = strel('line',30,0); bb1 = imdilate(BW,se); bb1= bwmorph(bb1,'thin',Inf); [H,T,R] = hough(bb1,'RhoResolution',0.5,'ThetaResolution',0.5); P = houghpeaks(H,1); x = T(P(:,2)); y = R(P(:,1)); lines = houghlines(bb1,T,R,P,'FillGap',5,'MinLength',20);
what next ?
Image Analyst
Image Analyst am 27 Jun. 2017
I already told you what to do next if that didn't work: "If that doesn't work you can......". See my above comment.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by