MATLAB bwdist函数(cityblock等模式)转Python实现求助
MATLAB bwdist 各距离类型的Python实现对应方案
以下是你需要的三种距离变换的Python等价实现,均基于scipy.ndimage.morphology模块:
Cityblock(曼哈顿距离)
对应MATLAB代码:D2 = bwdist(bw,'cityblock');
Python实现:from scipy.ndimage.morphology import distance_transform_cdt D2 = distance_transform_cdt(bw, metric='cityblock')Chessboard(棋盘距离)
对应MATLAB代码:D3 = bwdist(bw,'chessboard');
Python实现:D3 = distance_transform_cdt(bw, metric='chessboard')Quasi-euclidean(准欧氏距离)
对应MATLAB代码:D4 = bwdist(bw,'quasi-euclidean');
Python实现:D4 = distance_transform_cdt(bw, metric='quasi-euclidean')
注意:输入的bw需为二值数组(0表示背景,非0表示前景),与MATLAB bwdist的输入逻辑一致,使用前请确保已安装scipy库。
内容的提问来源于stack exchange,提问作者M.Navidi
相关产品推荐
相关产品推荐

