Измените код так, чтобы вы считали входное изображение в Image
, а затем записали его в выходной файл (без обращения) и сравнили входной файл с выходным файлом.
Если они не совпадают с , то процесс file-> Image-> file повреждает данные (возможно, с использованием элемента пикселя неправильного размера, что приводит к округлению или использованию неинициализированной памяти) или компаратор (например, калейдоскоп) неверен, и вы можете проверить, просто скопировав входной файл и сравнив его.
Если они совпадают , то либо ваша процедура обращения неверна (что кажется маловероятной), либо файл ссылок (который выводится «как должен выглядеть») неверен, и вы можете проверить, изменив код, который нужно прочитать в справочном файле, и сообщить о первом несогласии, то есть построить три Images
, До (чтение из входного файла), После (который будет записан в выходной файл) и Ссылку ( который был прочитан из справочного файла), затем итерируется по x и y, сравнивая After (x, y) с Reference (x, y). Как только вы обнаружите несогласие, посмотрите, какое из них соответствует До (ширина-х-1, у); если Ссылка совпадает, тогда ваша процедура обращения неверна, а если После совпадения, то файл справки неверен (и вы можете указать на пиксель, который это подтверждает).