이 명령은 다음과 같습니다.
compare -metric mse -subimage-search image.jpg subimage.jpg null:
지정된 측정항목의 값과 하위 이미지가 나타나는 좌표를 제공합니다.
특정 하위 이미지의 모든 항목에 대한 좌표를 원하면 어떻게 됩니까?
문서에는 -similarity-threshold
매개변수가 언급되어 있지만 imagick 6.7에는 존재하지 않습니다.
답변1
아이디어의 시작은 다음과 같습니다.
compare -metric mse -subimage-search concat.png subimage.jpg resultimage.png
convert resultimage-1.png resultMap.txt
python extractPoints.py resultMap.txt
extractPoints.py는 다음과 같습니다
#!/bin/python
import os,re,argparse
parser = argparse.ArgumentParser(description='extract top match pixels from an Imagemagick text file.')
parser.add_argument('infile', type=str, help='infile name')
args = parser.parse_args()
d = {}
with open(args.infile, 'r') as f:
for line in f:
parsed_line = re.match('([0-9]+,[0-9]+): \([0-9]+,[0-9]+\)\s.*graya\(([0-9]+),[0-9]\)', line)
if not parsed_line:
continue
if parsed_line.group(2) in d:
d[parsed_line.group(2)].append(parsed_line.group(1))
else:
d[parsed_line.group(2)]=[parsed_line.group(1)]
max_pixel_val = (max(d, key=int))
print(d[str(max_pixel_val)])
greya 강도를 사용하지 않을 수 있습니다. 이 경우 정규식을 수정하거나 이 정보를 나열하는 첫 줄을 구문 분석할 수 있습니다.