전체 글 45

14. 이미지 변환(팽창)

In [1]:from Custom.mediahelper import show_image_with_pil # 개발자 정의 모듈14. 이미지 변환¶1. 이미지 변환(팽창)¶이미지를 확장하여 작은 구멍을 채움¶흰색 영역의 외곽 픽셀 주변에 흰색을 추가¶커널 크기 증가커널 크기를 늘리면 더 넓은 영역이 한 번에 영향을 받음.예: 5×5 커널은 3×3 커널보다 더 강력한 팽창 효과를 만듦.커널 값 변경커널 내부 값을 변경하면 연산의 효과가 달라짐.예: 특정 방향만 팽창하거나 특정 패턴을 강조.In [2]:import cv2import numpy as npkernel = np.ones((3, 3), dtype=np.uint8)img = cv2.imread('../Media/images/dilate.png', cv2..

Python/OpenCV 2024.11.18

13_2. 이미지 변형(이진화)

In [1]:from Custom.mediahelper import show_image_with_pil # 개발자 정의 모듈from Custom.mediahelper import show_video_as_html # 개발자 정의 모듈13_2. 이미지 변형(이진화)¶Adaptive Threshold¶이미지를 작은 영역으로 나누어서 임계치 적용적응형 이진화 동작:입력 이미지의 작은 영역(block_size)마다 평균을 계산하고, 해당 평균에서 c를 뺀 값을 기준으로 이진화를 수행.지역적으로 조정되므로 조명 변화가 있는 이미지에서도 효과적.In [2]:import cv2import numpy as npdef empty(pos): #print(pos) passimg = cv2.imread('../Me..

Python/OpenCV 2024.11.18

13_1. 이미지 변형(이진화)

In [1]:from Custom.mediahelper import show_image_with_pil # 개발자 정의 모듈from Custom.mediahelper import show_video_as_html # 개발자 정의 모듈  13_1. 이미지 변형(이진화)¶  Threshold¶ In [2]:import cv2import numpy as npimg = cv2.imread('../Media/images/book.png', cv2.IMREAD_GRAYSCALE) # 흑백으로 읽기img = cv2.resize(img, (1200,800)) # img 사이즈 변경# 두 번째 파라미터: 127은 임계값(threshold). 픽셀 값이 127보다 크면 흰색(255), 작거나 같으면 검정(0)으로 처리.#..

Python/OpenCV 2024.11.18

12. 이미지 변형(원근)

In [1]:from Custom.mediahelper import show_image_with_pil # 개발자 정의 모듈  12. 이미지 변형(원근)¶  사다리꼴 이미지 펼치기¶ In [2]:import cv2import numpy as npimg = cv2.imread('../Media/images/newspaper.png')# 변환 후 이미지 크기 정의width, height = 640, 240# 원근 변환 좌표 정의# 입력 이미지에서 변환할 영역의 좌표(4개의 꼭짓점).# 순서: 왼쪽 위, 오른쪽 위, 오른쪽 아래, 왼쪽 아래.# 픽셀 좌표로 정의.src = np.array([[511, 352],[1008, 352],[1122, 584],[455, 594]], dtype = np.float32)..

Python/OpenCV 2024.11.18

11. 이미지 변형(흐림)

In [1]:from Custom.mediahelper import show_image_with_pil # 개발자 정의 모듈11. 이미지 변형(흐림)¶가우시안 블러¶커널 사이즈 변화에 따른 흐림커널 크기가 크면 더 넓은 영역의 픽셀을 평균화해 부드러운 블러 효과.In [2]:import cv2img = cv2.imread('../Media/images/img.png')_3 = (3,3)_5 = (5,5)_7 = (7,7)kernel_3 = cv2.GaussianBlur(img, _3, 0) # 0 -> 표준편차kernel_5 = cv2.GaussianBlur(img, _5, 0)kernel_7 = cv2.GaussianBlur(img, _7, 0)cv2.imshow('img', img)cv2.imshow..

Python/OpenCV 2024.11.18

10. 이미지 변형(흑백)

In [1]:from Custom.mediahelper import show_image_with_pil # 개발자 정의 모듈10. 이미지 변형(흑백)¶불러온 이미지를 흑백으로 변경¶In [2]:import cv2img = cv2.imread('../Media/images/img.png')#img = cv2.imread('img.png', cv2.IMREAD_GRAYSCALE) # 이미지를 흑백으로 읽음dst = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 불러온 이미지를 흑백으로 변경cv2.imshow('img', img)cv2.imshow('dst', dst)cv2.waitKey(0)cv2.destroyAllWindows()show_image_with_pil(img, 'img..

Python/OpenCV 2024.11.18

09. 이미지 회전

In [1]:from Custom.mediahelper import show_image_with_pil # 개발자 정의 모듈9. 이미지 회전¶방향 회전¶In [2]:import cv2img = cv2.imread('../Media/images/img.png')rotate_90 = cv2.rotate(img, cv2.ROTATE_90_CLOCKWISE) # 시계 방향 90도 회전rotate_180 = cv2.rotate(img, cv2.ROTATE_180) # 180도 회전rotate_reverse_90 = cv2.rotate(img, cv2.ROTATE_90_COUNTERCLOCKWISE) # 시계 반대 방향 90도 회전cv2.imshow('img',img)cv2.imshow('rotate_90', ro..

Python/OpenCV 2024.11.18

07. 이미지 자르기

In [1]:from Custom.mediahelper import show_image_with_pil # 개발자 정의 모듈7. 이미지 자르기¶영역을 잘라서 새로운 윈도우(창)에 표시In [2]:import cv2img = cv2.imread('../Media/images/img.png')crop = img[150:380, 220:450] # img[세로 범위, 가로범위]print(img.shape)print(crop.shape)cv2.imshow('img',img)cv2.imshow('crop',crop)cv2.waitKey(0)cv2.destroyAllWindows()show_image_with_pil(img, 'img')show_image_with_pil(crop, 'crop')(640, 640, ..

Python/OpenCV 2024.11.18

06. 크기 조정

In [1]:from Custom.mediahelper import show_image_with_pil # 개발자 정의 모듈6. 크기 조정¶이미지¶고정 크기로 설정In [2]:import cv2img = cv2.imread('../MEDIA/img.png')dst = cv2.resize(img, (400,500)) # width, heightcv2.imshow('img',img)cv2.imshow('resize', dst)cv2.waitKey(0)cv2.destroyAllWindows()show_image_with_pil(img, 'img')show_image_with_pil(dst, 'dst')'img''dst'비율로 설정In [3]:import cv2img = cv2.imread('../MEDIA/i..

카테고리 없음 2024.11.18