Резултати от 1 до 7 от общо 7

компресиране на снимки с java

Сподели във Facebook Сподели в Twitter Изпрати на Email Сподели в LinkedIn
  1. Junior Member
    Тук е от
    Jan 2003
    Мнения
    54
    #1

    компресиране на снимки с java

    Интересува ме дали някой , знае клас който компресира изображения , като може да се зададе максимален размер на файла.
    Т.е имам снимка с големина 1MB искам да я намаля,така че след компресията файла да не е по-голям от 100 кб .
    Намерих нещо което върши работа за компресиране, т.е jai http://java.sun.com/products/java-me...rs/jaifaq.html
    С това ги компресирам ,но немога да контролирам максималният размер на изходният файл.

  2.  
     
  3. Junior Member
    Тук е от
    Mar 2006
    Мнения
    134
    #2

    Re: компресиране на снимки с java

    мисля, до колкото си спомням параметъра за компресията се казваше quality factor и с него се модифицираха таблиците LQT и CQT
    дори и това което ползваш би трябва да го има.... би трябва да се намира в INIT на компресията или преди
    jpeg_dct_init();
    jpeg_quant_init();
    разгледай си документацията на класа или юнита....

    com.sun.media.jai.codec
    Class JPEGEncodeParam

    setQuality(float quality)
    This creates new quantization tables that replace the currently installed quantization tables.
    --------------------------------------------------
    setQuality
    public void setQuality(float quality)This creates new quantization tables that replace the currently installed quantization tables. The created quantization table varies from very high compression, very low quality, (0.0) to low compression, very high quality (1.0) based on the quality parameter.
    At a quality level of 1.0 the table will be all 1's which will lead to no loss of data due to quantization (however chrominace subsampling, if used, and roundoff error in the DCT will still degrade the image some what).

    The default setting is 0.75 which provides high quality while insuring a good compression ratio.

    Some guidelines: 0.75 high quality
    0.5 medium quality
    0.25 low quality
    Parameters:
    quality - 0.0-1.0 setting of desired quality level.

  4. Member Аватара на kamenf
    Тук е от
    Feb 2005
    Мнения
    799
    #3

    Re: компресиране на снимки с java

    Ще добавя само, че при JPEG компесията (а и не само при нея) е невъзможно предварително да се определи точно какъв ще е размера на получения файл. Не знам дали има такива класове, които позволяват да им се подаде параметър за искан размер на полученото компресирано изображеине, но лесно можеш да си го напишеш и сам/сама - компресираш с нещо (например с това, което си намерил/а), гледаш резултата и променяш качеството на компресията до постигане на желания резултат. Малко предварителни емпирични изследвания могат да ти помогнат да изградиш таблица от която да взимаш стойностите за първото приближение. И понеже всичко си има ограничения (не можеш да очакваш 50М да се свият до 100К), може би трябва да включиш и вариант за намаляне на резолюцията на изходната картинка при нужда.

  5. Junior Member
    Тук е от
    Jan 2003
    Мнения
    54
    #4

    Re: компресиране на снимки с java

    Благодаря за отговорите, мисля че ще ми свършат работа.

    Само можели да попитам , какво точно се има в предвид с това " предварителни емпирични изследвания могат да ти помогнат да изградиш таблица от която да взимаш стойностите за първото приближение".

    За какви точно иследвания става дума?


  6. Member
    Тук е от
    Oct 2004
    Мнения
    367
    #5

    Re: компресиране на снимки с java

    Цитат Първоначално публикувано от magda
    Благодаря за отговорите, мисля че ще ми свършат работа.

    Само можели да попитам , какво точно се има в предвид с това " предварителни емпирични изследвания могат да ти помогнат да изградиш таблица от която да взимаш стойностите за първото приближение".

    За какви точно иследвания става дума?
    Това ще рече да си поиграеш с няколко картинки и да разбереш намаляването на качеството доколко се отразява на размера. Например 10 картинки от по 1М като им намалиш качеството с 20% се получава размер около 300к, 30% - 200К и т.н. Вмъкваш тази зависимост в алгоритъма и като тръгнеш да правиш от 1М - 200К първо пробваш с 30% от "емпиричния опит" се очаква картинкара да е около 200к ако е повече пробваш пак с 32% и т.н.

  7. Junior Member
    Тук е от
    Mar 2006
    Мнения
    134
    #6

    Re: компресиране на снимки с java

    Това е много много относително и грешката ще бъде много голяма.
    Компресията при JPEG и всичко ползващо DCT алгоритъм зависи от цветовия спектър на самата картинка...

    ПС: бърза справка - http://en.wikipedia.org/wiki/JPEG

  8.  
     
  9. Member Аватара на kamenf
    Тук е от
    Feb 2005
    Мнения
    799
    #7

    Re: компресиране на снимки с java

    Цитат Първоначално публикувано от The_Wizard
    Това е много много относително и грешката ще бъде много голяма.
    Компресията при JPEG и всичко ползващо DCT алгоритъм зависи от цветовия спектър на самата картинка...
    Абе от честотния спектър зависи, ама... както и да е.

    Така или иначе именно затова говорим за първо приближение и за статистическо изследване на най-често срещаните картинки. А ако трябва да се знае проблизително колко най-голяма може да стане при съответно качество, се взима една картинка, чийто честотен спектър е бял шум и готово.

Сподели във Facebook Сподели в Google Plus Сподели в Twitter Изпрати на Email Сподели в LinkedIn

Подобни теми

  1. Компресиране
    От midjis във форум Програмиране
    Отговори: 16
    Последно: 30-10-08, 04:26
  2. Компресиране на МП3-ки
    От ZanGaDor във форум Общ - софтуер
    Отговори: 9
    Последно: 28-12-06, 13:08
  3. Компресиране на DVD в AVI
    От Cko във форум Общ - софтуер
    Отговори: 11
    Последно: 23-01-05, 15:02
  4. Компресиране на филмчета...
    От Kayso във форум Общ - софтуер
    Отговори: 6
    Последно: 04-10-04, 20:21
  5. Компресиране на МР3 под XP
    От Cko във форум Windows
    Отговори: 26
    Последно: 26-08-02, 21:28

SetCombG.com
SetCombG.com е портален сайт и Форум за битова техника, телевизори, климатици, лаптопи и смартфони, създаден през 1999 година.
Заедно сме над 20 години!
Следвай ни
Горе