2012-05-31 3 views
10

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

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

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

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

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

+0

Извините, в качестве заметки кажется, что меньший Jpeg SampleIMage делает гораздо лучшую работу по отображению красных пикселей, слишком маленькая на большом изображении. –

+0

+1, только что присоединился и соблюдал правила о том, как задать вопрос! – doNotCheckMyBlog

+1

Чтобы лучше помочь, опубликуйте [SSCCE] (http://sscce.org/). –

ответ

0

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

wRast.setPixel(x6, y6, redVal); 

по

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

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


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

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