Halcon-Edge Detection 연산자에 대한 자세한 설명

하나, 운영자 소개

1.1 halcon
에서 일반적으로 사용되는 가장자리 감지 연산자의 유형 은 다음과 같습니다.
1. 가장자리 이미지 : 2D 이미지 가장자리
추출 2. 가장자리 _ 서브 _pix : 2D 이미지 하위 픽셀 가장자리
추출 3. 가장자리 _ 개체 _ 모델 _3d : 3D 이미지 가장자리 추출
4. 가장자리 _ 색상 및 가장자리 _ 색상 _ 서브 _pix : 컬러 이미지 추출 edge
1.2 구분
edge_image는 다양한 edge 검출 알고리즘 객체 edge를 선택적으로 추출합니다. edge_image edge feature 추출은 픽셀 단위이며, edge_sub_pix는 추출 된 edge까지 픽셀 단위보다 작은 subpixel edge 연산자와는 다릅니다. 일반적으로 moment method, interpolation method 및 피팅 방법이 사용됩니다.

둘째, 자세한 설명

2.1 edge_image (이미지 : ImaAmp, ImaDir : Filter, Alpha, NMS, Low, High :)

이 연산자의 주요 매개 변수는 다음과 같습니다.
ImaDir (이미지의 가장자리 방향, 방향 정보를 계산하지 않기 때문에 sobel_fast 알고리즘에는 쓸모가 없습니다.)
필터 ( 'canny', 'deriche1'를 포함한 가장자리 연산자, ' deriche1_int4 ','deriche2 ','deriche2_int4 ','lanser1 ','lanser2 ','mshen ','shen ','sobel_fast ')
알파 (필터 매개 변수, 작은 값은 강력한 스무딩으로 이어지지 만 세부 정보는 적습니다 (의 반대) canny operator))
NMS (비 최대 억제 (없음으로 설정,이 값이 필요하지 않음을 나타냄))
낮음 (히스테리시스 임계 값 작동을위한 하한 임계 값 (임계 값 설정이 필요하지 않은 경우 음수))
높음 (히스테리시스의 상한 임계 값 ) 임계 값 작동 (필요하지 않은 경우) 임계 값 설정은 음수 임))
2.2 가장자리 감지 알고리즘 알고리즘의
경우 현재 가장 안정적인 가장자리 감지 방법은 캐니 연산자입니다.
캐니 알고리즘은 에지 강도, 에지 세분화 (NMS) 및 히스테리시스 임계 값의 세 단계로 구성됩니다.
먼저, 에지 강도의 계산은 이미지 기울기를 계산하는 것입니다 : 기울기 크기 행렬, 기울기 방향 행렬 :
1) 이미지 회색조
2) 가우스 필터
3) fx로 표시되는 x 및 y 방향의 기울기 이미지를 얻기위한 소벨 필터, fy
4) fx와 fy를 사용하여 그래디언트 진폭과 그래디언트 방향을 찾습니다
.5) 이때 그래디언트 방향은 [-90, +90] 사이의 값이며 0, 45의 4 가지 유형으로 정규화됩니다. , 90, 135도.
그런 다음 NMS (non-maximum suppression)를 계산하고 먼저 정규화 된 방향 행렬에 저장된 방향에 따라 분류 한 다음 같은 방향의 세 픽셀을 비교하여 중간 픽셀의 값이 가장 큰지 확인합니다. 0으로 설정되고 마지막으로 정리 된 그라디언트 진폭 매트릭스를 얻습니다.
마지막으로 그라디언트 진폭 매트릭스를 계속 처리하고 설정된 높은 임계 값 상한 및 낮은 임계 값에 따라 이미지를 세 부분으로 나눕니다.
1. 기울기 진폭이 높음보다 큰 픽셀, 값을 255로 설정,
2. 픽셀 기울기 진폭이 low 미만인 경우 값은 0으로 설정됩니다 .3.
이웃이 8 개인 픽셀의 기울기 크기 중간에서 결정되고 이웃이 높으면 픽셀이 중간 255로 설정됩니다. ,
다음에 관한
실증 각 필터링 알고리즘의 설명 바인딩 다음 절차 :

read_image (I, 'C:/Users/Administrator/Desktop/a.png')
dev_close_window ()
dev_open_window(0, 0, 512, 512, 'black', WindowHandle)
get_image_size (I, Width, Height)
dev_set_window_extents (0, 0, Width, Height)
rgb1_to_gray(I, GrayImage)
*dev_set_lut ('change2')
*设置滞后阈值为默认值
*滤波参数值Alpha
*设置滞后阈值必须大于0,小于255,值越小细节越多,但同时会带来很多不需要的边缘信息。
*值越大则会丢失边缘,很多边缘点值都会被设置为0。
edges_image(GrayImage, ImaAmp, ImaDir, 'canny', 1, 'nms', 20, 40)
dev_display(ImaAmp)

여기에 사진 설명 삽입
여기에 사진 설명 삽입

추천

출처blog.csdn.net/baidu_35536188/article/details/112351198