- 로우레벨비전 ing.
엣지 찾는게 아니라
텍스트 찾기 - 광학인식=OCR 라이브러리가 있다.
tesseract=마블에 나오는 하이퍼큐브 같은거
인쇄체에 대해서는 잘 돼.
거의 다 이 테서랙트 사용함 - 전처리를 잘 해야. binarization
- 영어 인식률은 99%.
한글보다 한자 인식률이 더 높아.
가장자리 검출 (Edge Detection)
1단계 : 노이즈 제거
2단계 : gradient 값이 높은 부분 찾기
3단계 : 최댓값이 아닌 픽셀의 값을 0으로 만들기
4단계 : Hyteresis Thresholding : 실제 엣지인지 아닌지 판단. maxValue, minValue
Canny
cv2.Canny(원본 이미지, 임계값1, 임계값2, 커널 크기, L2그라디언트)
canny = cv2.Canny(src, 100, 255)
임계값 : 엣지의 크기
임계값1
은 임계값1 이하
에 포함된 가장자리는 가장자리에서 제외
합니다.
임계값2
는 임계값2 이상
에 포함된 가장자리는 가장자리로 간주
합니다.
커널 크기
는 Sobel
마스크의 Aperture Size
를 의미합니다. 포함하지 않을 경우, 자동으로 할당됩니다.
L2그라디언트
는 L2
방식의 사용 유/무를 설정합니다. 사용하지 않을 경우, 자동적으로 L1그라디언트
방식을 사용합니다.
일관적으로 밝아지고 있는지의 정도도 고려함. 연결되어있지 않는 엣지는 제외
-> 노이즈에 덜 민감. 지저분한 노이즈 안 나와.
Sobel
cv2.Sobel(그레이스케일 이미지, 정밀도, x방향 미분, y방향 미분, 커널, 배율, 델타, 픽셀 외삽법)
sobel = cv2.Sobel(gray, cv2.CV_8U, 1, 0, 3)
정밀도
는 결과 이미지의 이미지 정밀도
를 의미합니다. 정밀도에 따라 결과물이 달라질 수 있습니다.
x 방향 미분
은 이미지에서 x 방향
으로 미분할 값을 설정합니다.
y 방향 미분
은 이미지에서 y 방향
으로 미분할 값을 설정합니다.
커널
은 소벨 커널의 크기를 설정합니다. 1
, 3
, 5
, 7
의 값을 사용합니다.
배율
은 계산된 미분 값에 대한 배율값
입니다.
델타
는 계산전 미분 값에 대한 추가값
입니다.
픽셀 외삽법
은 이미지를 가장자리 처리할 경우, 영역 밖의 픽셀은 추정
해서 값을 할당해야합니다.
이미지 밖의 픽셀을 외삽하는데 사용되는 테두리 모드입니다. 외삽 방식
을 설정합니다.
- Tip :
x방향 미분 값
과y방향의 미분 값
의 합이 1 이상이여야 하며 각각의 값은0
보다 커야합니다.
Laplacian
cv2.Laplacian(그레이스케일 이미지, 정밀도, 커널, 배율, 델타, 픽셀 외삽법)
laplacian = cv2.Laplacian(gray, cv2.CV_8U, ksize=3)
cv2.Laplacian(그레이스케일 이미지, 정밀도, 커널, 배율, 델타, 픽셀 외삽법)
를 이용하여 가장자리 검출을 적용합니다.
정밀도
는 결과 이미지의 이미지 정밀도
를 의미합니다. 정밀도에 따라 결과물이 달라질 수 있습니다.
커널
은 2차 미분 필터의 크기를 설정합니다. 1
, 3
, 5
, 7
의 값을 사용합니다.
배율
은 계산된 미분 값에 대한 배율값
입니다.
델타
는 계산전 미분 값에 대한 추가값
입니다.
픽셀 외삽법
은 이미지를 가장자리 처리할 경우, 영역 밖의 픽셀은 추정
해서 값을 할당해야합니다.
이미지 밖의 픽셀을 외삽하는데 사용되는 테두리 모드입니다. 외삽 방식
을 설정합니다.
- Tip :
커널
의 값이 1일 경우,3x3 Aperture Size
를 사용합니다. (중심값 = -4)
'Python > Image vision' 카테고리의 다른 글
Corner - 1 (0) | 2020.01.20 |
---|---|
이미지의 기하학적 변형 (0) | 2020.01.20 |
Morphological Transformations (0) | 2020.01.20 |
Contour Feature (0) | 2020.01.20 |
Image Contours (0) | 2020.01.20 |