Я довольно плохо знаком с Python, но у меня достаточно опыта работы с другими языками.Интересно, может ли кто-нибудь помочь.
Проблема Я пытаюсь включить сравнение двух изображений (используя ImageMagicks Compare.exe), а затем принять решение на основе вывода.
У меня проблемы, потому что мне кажется, что я не могу перетащить вывод файла Compare.exe в свой собственный код.
Запустив команду в командной строке, я получаю требуемый показатель:Разница:
C:\usr\local\bin\att>compare -metric AE -fuzz 2000 1.png 2.png diff.png
8772
C:\usr\local\bin\att>_
Проблема в том, что если я пытаюсь передать это в текстовый файл:
C:\usr\local\bin\att>compare -metric AE -fuzz 2000 1.png 2.png diff.png > tmp.txt
8772
Метрика все еще отображается на консоли, а не записывается в текстовый файл.
Следуя единственному успеху, который у меня был при использовании python, является задержка вывода, но я все еще не могу записать его в переменную.
Выполнение:
myOutput=subprocess.Popen("C:\\usr\\local\\bin\\att\\compare.exe -metric AE -fuzz 100 1.png 2.png mask.png", stdout=subprocess.PIPE)
не будет отображать '8772' на консоли, пока я не вызову:
line = myOutput.stdout.readline()
, когда она будет записана в вывод консоли, но моя переменная будет NULL.
Может кто-нибудьПожалуйста, помогите с этим, или дайте кому-нибудь понять, почему это происходит?
Ура,
Натан.