hoja 1
import matplotlib.pyplot as plt
import numpy as np
import scipy
f=scipy.misc.imread('13-14.jpg')
print(f.shape)
plt.imshow(f)
plt.show()
imag_hoja=f[161:2330,386:1529,2] #[y,x,color]
imag_cuadrado = f[381:542,1867:2043,0]
plt.figure()
plt.imshow(imag_hoja)
plt.show()
plt.figure()
plt.imshow(imag_cuadrado)
plt.show()
print(0,0,imag_cuadrado[0,0])
print(40,40,imag_cuadrado[40,40])
imag_hoja = imag_hoja < 100
imag_cuadrado = imag_cuadrado < 100
plt.imshow(imag_hoja)
plt.show()
plt.imshow(imag_cuadrado)
plt.show()
cant_pixeles_hoja = sum(sum(imag_hoja))
cant_pixeles_cuadrado = sum(sum(imag_cuadrado))
cant_pixeles_cm = np.sqrt(cant_pixeles_cuadrado)
area_hoja = cant_pixeles_hoja / cant_pixeles_cuadrado
def extremos(imagen):
n,m = imagen.shape
arriba,abajo,izquierda,derecha =n,0,m,0
for i in range(n):
for j in range(m):
if imagen[i,j]:
if arriba > i:
arriba = i
if abajo < i:
abajo = i
if izquierda > j:
izquierda = j
if derecha < j:
derecha = j
return [arriba,abajo,izquierda,derecha]
[arriba,abajo,izquierda,derecha] = extremos(imag_hoja)
largo_hoja = (abajo-arriba)/cant_pixeles_cm
ancho_hoja = (derecha-izquierda)/cant_pixeles_cm
print('area_hoja',area_hoja)
print('largo_hoja',largo_hoja)
print('ancho_hoja',ancho_hoja)
hoja 2
import matplotlib.pyplot as plt
import numpy as np
g5_masa=np.array([0.62,0.27,0.45,0.04,0.70,0.39,0.27,1.21])
g5_largo = np.array([5.84,6.11,6.07,1.00,10.80,7.31,4.63,13.55])
plt.figure()
plt.scatter(g5_masa,g5_largo,c='r')
plt.xlabel('masa[g]')
plt.ylabel('largo[cm]')
plt.title('masa/largo')
plt.show()
g5_masa=np.array([0.62,0.27,0.45,0.04,0.70,0.39,0.27,1.21])
g5_area=np.array([7.83,16.50,18.26,0.64,71.46,18.44,16.19,55.91])
ln_g5_masa=np.log(g5_masa)
ln_g5_area=np.log(g5_area)
plt.figure()
plt.scatter(ln_g5_masa,ln_g5_area,c='r')
plt.xlabel('LogMasa[g]')
plt.ylabel('LogArea[cm]')
plt.title('LogMasa vs LogArea')
plt.show()
hoja 3
import matplotlib.pyplot as plt
import numpy as np
import scipy
g5_masa=np.array([0.62,0.27,0.45,0.04,0.70,0.39,0.27,1.21])
g5_area=np.array([7.83,16.50,18.26,0.64,71.46,18.44,16.19,55.91])
ln_g5_masa=np.log(g5_masa)
ln_g5_area=np.log(g5_area)
def func (ln_masa,a,b):
return a*ln_masa+b
popt,pcov=scipy.optimize.curve_fit(func,ln_g5_masa,ln_g5_area)
print(popt)
print(pcov)
plt.figure()
plt.plot(ln_g5_masa,popt[0]*ln_g5_masa+popt[1],color='b',label='ajuste')
plt.scatter(ln_g5_masa,ln_g5_area)
plt.show()
print(np.sqrt(pcov[1,1]))