저는 파이썬으로 시작하고 있습니다. 4 개의 변수 F_1, F_2, F_3 및 F_4가 있습니다. 각각은 그 안에 행렬을 포함합니다. 각각의 0이 아닌 값을 계산하고 싶습니다. 그래서 나는 루프를 썼다.기본 파이썬 : 문자열을 함수의 입력으로 전달
f_1 = thresh1[1:mr, 1:mc]
f_2 = thresh1[1:mr, (mc+1):width]
f_3 = thresh1[(mr+1):height, 1:mc]
f_4 = thresh1[(mr+1):height, (mc+1):width]
b_1 = thresh2[1:mr, 1:mc]
b_2 = thresh2[1:mr, (mc+1):width]
b_3 = thresh2[(mr+1):height, 1:mc]
b_4 = thresh2[(mr+1):height, (mc+1):width]
for i in range(1, 5):
n1 = "f_"
n2 = "b_"
num = str(i)
n1 += num
n2 += num
r = cv2.countNonZero((n1)/cv2.countNonZero(n2))
print r
는 I 방정식 cv2.countNonZero((n1)/cv2.countNonZero(n2))
에 입력으로 연결된 스트링 n1
와 n2
를 전달할.
여기에서 F1은 이진 이미지 (F는 전경)이고 B1도 이진 이미지 (B는 배경과 동일)입니다. 전경 대 배경이 아닌 픽셀의 비율을 계산하려고합니다.
R은 당신이 변수 이름을 참조하는 문자열을 사용하려는 사용자는 점에서 문제가
어떤 식'r'에서? 나는 당신이 정수형 ('cv.countNonZero (n2)')으로'n1' (문자열)을 나눈 것처럼 보이기 때문에 약간 혼란 스럽습니다. 실제로 컴파일됩니까? 아마도 당신이하려는 것을 보여줄 수 있습니까? – apnorton
나는 질문이 혼란 스럽다고 생각합니다. 당신은 값이 문자열이고 lit의 값이 변수'f_1'의 이름과 같은 함수에'n1'을 전달하기를 원합니다. 그러나 실제 의도는'f_1'의 변수 값을 전달하는 것입니다. 그리고 여러분은 반복적으로 그 시리즈의 여러 변수를 전달할 수 있도록하고 있습니다. – RejeeshChandran
그게 원래의 의도였습니다. 선명도의 부족에 대해 유감스럽게 생각하지만 AP 노턴의 제안은 완벽하게 작동합니다. 추측 내가 파이썬 최대한 빨리 데이터 구조 구문을 배울 필요가 같아요! 시간을내어 주셔서 감사합니다. –