Java BufferedImage, записывая в базовый Raster, пиксели появляются в смещении в конечном изображении

Извинения за некромантию нити, я попытался выпустить сокращенную версию для тестирования, она доступна здесь

https://www.dropbox.com/sh/y0wtlae37yltfz5/yRDSyKj2NY

Самая большая часть загрузки - это 3 образца изображений в папке src (2 из них - изображения флюда медицинского класса, поэтому они немного большие). Извините, если общий размер решения по-прежнему немного большой, но я не могу сократить его размер без серьезного переосмысления (я признаю, что я немного лишен сна и должен работать до 20 минут).

Мое первоначальное описание проблемы выглядит следующим образом

Моя проблема такова. У меня есть BufferedImage человеческой сетчатки, теперь, используя Adaptive Thresholder, я успешно извлек структуру кровеносного сосуда из глаза, остальная часть моего программного обеспечения имеет дело с наложением кровеносных сосудов и определением их толщины, я считаю, что это работает правильно, Конечный результат отображает все координаты, смещенные в достаточной степени от их фактического местоположения (присмотревшись внимательно, вы можете увидеть кривизну некоторых семян, которые правильно связаны с кровеносными сосудами, а координаты следуют по ширине изображения. Мой вопрос в том, что вызывает это смещение и как его исправить?

Ответ 1

Координаты не имеют смещения, но их масштаб неправильный: координаты красных пикселей масштабируются на 0,75 (вероятно). В OdinVeinThicknessGen.java в строке 333 попробуйте заменить

wRast.setPixel(x6, y6, redVal);

по

wRast.setPixel(x6 * 4 / 3, y6 * 4 / 3, redVal);

Я не знаю, почему, вы должны быстрее узнать об этом, как знаете свой код лучше меня...; -)


Обратите внимание, что вы действительно должны предоставить Short, Self Contained, Correct (Compilable), Example (как уже было предложено Эндрю и Стивом в их комментарии), когда вы задаете свои следующие вопросы, поскольку это большая работа (и для этого требуется много времени, и многие из них не имеют или не хотят принимать), чтобы просто распознать вашу проблему, если вы этого не сделаете. Спасибо!

EDIT: Я просто посмотрел на ваш оригинальный вопрос (т.е. перед редактированием). Хотя он не содержит SSCCE, он содержит некоторый код и полезную информацию для лучшего поиска соответствующих частей в вашем приложении. На мой взгляд, было бы лучше оставить вопрос таким, какой он есть, и просто добавить ссылку на полный проект. Образцовое изображение, в котором красные пиксели лучше распознавать (например, большие точки), также было бы полезно. Пожалуйста, не поймите меня неправильно, я просто хочу дать вам некоторые сведения для будущих вопросов...: -)