我正在opencv(2.4.11)python(2.7)中工作,並正在玩弄灰色圖像。當在灰度模式下加載圖像並將圖像從BGR轉換爲灰色時,我發現了一種不尋常的行爲。以下是我的實驗代碼:Opencv - 灰度模式vs灰色轉換
import cv2
path = 'some/path/to/color/image.jpg'
# Load color image (BGR) and convert to gray
img = cv2.imread(path)
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# Load in grayscale mode
img_gray_mode = cv2.imread(path, 0)
# diff = img_gray_mode - img_gray
diff = cv2.bitwise_xor(img_gray,img_gray_mode)
cv2.imshow('diff', diff)
cv2.waitKey()
當我看到差分圖像,可以看我的冷落像素,而不是深黑色圖像。你能提出任何理由嗎?什麼是使用灰色圖像的正確方法。
P.S.當我在SIFT中使用這兩個圖像時,關鍵點不同,這可能會導致不同的結果,特別是在處理質量較差的圖像時。
可能重複的[OpenCV圖像轉換從RGB到灰度使用imread給結果不佳](http://stackoverflow.com/questions/7461075/opencv-image-conversion-from-rgb使用imread-giving-poor結果) –
**請注意,這不是一個重複的**,因爲OP知道'cv2.imread'中的圖像是BGR格式的(不像建議重複的問題,假設它是RGB,因此提供的答案只針對th在問題 – bakkal