2017-08-13 74 views
0

我开始在其输入2倍的图像的项目,并使用关键点过筛,然后检查2幅图像的相似度OpenCV的彩色图像到greycode转换误差

我实际完成的项目检测而无需转换的图像文件,以greycode但后来我明白了图像转换为格雷码,然后比较给出了更精确的结果

,所以我写的代码,以将图像转换为greycode 但我面临的一个问题

import cv2 
import easygui 
import sys 
from matplotlib import pyplot as plt 

print "image 1 :",sys.argv[1] 
print "image 2 :",sys.argv[2] 
print "******** comparing images please wait *********" 
file1=sys.argv[1] 
file2=sys.argv[2] 

img1 = cv2.imread(file1,0)#queryImage 
img2 = cv2.imread(file2,0)#trainImage 
gray_image1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY) 
gray_image2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY) 

我得到一个错误

image 1 : taj1.jpg 
image 2 : taj2.jpg 
******** comparing images please wait ********* 
OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor, file /root/opencv-3.3.0/opencv-3.3.0/modules/imgproc/src/color.cpp, line 10638 
Traceback (most recent call last): 
    File "image_similarity.py", line 14, in <module> 
    gray_image1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY) 
cv2.error: /root/opencv-3.3.0/opencv-3.3.0/modules/imgproc/src/color.cpp:10638: error: (-215) scn == 3 || scn == 4 in function cvtColor 

如何解决它 提前感谢

回答

1

你并不需要转换它,如果你为你做加载。

img1 = cv2.imread(file1,0)#queryImage 
img2 = cv2.imread(file2,0)#trainImage 

第二个参数= 0表示您将其加载为灰度图像。

+0

谢谢!我不知道 –

+0

@steventhomas你没有读过[documentation](http://docs.opencv.org/2.4/modules/highgui/doc/reading_and_writing_images_and_video.html#imread)吗? –

+0

对不起,我的错误是没有阅读文档,很抱歉浪费你的时间 –

相关问题