반응형
250x250
Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

폴크(FOLC)

C# - 머신 비전 알고리즘 - OpenCV - 이미지처리4 본문

머신 비전/머신 비전 알고리즘 테크닉 C#

C# - 머신 비전 알고리즘 - OpenCV - 이미지처리4

folcjin 2021. 10. 17. 22:29
728x90
반응형

# 디지털 이미지 처리
   # 이미지의 상태 변경이 가능하다.
      > 이진화, 거리, 적분, 채우기 등에 대한 처리

 

# 이미지 처리 - OpenCV 4.5.3 으로 테스트
   # 이미지의 상태 정보를 이용해서 데이터를 변형
   > srcImage : 입력, dstImage : 결과, thresh: 경계값, max_val : 최대값(대체값), type : 이진화 방법
   > adaptiveMethod : 평균 , C : 옵셋, seedPoint : 기준위치, scale : 배율

# Cv2.Threshold
   > 이미지의 상태 변경 - 경계값을 직접 정의하여 이진화
   > double thresh = 128.0, max_val = 255.0;
   > ThresholdTypes type = ThresholdTypes.Binary;
   > Cv2.Threshold(srcImage, dstImage, thresh, max_val, type);

# Cv2.AdaptiveThreshold
   > 이미지의 상태 변경 - 주변 커널 영역의 값들의 평균을 이용하여 이진화
   > AdaptiveThresholdTypes adaptiveMethod = AdaptiveThresholdTypes.MeanC;
   > double C = 0.0;
   > int blocksize = 3;
   > Cv2.AdaptiveThreshold(srcImage, dstImage, max_val, adaptiveMethod, type, blocksize, C);            

# Cv2.FloodFill
   > 이미지의 상태 변경 - 특정 위치에 폐공간을 채운다.
   > cv::Point seedPoint = cv::Point(1, 2);
   > Scalar newVal = 255, loDiff = new Scalar(0, 0, 0, 0), upDiff = new Scalar(0, 0, 0, 0);
   > Rect rect = new Rect(0, 0, 0, 0);
   > FloodFillFlags flags = FloodFillFlags.Link4; // 상하좌우 4방향을 의미
   > Cv2.FloodFill(srcImage, seedPoint, newVal, out rect, loDiff, upDiff, flags);

# Cv2.Integral
   > 이미지의 상태 변경 - 좌/상 에서 우/하로 이동하면서 적분을 계산한다.
   > Mat sum = new Mat(), sqsum = new Mat(), tilted = new Mat();
   > Cv2.Integral(srcImage, sum, sqsum, tilted);

# Cv2.DistanceTransform
   > 이미지의 상태 변경 - 특정 물체의 중심(seed point)을 기준으로 거리를 예측한다.
   > DistanceTypes distanceType = DistanceTypes.L2;
   > DistanceTransformMasks maskSize = DistanceTransformMasks.Mask3;
   > Cv2.DistanceTransform(srcImage, dstImage, distanceType, maskSize);

728x90
반응형
사업자 정보 표시
사업자 등록번호 : -- | TEL : --