|
|
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
Подскажите как смасштабировать картинку без искажений. Нужно смасштабировать штрих-код. Пробовал так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Пробовал это: http://www.mkyong.com/java/how-to-resize-an-image-in-java/ Картинка из большой в маленькую масштабируется с искажениями! Как картинку смасштабировать без искажений??? Пробовал с использованием какой-то библиотеки: https://github.com/thebuzzmedia/imgscalr/downloads: Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2013, 14:35:34 |
|
||
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
Забыл пояснить зачем это всё надо. Там картинка штрих-кода. На ней видно, что правые контрольные линии у нижнего штрих-кода, который (!) не читается сканером штрих-кодов (!) немного отличаются от линий верхнего, который читается. Если присмотреться, то нижний чуть-чуть искажён. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2013, 14:38:29 |
|
||
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
Если у вас в оригинальном штрих-коде линии толщиной в 1 пиксель, то при уменьшении, конечно же, теряется информация. ImageType точно ч\б? Объясните суть задачи, зачем масштабировать штрих код? Это же не фотка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2013, 14:38:39 |
|
||
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
RenderingHints у вас установлены для оптимизации фотографий. Штриходы совсем другое дело. ANTIALIASING нужно выключить 100%. INTERPOLATION, возможно, тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2013, 14:44:49 |
|
||
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
Желательно взять ByteBuffer.TYPE_BYTE_BINARY - никакии градации серого, ведь, не нужны. ColorModel можно не задавать, он, согласно JavaDoc, будет по-умолчанию двухцветным для этого типа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2013, 14:47:40 |
|
||
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
Суть в том, чтобы сделать небольшую утилиту, которая бы подкладывала (оригинальный штрих-код размером примерно 3000x3000 пикселей) смасштабированный нужным образом штрих-код другой программе без искажений. Мне кажется тут с интерполяцией какая-то проблема. 3000x3000 --> 500x500, например, должно происходить без искажений, так как 3000x3000 сильно избыточен. Алгоритм какой-то неправильный, который вносит потери. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2013, 14:47:41 |
|
||
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
Niky4000Суть в том, чтобы сделать небольшую утилиту, которая бы подкладывала (оригинальный штрих-код размером примерно 3000x3000 пикселей) смасштабированный нужным образом штрих-код другой программе без искажений. Мне кажется тут с интерполяцией какая-то проблема. 3000x3000 --> 500x500, например, должно происходить без искажений, так как 3000x3000 сильно избыточен. Алгоритм какой-то неправильный, который вносит потери. Начнити с того что уберите все rendering hints. Оставьте только Код: java 1. Чтобы наверняка убрать антиалиасинг. И используйте тип, который я указал выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2013, 14:50:24 |
|
||
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
Не читается. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2013, 15:03:34 |
|
||
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
Что куда не читается? Будем опять искать телепатов? Кстати, забавно, что вы сначала вызываете отрисовку, а потом уже пытаетесь установить настройки для этой отрисовки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2013, 15:06:57 |
|
||
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
Сканер штрих-кодов не читает смасштабированную картинку. Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2013, 15:39:37 |
|
||
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
Niky4000Сканер штрих-кодов не читает смасштабированную картинку. То есть нам предстоит самим догадаться почему? Так как приаттачить новый результат это черезмерное усилие. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2013, 15:42:44 |
|
||
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
Ну, вот он. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2013, 15:44:53 |
|
||
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
Всё равно искажает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2013, 15:45:37 |
|
||
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
Вижу градации серого. Мой совет про ImageType вы проигнорировали. Интерено откуда взялось значение 500. Очевидно, что исходя из строгого требования к сохранению пропорций, стоит использовать масштабиронивае кратное двум. 3000->1500->750->375. Тогда вероятность искажения будет минимальной. Попробуйте так же с разными значениями интерполяции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2013, 15:50:44 |
|
||
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
если это алгоритм для jpeg, то опция blur как раз отвечает за замыливание, может и там есть такой параметр... p.s. просто мысли влух... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2013, 16:08:27 |
|
||
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
rema174если это алгоритм для jpeg Facepalm. Это алогоритм для растра. JPEG это лишь формат сжатия растра в массив байт (обычно файл). rema174то опция blur как раз отвечает за замыливание Речь про фотошоп? Blur это размытие растра. Здесь оно возникает по причине анти-алиасинга и по причине того что растр разноцветный, а не монохромный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2013, 16:16:24 |
|
||
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
Не-не-не. Я просто не писал, но параметр я устанавливал. BufferedImage image = new BufferedImage(ss, ss, BufferedImage.TYPE_BYTE_BINARY); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2013, 16:25:04 |
|
||
|
Смасштабировать картинку без искажений
|
|||
|---|---|---|---|
|
#18+
Короче, решил проблему так, надеюсь, что решил. Ширина самых тонких линий в моём штрих-коде 10px. Соответственно, я могу масштабировать картинку без потерь с коэффициентами: 1, 2, 5 и 10. Пробовал печатать разные картинки на принтере и сканировать. Сканер штрих-кодов всё распознаёт. Код вот такой получился: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2013, 10:45:18 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38326875&tid=2129007]: |
0ms |
get settings: |
13ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
9ms |
get forum data: |
4ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 284ms |
| total: | 426ms |

| 0 / 0 |
