How could I convert this Python code into Matlab?

1 visualización (últimos 30 días)
Nour Sd
Nour Sd el 6 de Dic. de 2018
Editada: Nour Sd el 8 de Dic. de 2018
Hello, I'm working on edge detection and I want to convert a python code that runs perfectly to a matlab code because I can't call python from matlab since I don't have python installed in my own PC. I started converting the code but since I'm not familiar with python I had some difficulties to convert it all. Can you please help me out? This is the part of the python code I didn't know how to convert:
for r in range(iterations):
# approximate gradients
nabla
= [ ndimage.filters.convolve(u, w) for w in windows ]
# approximate diffusion function
diff
= [ 1./(1 + (n/kappa)**2) for n in nabla]
# update image
terms
= [diff[i]*nabla[i] for i in range(4)]
terms
+= [(1/(dd**2))*diff[i]*nabla[i] for i in range(4, 8)]
u
= u + delta*(sum(terms))
# Kernel for Gradient in x-direction
Kx = np.array(
[[-1, 0, 1], [-2, 0, 2], [-1, 0, 1]], np.int32
)
# Kernel for Gradient in y-direction
Ky = np.array(
[[1, 2, 1], [0, 0, 0], [-1, -2, -1]], np.int32
)
# Apply kernels to the image
Ix = ndimage.filters.convolve(u, Kx)
Iy = ndimage.filters.convolve(u, Ky)
Please help me converting it, I tried to understand how it works in python so I convert it to matlab but I couldn't. Thank you :)
  14 comentarios
Walter Roberson
Walter Roberson el 8 de Dic. de 2018
We recommend against naming a variable diff as that is confusing because of the diff() function which exists in both numeric and symbolic form.
Nour Sd
Nour Sd el 8 de Dic. de 2018
Okay I understand, I just thought it refers to diffusion, I will change it. I'm very thankful to you.

Iniciar sesión para comentar.

Respuestas (1)

madhan ravi
madhan ravi el 6 de Dic. de 2018
  1 comentario
Nour Sd
Nour Sd el 6 de Dic. de 2018
Thank you for your answer. I tried what it said ( system('python python_script.py');) but I had this error:
AttributeError: 'module' object has no attribute 'imread'
Could you please tell me what to do?

Iniciar sesión para comentar.

Categorías

Más información sobre Call Python from MATLAB en Help Center y File Exchange.

Productos


Versión

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by