我似乎在混合类型,但我无法弄清楚如何解决这个问题。有人能帮助我吗?
M = np.eye(3)
max_m20 = 2e-3
max_m10 = 0.6
for m20, m10 in zip(np.linspace(0, max_m20, nsteps), np.linspace(0, max_m10, nsteps)):
M[2, 0] = m20
M[1, 0] = m10
warped = cv2.warpPerspective(img, M, (w, h))
cv2.imshow('warped', warped)
k = cv2.waitKey(1)
if k == ord('q') & 0xFF:
break
在比赛中,我收到了这个错误:
let args_vector: Vec<String> = env::args().collect();
for arg in &args_vector[1..]{
match arg{
"--bytes" => {
flag.c = true;
},
"--chars" => {
flag.m =true;
},
_ => println! ("Error"),
}
}
答案 0 :(得分:3)
此处arg在匹配中的类型为String
,"--bytes"
的类型为&str
。因此,arg
类型的String
必须转换为&str
。这可以使用String::as_ref()
完成。
let args_vector: Vec<String> = env::args().collect();
for arg in &args_vector[1..] {
match arg.as_ref() {
"--bytes" => {
flag.c = true;
}
"--chars" => {
flag.m = true;
}
_ => println!("Error")
};
}
请注意;
之后缺少println!
,以使所有match
武器返回相同的类型。