Skip to content
Snippets Groups Projects
Commit b07b97ca authored by Aylen Ricca's avatar Aylen Ricca
Browse files

proto functions in matlab+opencv

parent 78915107
No related branches found
No related tags found
No related merge requests found
clc
close all
% Connect to a camera
%
camera = cv.VideoCapture(1);
pause(4);
% get Frame
frame = camera.read;
%}
%frame = imread('dd.png');
if (size(frame,1) ~= 0)
% save frame
imwrite(frame, 'frame0.png');
% show frame
figure,
imshow(frame);
patternSize = [7,7];
corners = cv.findChessboardCorners(frame, patternSize);
wind = cv.drawChessboardCorners(frame, patternSize, corners);
% show frame
figure,
imshow(wind);
% save frame
imwrite(wind, 'frame0esq.png');
% muevo corners a otra estructura de datos
sizeV = size(corners,2);
esquinas = zeros(sizeV,2);
for i=1:sizeV
esquinas(i,1) = corners{i}(1);
esquinas(i,2) = corners{i}(2);
end
% muestro de a una en orden qe las veo
%{
e = round(esquinas);
orden = wind;
for i=1:sizeV
orden(e(i,2)-5:e(i,2)+5,e(i,1)-5:e(i,1)+5,:) = 0;
figure,
imshow(orden);
end
%}
% muestro de a una en orden qe las veo
%{
e = round(esquinas);
externas = wind;
externas(e(1,2)-5:e(1,2)+5,e(1,1)-5:e(1,1)+5,:) = 0;
externas(e(7,2)-5:e(7,2)+5,e(7,1)-5:e(7,1)+5,:) = 0;
externas(e(43,2)-5:e(43,2)+5,e(43,1)-5:e(43,1)+5,:) = 0;
externas(e(49,2)-5:e(49,2)+5,e(49,1)-5:e(49,1)+5,:) = 0;
figure,
imshow(externas);
%}
e = round(esquinas);
% distancias, promedio, media
%{
d17 = sqrt((e(1,1)-e(7,1))^2 + (e(1,2)-e(7,2))^2);
d749 = sqrt((e(7,1)-e(49,1))^2 + (e(7,2)-e(49,2))^2);
d143 = sqrt((e(1,1)-e(43,1))^2 + (e(1,2)-e(43,2))^2);
d4349 = sqrt((e(43,1)-e(49,1))^2 + (e(43,2)-e(49,2))^2);
media = round(mean([d17,d749,d143,d4349]));
offset = 2*(media/7);
%}
offset = 48*2;
media = 48*6;
a = [e(1,:);e(7,:);e(43,:);e(49,:)];
b = [ offset,offset ; offset+media,offset ; offset,offset+media ; offset+media,offset+media ];
matrizTransformada = cv.getPerspectiveTransform(a,b);
transformada = cv.warpPerspective(frame, matrizTransformada,'DSize', [480,480]);
figure,
imshow(transformada);
imwrite(transformada, 'framehomogra.png');
% muestro de a una en orden qe las veo
%{
e = 20:20:180;
cuadricula = transformada;
tablero = zeros(81,2);
for i=1:9
for j=1:9
cuadricula(e(i):e(i),e(j):e(j),:) = 0;
cuadricula(e(i):e(i),e(j):e(j),3) = 255;
tablero((i-1)*9+j,1) = e(i);
tablero((i-1)*9+j,2) = e(j);
end
end
figure,
imshow(cuadricula);
imwrite(cuadricula, 'cuadricula'+i+'.png');
%}
%{
outputString = sprintf('I am %d years old', n)
t2 = dlmread('tablero2.txt');
dlmwrite('tablero2.txt', transformada);
%}
%{
edges = cv.Canny(transformada, 60);
figure,
imshow(edges);
imwrite(edges, 'edges.png');
%}
end
%%%%%%%%%%%% ----- FIN ----- %%%%%%%%%%%%
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment