Я пытаюсь построить изображение после некоторой обработки. Я получаю три разных изображения, используя три варианта ниже. Полученное изображение получено после двухкратного применения фильтра Собеля к изображению дорожной полосы.
sample_image.jpg Три метода построения показаны в следующем коде Python.
img = cv2.imread('sample_image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gaussian = cv2.GaussianBlur(gray,(3,3),0)
sobely = cv2.Sobel(gaussian,cv2.CV_64F,1,0,ksize=5) # y
sobelyy = cv2.Sobel(sobely,cv2.CV_64F,1,0,ksize=5) # y
# method 1
cv2.imshow('sobelyy', sobelyy)
# method 2
cv2.imwrite('filtered_img1.JPG', sobelyy)
s_img = cv2.imread('filtered_img1.JPG')
cv2.imshow('s_img', s_img)
# method 3
plt.figure()
plt.imshow(sobelyy, cmap='gray')
plt.title('Filtered sobelyy image, B(x,y)'), plt.xticks([]), plt.yticks([])
plt.show()
Полученные изображения:
метод 1
метод 2
метод 3
Я хочу получить изображение, полученное по методу 3.
Почему изображения показываются по-разному? Как я могу сохранить выходное изображение как результат метода 3?
Заранее спасибо!