클로드를 사용하여 Canny Edge Detection을 작성해본 후기를 남겨봅니다.

2025. 5. 29 최초작성

클로드를 사용하여 알고리즘을 구현하면 만족도가 어느 정도인지 궁금하여 이미지에서 에지를 추출하는 Canny Edge Detection을 구현하도록 클로드에게 주문해봤습니다. 

무작정 “Canny Edge Detection을 구현해줘”라고 하니 Canny Edge Detection을 단계별로 구현해주었지만 만족스러운 결과를 보여주지는 않았습니다. 

문제가 되는 부분은 Double Threshold 단계로 두 개의 임계값을 사용하여 강한 에지와 약한 에지로 나누고 Hysteresis 단계에서 최종 에지를 결정하는 것이었습니다.  또 하나는 검출된 에지를 1픽셀로 만드는 단계였습니다.   

직접 구현해본지 오래되서 해당 알고리즘들의 정확한 내용까진 기억이 안나지만 어떤 것을 구현하는 건지만 감안하니 코드를 개선하기가 수월했습니다. 

지시한 것 외의 내용을 더 구현한 것도 있기 때문에 좀 더 살펴야 겠지만 아래 스크린샷처럼 만족스러운 결과가 산출되었습니다. 8번 이미지와 9번 이미지에 각각 클로드를 사용하여 구현한것과 OpenCV로 구현한게 보여지고 10번 이미지에 두 결과의 차이를 색으로 표현하고 있는데 거의 동일한 것을 볼 수 있습니다. 

클로드를 사용하여 알고리즘을 구현시 자세한 알고리즘 내용은 모르더라도 구현 원리를 클로드에게 명확하게 설명할 수 있다면 만족스러운 결과를 얻을 수 있다는 것을 확인했습니다.

진행해보며 힘들었던 점은 원하는 정확한 의도가 한번에 바로 전달 되지 않아서인지 여러번 시행착오 끝에 원하는 결과를 얻을 수 있었던 점입니다. 

클로드를 사용해보면서 종종 느끼는 놀라운 점은 제가 생각지 못한 방식의 결과물을 클로드가 주는 점이 있습니다. 

결과물을 얻었다는 점에 만족할게 아니라 클로드가 작성한 400줄 남짓의 Canny Edge Detection을 분석해보면서 예전에 C언어로 작성했던 구현과 차이를 비교해볼 필요가 있다 싶습니다.