Filter löschen
Filter löschen

Script skip code and breakpoints

2 Ansichten (letzte 30 Tage)
david holguin
david holguin am 12 Okt. 2020
Beantwortet: david holguin am 12 Okt. 2020
well i writed the next codes for images. it works well in simple image made in paint. but the moment i use a picture or a image more complex it start skiping part of the code. im using debbuging but it even skip the brakpoints. it could be for a max line text or what could be the reason.
%imagen a color
close all
conteo=0;
imagen=imread('Bofw21.jpg');
figure('Name','Figura original')
imshow(imagen);
conteo=conteo+1;
dimensiones_imagen=ndims(imagen);
if dimensiones_imagen>=2
imagen_a_color=imagen;
histograma_color=imhist(imagen);
figure('Name','Histograma a color');
bar(histograma_color);
conteo=conteo+1;
imagen=rgb2gray(imagen);
figure('Name','Imagen Gris');
imshow(imagen);
conteo=conteo+1;
end
valor_mas_alto=max(imagen);
if valor_mas_alto>=2
histograma_gris=imhist(imagen);
figure('Name','Histograma grises');
bar(histograma_gris);
FiltroPA=[-1 -1 -1;-1 -8 -1;-1 -1 -1]/9;
imagenPa=imfilter(imagen,FiltroPA);
figure('Name','Imagen Filtrada Pasa Alta');
imshow(not(imagenPa));
FiltroLaplaciano=[1 1 1;1 -8 1; 1 1 1];
imagenLapla=imfilter(imagen,FiltroLaplaciano);
figure('Name','Imagen Filtrado Laplaciano')
imshow(not(imagenLapla));
FiltroPB=[4 8 4; 8 16 8; 4 8 4]/64;
for filtrado=1:1:4
imagen=imfilter(imagen,FiltroPB);
end
figure('Name','Imagen Gris Filtrada Pasa Baja');
imshow(imagen);
for contraste=1:1:100
imagen=histeq(imagen);
end
figure('Name','imagen contrastada');
imshow(imagen);
conteo=conteo+1;
[renglon,columna]=size(imagen);
val=1;
divisiones_en_renglon=2;
divisiones_en_columna=4;
valreng=renglon/divisiones_en_renglon;
valcolum=columna/divisiones_en_columna;
division=uint8(zeros(valreng,valcolum,8));
piezas=false(zeros(valreng,valcolum,8));
%division
for divreng=1:1:divisiones_en_renglon
for divcolum=1:1:divisiones_en_columna
r1=divreng*valreng-valreng+1;
r2=divreng*valreng;
c1=valcolum*divcolum-valcolum+1;
c2=valcolum*divcolum;
division(:,:,val)=imagen(r1:r2,c1:c2);
val=val+1;
end
end
for cambio=1:1:8
logicalValue=graythresh(division(:,:,cambio));
piezas(:,:,cambio)=imbinarize(division(:,:,cambio),logicalValue);
end
val=1;
for divreng=1:1:divisiones_en_renglon
for divcolum=1:1:divisiones_en_columna
r1=divreng*valreng-valreng+1;
r2=divreng*valreng;
c1=valcolum*divcolum-valcolum+1;
c2=valcolum*divcolum;
imagen(r1:r2,c1:c2)=piezas(:,:,val);
val=val+1;
end
end
imagen=logical(imagen);
figure('Name','ImagenBinaria')
imshow(imagen);
histobin=imhist(imagen);
figure('Name','Histograma Binario')
bar(histobin);
conteo=conteo+1;
end %end de if
diamante=strel('diamond',6);
imagen=imdilate(imagen,diamante);
figure('Name','Imagen Dilatada')
imshow(imagen)
imnot=not(imagen);
bordes=edge(imnot,'Canny');
figure('Name','Bordes con Canny')
imshow(bordes)

Antworten (1)

david holguin
david holguin am 12 Okt. 2020
already solved. Had an error in the second if statement relating with max value. max was a vector not a single value. Thnaks and sorry if someone tried.

Kategorien

Mehr zu Line Plots finden Sie in Help Center und File Exchange

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by