Я пытаюсь раскрасить изображение в формате jpeg, чтобы сохранить линии дорожек и, надеюсь, избавиться от остального мира. Я читаю изображение с помощью cv2
следующим образом:
test_image = cv2.imread(myimage)
#convert to RGB space from BGR
test_image = cv2.cvtColor(test_image, cv2.COLOR_BGR2RGB)
Затем я конвертирую test_image в цветовое пространство HLS, чтобы сохранить канал l, как показано ниже:
def get_l_channel_hls(img):
# Convert to HLS color space and separate the l channel
hls = cv2.cvtColor(img, cv2.COLOR_RGB2HLS).astype(np.float)
l_channel = hls[:,:,1]
return l_channel
Затем я применяю некоторые пороги к этому каналу l и заменяю значения пикселей на 0 или 1, чтобы сохранить только те пиксели, которые мне нужны. (позже я умножу эти значения на 255, чтобы оставшиеся пиксели выглядели белыми)
def get_color_channel_thresholded_binary(channel, thresh=(0,255):
# Threshold color channel
print("min color threshold: {}".format(thresh[0]))
print("max color threshold: {}".format(thresh[1]))
binary = np.zeros_like(channel)
binary[(channel > thresh[0]) | (channel <= thresh[1])] = 1
return binary
Затем я беру эту бинарную карту и заменяю оставшиеся пиксели на 255.
def get_overall_combined_binary(binary1):
grayscaled_binary = np.zeros_like(binary1)
grayscaled_binary [(binary1 == 1)] = 255
return grayscaled_binary
И я отображаю этот двоичный файл с помощью pyplot matplotlib, как показано ниже:
import matplotlib.pyplot as plt
#grayscaled_binary = # get the grayscaled binary using above APIs
imshow(grayscaled_binary, cmap='gray')
То, что я здесь наблюдаю, довольно странно. Изображение выглядит полностью черным для ЛЮБЫХ значений, для которых thresh[1] < thresh[0]
. т. е. максимальный порог МЕНЬШЕ минимального порога. И я понятия не имею, почему это происходит.
Я просмотрел код несколько раз и не вижу в нем ошибок. Единственная разница между кодом, который я вставил сюда, и тем, который я использую, заключается в том, что я использую виджеты IPython в блокноте Jupyter для взаимодействия.
Я был бы очень признателен за любую помощь или понимание этой темы. Я также прилагаю два примера того, о чем я говорю. Заранее спасибо. .jpg" alt="Сценарий отказа">