-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dewarping: top curve: doesn't work == line, 2 points. #2
Comments
До начала работы над переносом деварпа я делал тестовый проект, где только деварп есть, а остальное все вырезано, просто чтобы оценить объем. В нем было больше мегабайта исходников, чтобы только собираться. И это без проверки, правильно ли он работает; возможно, я что-то зевнул, и часть исходников потерял. То есть, чтобы перенести деварп из STEX абсолютно точно, надо заменить около трети объема STU (или продублировать этот объем внутрь папки с деварпом). Это явный перебор, делать из STU обратно STEX точно не годится. Поэтому при конфликтах переноса я принудительно оставлял все, что в принципе собиралось и работало в STU, и переносил только код, которого в STU совсем не было. Однозначно, в каких-то функциях есть расхождения в реализации, которые потерялись при переносе, и будут давать расхождения. Например, я поправил ляп в многопоточном коде построения гистограмм в STU, из-за которого Watershed - фильтр не работал, и верхняя линия постоянно привязывалась к верху страницы вместо текста. |
Fix 97a632f |
False statement. There is no fix. Решение: diff --git a/src/math/XSpline.cpp b/src/math/XSpline.cpp
index 09acc31..e6f4c0c 100644
--- a/src/math/XSpline.cpp
+++ b/src/math/XSpline.cpp
@@ -256,8 +256,9 @@ XSpline::maybeAddMoreSamples(
double const nearby_junction_t = floor(mid_t * num_segments + 0.5) * r_num_segments;
// If nearby_junction_t is between prev_t and next_t, make it our mid_t.
- if ((nearby_junction_t - prev_t) * (next_t - prev_t) > 0 &&
- (nearby_junction_t - next_t) * (prev_t - next_t) > 0) {
+ if (((next_t < prev_t) ? (prev_t - nearby_junction_t) : (nearby_junction_t - prev_t)) > 1e-5 &&
+ ((prev_t < next_t) ? (next_t - nearby_junction_t) : (nearby_junction_t - next_t)) > 1e-5)
+ {
mid_t = nearby_junction_t;
flags = JUNCTION_SAMPLE;
} |
Hi @noobie-iv .
Уже много раз на текущем состоянии git наблюдаю прямую из двух точек по верхней грани при выборе "Кривых" в "Устранении искажений". Нижняя грань, как и положено, из 5-ти точек. В верхнюю грань точки можно добавить, но как то это "слегка" не очень.
"Совпадение? Не думаю..."
B_199.origin.tif.gz [2635403] (SHA1: 2c801c5d5df0bed28aec2651b1331385c8aebe57)
PS: Да и вообще, хотелось бы иметь выбор кол-ва точек по граням, скажем от 2 до 16.
The text was updated successfully, but these errors were encountered: