matlab 数组转向量,MATLAB到Python的转换:向量、数组、索引元素

大家好!我目前正在将一个MATLAB项目转换为python2.7。我在试着转换线路h = [ im(:,2:cols) zeros(rows,1) ] - [ zeros(rows,1) im(:,1:cols-1) ];

当我试图改变它的时候

^{pr2}$

IDLE返回不同的错误,如ValueError: all the input arrays must have same number of dimensions

我对Python非常陌生,如果您能提出其他方法,我将不胜感激。非常感谢你!这是我要转换的函数。在function [gradient, or] = canny(im, sigma, scaling, vert, horz)

xscaling = vert; yscaling = horz;

hsize = [6*sigma+1, 6*sigma+1]; % The filter size.

gaussian = fspecial('gaussian',hsize,sigma);

im = filter2(gaussian,im); % Smoothed image.

im = imresize(im, scaling, 'AntiAliasing',false);

[rows, cols] = size(im);

h = [ im(:,2:cols) zeros(rows,1) ] - [ zeros(rows,1) im(:,1:cols-1) ];

我还会问一个等价的“:”运算符,它主要用于Python中的索引和数组中。有没有什么等价的:运算符?

我开始的Python转换代码:def canny(im=None, sigma=None, scaling=None, vert=None, horz=None):

xscaling = vert

yscaling = horz

hsize = (6 * sigma + 1), (6 * sigma + 1) # The filter size.

gaussian = gauss2D(hsize, sigma)

im = filter2(gaussian, im) # Smoothed image.

print("This is im")

print(im)

print("This is hsize")

print(hsize)

print("This is scaling")

print(scaling)

#scaling = 0.4

#scaling = tuple(scaling)

im = cv2.resize(im,None, fx=scaling, fy=scaling )

[rows, cols] = np.shape(im)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值