how can i find pixels of image's border
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
bay rem
am 28 Dez. 2015
Beantwortet: harjeet singh
am 28 Dez. 2015
i have a set of images and i would like to test if there is a a black border on limits on the image, such this one:
i will appreciate any help ,thank you ^^
0 Kommentare
Akzeptierte Antwort
harjeet singh
am 28 Dez. 2015
you may use this code do set the th val according to the boarder noise
clear all
close all
clc
img=imread('images.jpg');
th=10;
a=img(:,:,1)>th & img(:,:,2)>th & img(:,:,3)>th;
a=bwareaopen(a,5000);
[r,c]=find(a==1);
b=img(min(r):max(r),min(c):max(c),:);
figure(1)
imshow(b)
0 Kommentare
Weitere Antworten (1)
Image Analyst
am 28 Dez. 2015
Your image has white columns on the left and right side - did you know that? So there are no all zero rows. To see if all pixels in a row or column are 0, use all():
allZeroColumns = all(grayImage == 0, 1);
allZeroRows = all(grayImage == 0, 2);
These are logical vectors. If you want, you can then use them to remove all zero rows or columns:
grayImage(:, allZeroColumns) = [];
grayImage(allZeroRows, :) = [];
0 Kommentare
Siehe auch
Kategorien
Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!