-
[Python] 한 장으로 스캔 된 하프사이즈 이미지 두 장 분리하기 (펜탁스 17, Pentax 17)코딩 2025. 3. 4. 22:48반응형
펜탁스17 구입 후, 첫 필름을 현상해 보았다. 기대하던 스캔 이미지를 받고 보니 당황스러웠는데 하나의 파일에 두 장의 이미지가 들어있었던 것이었다. 그러고 보니 하프사이즈 옵션이 있었는데 깜빡한 게 기억이나 스캔 주문 페이지를 다시 살펴봤다. 하프 사이즈의 경우 내가 받은 것과 같이 2ni1으로 스캔은 추가금이 없었고, 하프 사이즈에 맞춰서 스캔하는 것은 추가금이 무려 4000원이 아닌가!!! 유료로 맡기기에는 비싼 것 같아서 이참에 파이썬으로 이미지도 다뤄볼 겸 직접 만들어보기로 했다.
2ni1으로 같이 스캔된 형태는 아래와 같다. 특징으로는 좌우 이미지에 일정한 폭의 구분선이 있다는 것이다. 그리고 구분선이 정확한 중앙에서 약간 벗어나있고, 그 정도와 구분선의 두께가 스캔한 사진마다 다르다는 점이다.두 이미지의 구분선의 두께와 위치가 미세하게 다르다. 처음에는 나름 머리를 쓴다고 이미지의 세로 방향으로 한 픽셀마다 구분선의 두께를 구하고 그 평균 두께를 계산해서 적용해 봤다. 잘 작동하는 듯했지만 문제가 구분선과 비슷한 색이 있는 영역이 두께의 오차를 유발한다는 것이었다. 이번에도 나름 머리를 써서 구분선이 살짝 울퉁불퉁 하지만 큰 차이가 없다는데 착안해서 표준편차를 이용해서 결측치를 제거하는 방식을 도입해 보았다. 역시 잘 작동하는 듯했지만... 밤에 찍은 사진과 같이 아예 대부분이 검은색인 사진은 대책이 서지 않았다ㅠ 결국 그냥 단순하게 만드는 방법으로 전환하여, 좌/우 동일한 offset량을 가지고 이미지를 자르는 방식으로 변경하였다.
이미지는 원본과 동일하게 2대 3 비율로 잘라냈는데 이미지의 좌우 폭에 약간의 여유가 있어 구분선이 약간 치우치더라도 소화가 가능했다. 잘라지는 영역의 확인이 가능하면 좋을 것 같아서 잘라지는 영역에 반투명 영역을 오버레이 하여 같이 출력해 주었다. 이걸 보면서 적당한 offset량을 찾아주었다.분리될 영역의 확인이 가능하다.
첨부터 그냥 단순하게 할 걸... 처음에 만들었던 게 좀 아깝긴 하지만 어쨌든 내가 필요한 수준으로는 잘 작동하니 만족스럽다. 다음부터는 펜탁스17 결과물은 고해상도로 2in1으로 스캔하여 이 코드로 잘라낼 생각이다.
코드는 아래 링크에서 확인 가능https://github.com/hudulgi/image_splitter
GitHub - hudulgi/image_splitter
Contribute to hudulgi/image_splitter development by creating an account on GitHub.
github.com
반응형