How could I convert this Python code into Matlab?
조회 수: 1 (최근 30일)
이전 댓글 표시
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
Walter Roberson
2018년 12월 8일
We recommend against naming a variable diff as that is confusing because of the diff() function which exists in both numeric and symbolic form.
답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Call Python from MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!