Script skip code and breakpoints

조회 수: 4 (최근 30일)
david holguin
david holguin 2020년 10월 12일
답변: david holguin 2020년 10월 12일
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)

답변 (1개)

david holguin
david holguin 2020년 10월 12일
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.

카테고리

Help CenterFile Exchange에서 Images에 대해 자세히 알아보기

제품


릴리스

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by