Я думаю, вам нужно указать немного более четко, что вы подразумеваете под идентичными. В рамках анализа изображения на DigitalMicrograph это может быть (например,):
1) Идентичный файл на диске.
Это были ответы других пользователей. Но для простоты - если изображение открыто в ДМ вы можете узнать, к какому «файл» он связан следующим кодом:
image img := GetFrontImage()
imageDocument doc = img.ImageGetOrCreateImageDocument()
OKDialog("--> "+doc.ImageDocumentGetCurrentFile())
Обратите внимание, что файлы на диске связаны с imageDocuments, а не изображения.
2) Одинаковые значения пикселей во всех пикселей
Просто сравните сумму разницы изображения!
image A
image B
if (0 == sum(A-B)) OKDialog("Identical!")
Код предполагает, что оба изображения одного типа, но вы можете проверять типы отдельно.
3) Идентичный объект памяти
Вы можете иметь несколько переменных, относящихся к одной и той же «образ», то есть у вас есть одно изображение в качестве локальной переменной, а затем перебирать список изображений для идентификации это изображение в списке. Для этого вы можете использовать либо imageLabel, либо идентификатор изображения. Любому изображению в памяти присваивается каждый из них автоматически. В то время как imageLabels повторно используются, когда становятся свободными, идентификаторы изображений монотонно увеличиваются с момента запуска приложения (начиная с 1). Я думаю, что imageID лучше использовать в целом.
image A
image B
if (A.ImageGetLabel() == B.ImageGetLabel()) OKDialog("Identical!")
if (A.ImageGetID() == B.ImageGetID()) OKDialog("Identical!")
4) Изображение представляет собой специфический «уникальный» образ, но он был сохранен и открыт вновь.
Типичный сценарий здесь - обследование-изображения, связанные с данными. Возможно, вам захочется открыть данные и опрос-изображение и проверить, является ли это «правильным» обзором. Для этого существует определенный объект сценария под названием «Глобальный идентификатор изображения», который вы найдете в разделе справки F1 в разделе «Объекты». Он похож на контрольную сумму, но не одну. Этот идентификатор состоит из 4 длинных значений, которые создаются при создании изображения и никогда не изменяются впоследствии. (Так что изменение значения или тега данных изображения не изменит этот глобальный идентификатор.) Основное отличие от идентификатора imageID заключается в том, что Global ID остается, когда вы сохраняете & загружаете изображение.
Если мой ответ не помогает, вы можете разместить код, который вы пытаетесь использовать? – gabe3886
Вы можете видеть это ранее. http://stackoverflow.com/questions/3270929/compare-2-images-in-php –
@ gabe3886 Спасибо. Второй ответ уже соответствует моим потребностям. –