Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
8 пикселей являются сокращением. Причина состоит в том, потому что изображения JPEG являются просто массивом 8x8 блоки DCT; если разрешение изображения не является mod8 в обоих направлениях, кодер должен заполнить стороны до следующего mod8 разрешения. Это на практике не очень дорого поразрядно; что намного хуже, случаи, когда изображение имеет резкие черные линии (такие как имеющее черные полосы сверху и снизу изображение), которые не лежат на границах блока. Это особенно проблематично в видео кодировании. Причина этого являющегося проблемой состоит в том, что частота преобразовывает резкой строки, Распределение Гаусса коэффициентов - приводящий к огромному количеству битов для кодирования.
Для любопытных, наиболее распространенный метод дополнения краев в intra сжатии (таких как изображения JPEG) должен зеркально отразить строки пикселей перед краем. Например, если необходимо заполнить три строки, и строка X является краем, строка, которую X+1 равен для выравнивания X, строка, X+2 равен строке X-1 и строке, X+3 равен строке X-2. Это вполне эффективно минимизирует стоимость в коэффициентах преобразования дополнительных строк.
В предают кодирование земле, однако, дополнительные алгоритмы обычно просто копируют последнюю строку, потому что зеркальный метод не работает хорошо на, предают сжатие земле, такой как в сжатии видео.
JPG с размером тем, чтобы быть умножается 8, может также вращаться/зеркально отражаться без качественной потери. Например, gthumb может сделать это на Linux.
Какой сказанный Tometzky. Если Вы не имеете корректного несколькими, зеркальным отражением без потерь и вращаетесь, алгоритмы не работают. Поэтому дополнение на праве/нижней части, которое может быть безопасно проигнорировано теперь, заканчивается на левом/главном, где оно не может.
Так как размеры изображения являются кратными числами 8, или 16 не собирается влиять на размер на диске очень, но можно получить поразительные сбережения, если можно выстроить в линию визуальное содержание к 8x8 пиксельная сетка, такой, как будто существует повторяющийся шаблон или структура в изображении.
Иногда необходимо использовать 16 границ пикселей, а не 8 из-за подвыборки; каждый 2-й пиксель выброшен во время процесса кодирования и их 8x8 блоки DCT, начатые как 16x16, и будет декодировать назад к 16x16. Это не будет проблемой при настройках высшего качества.