Я разработал робота, который фиксирует изображения внутренней части трубопровода во время его движения.Требовалось уметь обнаруживать трещины внутри.До сих пор я пробовал несколько кодов OpenCV, которые находят контуры трещин, но мне это не удалось.
Код, над которым я работаю:
import cv2
import numpy as np
image = cv2.imread('pipe_photo1.jpg')
blurred = cv2.pyrMeanShiftFiltering(image,41,91)
gray = cv2.cvtColor(blurred,cv2.COLOR_BGR2GRAY)
ret, threshold = cv2.threshold(gray,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
_, contours, _ = cv2.findContours(threshold, cv2.RETR_LIST, cv2.CHAIN_APPROX_NONE)
print (len(contours))
cv2.drawContours(image,contours, -1,(0,0,255),6)
cv2.namedWindow("Display",cv2.WINDOW_NORMAL)
cv2.imshow("Display",image)
cv2.waitKey()
Это изображение, которое я получил с камеры.Я хочу обнаружить только трещину, показанную на дне трубы, и уметь рисовать ее, используя красные линии.Ваша помощь действительно спасет меня в достижении моих целей раньше срока.