how can i find pixels of image's border

5 visualizaciones (últimos 30 días)
bay rem
bay rem el 28 de Dic. de 2015
Respondida: harjeet singh el 28 de Dic. de 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 ^^

Respuesta aceptada

harjeet singh
harjeet singh el 28 de Dic. de 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)

Más respuestas (1)

Image Analyst
Image Analyst el 28 de Dic. de 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, :) = [];

Categorías

Más información sobre Image Processing Toolbox en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by