Я сделал что-то подобное путем разложения изображений на подписи с помощью , вейвлет преобразовывает .
Мой подход должен был выбрать старшее значащее n коэффициенты от каждого преобразованного канала и запись их местоположения. Это было сделано путем сортировки списка (питание, местоположение) кортежи согласно брюшному прессу (питание). Подобные изображения совместно используют общие черты, в которых у них будут значительные коэффициенты в тех же местах.
я нашел, что было лучше преобразовать в изображение в формат YUV, который эффективно позволяет Вам подобие веса в форме (Y канал) и цвет (ультрафиолетовые каналы).
Вы можете в находке моя реализация вышеупомянутого в mactorii, который, к сожалению, я не продолжал работать так же, как у меня должен быть:-)
Другой метод, который некоторые мои друзья использовали с удивительно хорошими результатами, должен просто изменить размеры Вашего изображения вниз для высказывания, 4x4 пикселя и хранилище, которые являются подписью. То, как подобные 2 изображения, может быть выиграно, говорят, вычисляя манхэттенское расстояние между 2 изображениями, с помощью соответствующих пикселей. У меня нет деталей того, как они выполнили изменение размеров, таким образом, Вам, вероятно, придется играть с различными алгоритмами, доступными для той задачи найти ту, которая подходит.
Do you not have the ZipFile instance from which the ZipEntry was sourced? If you do you could use ZipFile.getInputStream(ZipEntry).
https://docs.oracle.com/javase/8/docs/api/java/util/zip/ZipFile.html
PS. Just had a quick look at the code and a ZipEntry is not a wrapper for the underlying data in the zip file. It is just a "place holder" for the entry as far as I can see (i.e. zipped file attributes not the data). The actual stream is created through a JNI call in the ZipFile class. Meaning that I do not believe you can do what you are looking to do in a practical way.
How about this?
ZipFile zipFile = new ZipFile("file.zip");
ZipEntry zipEntry = zipFile.getEntry("fileName.txt");
InputStream inputStream = zipFile.getInputStream(zipEntry);