Tôi đang làm việc trong python opencv (2.4.11) (2.7) và đang phát xung quanh với hình ảnh màu xám. Tôi đã tìm thấy một hành vi bất thường khi tải hình ảnh ở chế độ màu xám và chuyển đổi hình ảnh từ BGR sang GRAY. Sau đây là mã thử nghiệm của tôi:Opencv - Chế độ thang độ xám Vs hội tụ màu xám
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()
Khi tôi xem hình ảnh khác biệt, tôi có thể nhìn thấy pixel bên trái thay vì hình ảnh phản lực đen. Bạn có thể đề nghị bất kỳ lý do? Cách làm việc chính xác với hình ảnh màu xám là gì.
P.S. Khi tôi sử dụng cả hai hình ảnh trong SIFT, các điểm chính khác nhau có thể dẫn đến kết quả khác nhau đặc biệt khi làm việc với hình ảnh chất lượng kém.
Bản sao có thể có của [Chuyển đổi hình ảnh OpenCV từ RGB sang Grayscale bằng cách sử dụng tính năng đọc cho kết quả kém] (http://stackoverflow.com/questions/7461075/opencv-image-conversion-from-rgb -nói xám-sử dụng-imread-cho-nghèo-kết quả) –
** Xin lưu ý rằng đây không phải là bản sao **, vì OP biết rằng hình ảnh từ 'cv2.imread' ở định dạng BGR (không giống như câu hỏi trùng lặp được đề xuất cho rằng đó là RGB do đó các câu trả lời được cung cấp chỉ có địa chỉ thứ tại số – bakkal