может ли кто-нибудь объяснить мне логику этого кода?логика позади кода
pt1.x = cvRound(x0 + 1000*(-b));
pt1.y = cvRound(y0 + 1000*(a));
pt2.x = cvRound(x0 - 1000*(-b));
pt2.y = cvRound(y0 - 1000*(a));
может ли кто-нибудь объяснить мне логику этого кода?логика позади кода
pt1.x = cvRound(x0 + 1000*(-b));
pt1.y = cvRound(y0 + 1000*(a));
pt2.x = cvRound(x0 - 1000*(-b));
pt2.y = cvRound(y0 - 1000*(a));
Похоже a
и b
пороговые значения, которые используются для перемещения pt1
в одном направлении (внутрь или наружу) и pt2
в противоположном направлении.
Возможно, они используются для увеличения/уменьшения площади прямоугольника для проверки границ?
они изменили его на декартово, а затем y добавили * 1000, что-то вроде этого, строки для (i = 0; i < MIN(lines-> всего, 100); i ++) { float * line = (float *) cvGetSeqElem (lines, i); float rho = строка [0]; float theta = line [1]; CvPoint pt1, pt2; double a = cos (theta), b = sin (theta); double x0 = a * rho, y0 = b * rho; pt1.x = cvRound (x0 + 1000 * (- b)); pt1.y = cvRound (y0 + 1000 * (a)); pt2.x = cvRound (x0 - 1000 * (- b)); pt2.y = cvRound (y0 - 1000 * (a)); } – paddu
У вас есть точка, определенная x0, y0
. Теперь вы создаете два других точечных объекта: один на (-b*1000, a*1000)
и один на (b*1000, -a*1000)
относительно исходной точки. Предположительно, 1000
предназначен для решения проблем масштаба, поскольку значения a
и b
находятся в другом масштабе, чем точки x0, y0
.
привет спасибо, из-за строкового кода opencv, вы могли бы объяснить мне ясно – paddu
они изменили его на декартово, а затем y добавили * 1000, что-то вроде этого, строки для (i = 0; i < MIN(lines-> всего, 100); i ++) {float * line = (float *) cvGetSeqElem (строки, i); float rho = строка [0]; float theta = line [1]; CvPoint pt1, pt2; double a = cos (theta), b = sin (theta); double x0 = a * rho, y0 = b * rho; pt1.x = cvRound (x0 + 1000 * (- b)); pt1.y = cvRound (y0 + 1000 * (a)); pt2.x = cvRound (x0 - 1000 * (- b)); pt2.y = cvRound (y0 - 1000 * (a)); } – paddu
, пожалуйста, помогите мне в расширении логики кода. – paddu
Если вы отформатируете код как код, мы сможем вам помочь. Выясните, что представляют собой маленькие значки над текстовым полем на страницах вопросов и ответов, они обогатят вашу жизнь на SO. –