Machine Vision - Hash An Image - PullRequest
       0

Machine Vision - Hash An Image

0 голосов
/ 21 октября 2018

Я нахожусь в стадии технико-экономического обоснования проекта и хотел бы узнать, выполнимо ли следующее с использованием Machine Vision:

Если бы я хотел посмотреть, были ли два файла идентичны ,Я использовал бы хеш-функцию (например, sha1 или md5) для файлов и сохранял результаты в базе данных.

Однако, если у меня есть два изображения, где, скажем, image 1 - это качество 90%, а image 2 - качество 100%, это не будет работать, поскольку они будут иметь разные хэши.

Использованиемашинное зрение, можно ли «посмотреть» на изображение и создать из него подпись, чтобы при обнаружении другого изображения мы могли сказать «у нас уже есть это изображение в системе» и, если да, игнорировать новоеизображение, и если нет, сохранить изображение?

Я знаю, что вы можете выполнить сравнение Machine Vision между двумя известными изображениями, например:

https://www.pyimagesearch.com/2014/09/15/python-compare-two-images/

(там много кода, поэтому я не могу просто вставить сюда для справки, к сожалению)

, но сравнение изображений по изображениям было бы чрезвычайно дорого.

Спасибо

1 Ответ

0 голосов
/ 30 января 2019

Python предоставляет модуль под названием: imagehash:

imagehash - кодирует изображение, которое заслуживает одобрения ниже.

from PIL import Image
import imagehash

hash = imagehash.average_hash(Image.open('./image_1.png'))
print(hash)
# d879f8f89b1bbf

otherhash = imagehash.average_hash(Image.open('./image_2.png'))
print(otherhash)
# ffff3720200ffff

print(hash == otherhash)
# False
print(hash)  

выше - это код Python, который будет печатать «true», если изображения идентичны, и «false», если изображения не идентичны.Благодарю.

...