파이썬으로 이미지 처리 100 노크 # 1 채널 교체

소개



아무래도, 라무입니다.
갑작스럽지만 저는 이미지 처리 시스템의 실험실에 속합니다. 내 연구실에서는 다음 달부터 후배에게 세미나로 화상 처리 수법에 대해 가르쳐 가야 합니다.

솔직히 최근 공부 부족으로 기본적인 화상 처리의 실장이나 설명을 할 수 없는 것 같습니다. 그래서 imori_imori 님의 화상 처리 100개 노크을 해보기로 결정했습니다.

여기에서는 1개씩 화상 처리를 실장해 가볍게 해설해 가려고 생각합니다. 덧붙여 파이썬은 최근 방금 시작했기 때문에 코딩 능력은 봐주세요.

첫 번째: 채널 교체



기념해야 할 첫 번째 이미지 처리는 채널 교체입니다.
컬러 이미지에는 빨강, 파랑, 녹색의 3색 성분, 즉 3채널의 성분이 존재합니다.
openCV를 사용하여 읽으면 파란색, 녹색, 빨간색 순서가 되지만 이번에는 이를 빨간색, 녹색, 파란색 순서로 바꿉니다.

reverseChannel.py
import cv2
import matplotlib.pyplot as plt


def reverseChannel(img):
  # 画像コピー
  dst = img.copy()
  # チャネル入れ替え
  dst[:, :, 0] = img[:, :, 2]
  dst[:, :, 2] = img[:, :, 0]

  return dst


# 画像読込
img = cv2.imread('image.jpg')

# チャネル入れ替え
img = reverseChannel(img)

# 画像保存
cv2.imwrite("result.jpg", img)
# 画像表示
plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.show()



이미지 왼쪽은 입력 이미지이고 이미지 오른쪽은 출력 이미지입니다.
적색 성분과 청색 성분이 바뀌어 생선회의 적색이 청색으로 바뀌고 있습니다.

결론



이런 느낌으로 출력하고 싶습니다. 만약, 질문이 있는 분이 계시면 부담없이 부디.
덧붙여서, 화상 처리 100개 노크 공식 사이트의 Github에 공식의 해답이 실려 있으므로 꼭 그쪽도 확인해 보세요.

좋은 웹페이지 즐겨찾기