У меня есть изображение, как показано ниже:
На этом изображении две яркие линии, проходящие через изображение, это то, что я хочу удалить / уменьшить.
Я использовал порог, чтобы можно было различить эти яркие полосы, который довольно хорошо выделяет области:
В настоящее время я пытаюсь уменьшить метод, при котором я пытаюсь просто уменьшить яркость пикселей, чтобы они не выделялись на изображении. Однако это приводит к странным результатам, и я не уверен, почему это так.
странные результаты:
Из того, что я вижу, меняется значение пикселей, но оставляются нечетные результаты в конечном изображении.
До сих пор я использовал этот код для выполнения процесса:
img = cv2.imread('43.bmp')
h,s,v= cv2.split(cv2.cvtColor(img, cv2.COLOR_BGR2HSV))
ret1,th1 = cv2.threshold(v,240,255,cv2.THRESH_BINARY)
bright = np.where(th1, np.where((255-v) < 40, v-30,v),0)
th1_n = cv2.bitwise_not(th1)
dark = np.where(th1_n,v,0)
result = bright + dark
mergeColour = cv2.cvtColor(cv2.merge([h,s,result]),cv2.COLOR_HSV2BGR)
cv2.imshow("frame", mergeColour.astype(np.uint8))
cv2.waitKey(0)
cv2.destroyAllWindows()
Я не уверен точно, где я иду не так, или есть возможность лучшего способа получить то, что похоже на
Редактировать:
* То, что я хотел бы видеть, это то, что видимые линии становятся похожими по цвету с окружающими, поэтому может показаться, что они были удалены с изображения *