2017-03-01 12 views
0

을에 : enter image description here어떻게 광택 표면의 이미지가 OpenCV의와 광택 표면에 세그먼트 이상을 (C++)

내 목표는 그 이미지에 이상을 감지하는 것입니다. 우리는 위의 이미지에서 볼 수 있듯이 enter image description here

, 이상 나쁜 대비가 (또는 적어도 최고), 또한 그 형태가 이미지에 이미지 변화 : 현저한 이상과 같은 이미지 여기 보여 , 대비, 방향 ... 나는 tophat 필터링을 사용하여 예외적 인 대비를 증가 시키려고 노력했다. 그 결과는 다음과 같습니다. enter image description here 이제 이미지의 비정상적인 부분이 훨씬 더 눈에 띄게되고 이미지에서 부분적으로 구분하고 싶습니다. 목표는 이미지를 이진화하고 connectedComponents 함수를 사용하여 영역, 치수, 예외의 위치를 ​​계산하는 것입니다. ...

어떤 종류의 세그먼트를 제안합니까? 이미지를 이진화하는 가장 좋은 방법은 무엇입니까? 비정상적인 대조를 높이기 위해 필터링을 사용해야합니까? 그렇지 않으면 첫 번째 이미지에서 이상을 직접 세그먼트 화해야합니까? 당신이 할 수있는

+1

전에 비슷한 질문을하셨습니까? [여기] (http://stackoverflow.com/questions/42480594/how-to-detect-anomalies-in-opencv-c-if-threshold-is-not-good-enought) –

+0

당신의 정의는 정확히 무엇입니까 " 이상 "여기? – slawekwin

+0

@slawekwin 완전히 깨끗한 광택 표면이 아닌 모든 것은 예외입니다. Soo ... 먼지, 지문, 긁힘, 안개가 낀 지역 등이있을 수 있습니다. – jok23

답변

1

는 :

  1. 하나는 지문을 억제하면서 가장 이상을 강조하는보고, 서로 다른 크기와 매개 변수의 여러 모자 필터를 사용해보십시오.

또는

<안녕, 시작 = "2">
  • 이 임계 값에 직접 가서 이상 아무도 그 과정에서 손실되지 않았는지 확인하기 위해이 매개 변수를 조정합니다. 그런 다음 연결된 구성 요소의 기능을 사용하여 실제 이상 현상을 추출합니다.
  • 널리 사용되는 접근 방법은 많은 비정상 이미지를 사용하여 심 신경 네트워크를 훈련시킨 다음 네트워크를 사용하여이를 식별하는 것입니다.

    +0

    나는 top hat 필터와 전역 tresholding의 매개 변수를 변경하려고 이미 시도했다. 나는 또한 adaptiveThresholding()을 시도했다. 여전히 이상 탐지에서 나를 만족시키지 못합니다. (또는 어쩌면 내가 뭔가 잘못하고있다). 반대편에서, 나는 "신경망"아이디어에 매우 흥미가 있지만, 완전히 새로운 것입니다. 인터넷에 많은 문학 작품이 있다는 것을 알고 있지만 어쨌든 몇 가지 추가 정보를 제공해 줄 수 있습니까? opencv (C++)에서 신경망 접근법을 사용할 수 있습니까? 몇 가지 코드 예제를 구할 수 있습니까? 기계 학습의 시작은 ... – jok23

    +0

    예외가없는 표면의 여러 이미지와 예외가있는 여러 이미지가 필요합니다. 그런 다음이 문제를 주파수 영역으로 가져갈 수 있습니다. 왜냐하면 예외가 탐지하기 쉽기 때문입니다. 이상은 높은 빈도 값으로 나타납니다. 저주파 성분을 제거하면 (샘플을 보았을 때의 예상 한계 값), 결함을 강조하는 이미지가 나타납니다. 이 목적으로 신경 네트워크를 시험해보고 싶다면 http://machinelearningmastery.com에 좋은 자습서가 있습니다. OpenCV는 기계 학습 지원을하고 있지만, 좋은 튜토리얼을 알지 못합니다. – Totoro

    +0

    고맙습니다. 나는 가능한 한 사향 엉덩이를 배우려고 노력할 것입니다. 그러면 나는 healty와 손상된 표면의 이미지를 얻을 것입니다. (여기에 몇 개의 샘플을 말하는가? 10? 100? 1000?). 또 다른 질문 : 전체 이미지를 하나의 샘플로 사용해야합니까?아니면 하나의 이미지 (게시물의 첫 번째 이미지와 같은)를 기록한 다음이 이미지를 예외를 나타내는 작은 이미지로 잘라 내고 신경망을 학습하는 데 사용할 수 있습니까? – jok23