mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.3 KiB
60 lines
1.3 KiB
""" |
|
This script will compare tho images and decides with a threshold |
|
if these to images are "equal enough" |
|
""" |
|
|
|
# import the necessary things for OpenCV |
|
from cv import * |
|
from highgui import * |
|
|
|
import frames |
|
import sys |
|
import os |
|
|
|
PREFIX=os.path.join(os.environ["srcdir"],"../../opencv_extra/testdata/python/images/") |
|
|
|
|
|
DisplayImages=False |
|
|
|
if DisplayImages: |
|
videowindow="video" |
|
referencewindow="reference" |
|
cvNamedWindow(videowindow,CV_WINDOW_AUTOSIZE) |
|
cvNamedWindow(referencewindow,CV_WINDOW_AUTOSIZE) |
|
|
|
# returns True/False if match/non-match |
|
def match( image, index, thres ): |
|
|
|
# load image from comparison set |
|
QCIFcompare=cvLoadImage(PREFIX+frames.QCIF[index]) |
|
|
|
if QCIFcompare is None: |
|
print "Couldn't open image "+PREFIX+frames.QCIF[index]+" for comparison!" |
|
sys.exit(1) |
|
|
|
# resize comparison image to input image dimensions |
|
size=cvSize(image.width,image.height) |
|
compare=cvCreateImage(size,IPL_DEPTH_8U,image.nChannels) |
|
cvResize(QCIFcompare,compare) |
|
|
|
# compare images |
|
diff=cvNorm( image, compare, CV_RELATIVE_L2 ) |
|
|
|
if DisplayImages: |
|
cvShowImage(videowindow,image) |
|
cvShowImage(referencewindow,compare) |
|
if diff<=thres: |
|
cvWaitKey(200) |
|
else: |
|
print "index==",index,": max==",thres," is==",diff |
|
cvWaitKey(5000) |
|
|
|
cvReleaseImage(QCIFcompare) |
|
cvReleaseImage(compare) |
|
|
|
if diff<=thres: |
|
return True |
|
else: |
|
return False |
|
|
|
|
|
|