이미지가 있습니다
밝은 흰색 반점을 제거하는 방법이 있습니까? 감사합니다
편집하다:
가우스로 작업 한 다음 imagesc를 사용하여 표시 한 후 밝은 빨간색 반점을 명확하게 보여주는 다음 출력을 얻으십시오.
레드 채널 :
녹색 통로:
블루 채널 :
편집 2 :
Gabor 필터를 사용한 결함 감지
히스토그램 :
적절한 임계 값을 적응 적으로 계산하는 방법?
이미지가 있습니다
밝은 흰색 반점을 제거하는 방법이 있습니까? 감사합니다
편집하다:
가우스로 작업 한 다음 imagesc를 사용하여 표시 한 후 밝은 빨간색 반점을 명확하게 보여주는 다음 출력을 얻으십시오.
레드 채널 :
녹색 통로:
블루 채널 :
편집 2 :
Gabor 필터를 사용한 결함 감지
히스토그램 :
적절한 임계 값을 적응 적으로 계산하는 방법?
답변:
이미지에서 눈부심 부분이 포화 영역이라고 가정합시다. 강도를 임계 값으로하여 감지 할 수 있습니다 (Mathematica의 코드) :
saturated = Binarize[ColorConvert[img, "Grayscale"], .9]
그런 다음 채도 마스크 주위의 이미지 부분 만 교체하면됩니다 (모서리 기능을 통해 마스크가 확대됩니다 Dilation
). Inpaint
이 예제에서는 텍스처 합성을 사용한 인 페팅 ()을 사용 하여 결함 감지 알고리즘에 대한 입력으로 테스트 할 수 없지만이 예제에서는 제대로 작동하는 것 같습니다.
Inpaint[img, Dilation[saturated, DiskMatrix[20]]]
이것은 간단한 답변 일지 모르지만 임계 값을 지정할 수 있습니까? 예 :
img = imread('daRNS.png');
imflat = img;
imflat(img>150) = 150;
imagesc(imflat)
결과 :
임계 값을 적응 적으로 선택하는 것이 분명히 좋습니다. 예를 들어 이미지 히스토그램을 볼 수 있습니다.
hist(double(img(:)),0:255)
이를 바탕으로 적절한 임계 값을 선택하십시오.
조명 정보가 없으면 어렵습니다. 그러나 이미지에서 물체의 모양을 알면 흰색 눈부심 (가우시안)의 모양 템플릿을 설정하고 눈부심을 감지 할 수있는 슬라이딩 창을 만들 수 있습니다 (이후 인접 영역에서 색상 혼합). 지각 적으로 우리는 음영을 사용하여 이미지에서 3D 모양을 추론합니다. 음영의 모양이 표면 기울기를 줄 수 있다면 슬라이딩 창을 만들고 각 위치에서 섬광 템플릿을 확인할 수 있습니다.
캐니 가장자리 감지 후 :-
기본적으로 이미지 # 1과 # 2 사이의 겹침 (최대 겹침 영역)이 결함이됩니다.
내 의견은 이것이 조명을 제어해야하고 이미지에서 눈부심이없는 픽셀 밝기의 최대 밝기에 대한 좋은 아이디어를 가져야하는 머신 비전 문제라는 것입니다. 결함 감지는 일반적으로 컴퓨터 비전 문제가 아닌 머신 비전 문제입니다.
우리가 조명의 결과로 보는 것은 빛의 반사 및 확산 반사 (일부 방출은 있지만 무시할 수있는)의 추가입니다.
거울 성분은이 사과처럼 반짝이는 표면에 눈부심입니다. 확산 반사보다 훨씬 큽니다 (> 10x).
즉, 확산 표면에서 조명, 게인 및 노출을 설정하면 포화 상태에 가까운 부분이 없는지 확인할 수 있습니다. "글레어를 포함하지 않는 픽셀"이 임계 값보다 높을 것이라는 충분한 데이터로 입증 된 경우 고정 임계 값을 사용하는 것이 실제로 선호되는 솔루션입니다. 본질적으로 픽셀의 분류가 사소한 상태가되도록 조명 조건과 카메라 매개 변수를 설정합니다.이 경우 주변의 픽셀에 대해보다 복잡한 기계 학습 기능보다는 단순한 임계 값으로 수행됩니다.
나는 "vini"의 접근 방식을 좋아하는데 RGB 평면을 실제로 보여줄 필요는 없다. 단순한 회색조 임계 값 만 실제로 작동합니다.
1-주변이 아닌 조명 조건을 설계합니다.
2- 분류 작업을 매우 사소하게 만듭니다 (임계 값).
3 기능 측정
4- 공차와 비교