1.이미지 띄우기
waitKey안하면 바로 꺼버림
import cv2
# 이미지를 컬러 모드로 읽음
img = cv2.imread('img/test.png', cv2.IMREAD_COLOR)
# 이미지를 표시
cv2.imshow('title', img)
# 키 입력 대기
cv2.waitKey(0)
# 모든 창 닫기
cv2.destroyAllWindows()
2.크기조절
cv2.INTER_AREA는 이미지의 원래 픽셀 간의 면적 보간을 사용하여 이미지 크기를 조절함
# 이미지 사이즈 조절
img = cv2.resize(img, dsize=(400, 400), interpolation=cv2.INTER_AREA)
3.반전
-: 상하좌우
+: 좌우
0: 상하
# 반전
# -: 상하좌우
# +: 좌우
# 0: 상하
img = cv2.flip(img, 0)
4. 이미지 크기 추출
#높이 너비 채널 추출
height, width, channel = img.shape
# 이미지 사이즈 조절
img = cv2.resize(img, dsize=(width//4, height//4), interpolation=cv2.INTER_AREA)
5.부분 자르기
#부분 자르기
#너비 400~600 , 높이 300~600 자르기
img2=img[400:600, 300:600].copy()
6.흑백
# 흑백사진
img2= cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
7.반전
# 반전
img2 = cv2.bitwise_not(img)
8.이진화
이미지의 픽셀 값을 2개의 값(흰색(255) ,검은색(0))으로 변환하는 것
100: 임계값-> 픽셀 값이 이 값보다 크면 255로 설정되고, 그렇지 않으면 0으로 설정
255: 최대값-> 초과된 픽셀은 255로 설정
#이진화
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img2 = cv2.threshold(gray, 100, 255, cv2.THRESH_BINARY)[1]
임계값 200으로 했을때
#이진화
#100: 임계값-> 픽셀 값이 이 값보다 크면 255로 설정되고, 그렇지 않으면 0으로 설정
#255: 최대값-> 초과된 픽셀은 255로 설정
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img2 = cv2.threshold(gray, 200, 255, cv2.THRESH_BINARY)[1]
9.블러
# 블러
# 블러링(kernel) 크기 (가로,세로크기),
# 앵커 포인트 (-1,-1) -> 중심
img2 = cv2.blur(img, (10, 10), anchor=(-1, -1), borderType=cv2.BORDER_DEFAULT)
10.테두리 따기
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img2 = cv2.Sobel(gray, cv2.CV_8U, 1, 0, 3)
img2 = cv2.Laplacian(gray, cv2.CV_8U, ksize=3)
img2 = cv2.Canny(img, 100, 255)
반응형
'AI' 카테고리의 다른 글
[OpenCV] OpenCV HSV (0) | 2025.01.18 |
---|---|
[OpenCV] OpenCV(Open Source Computer Vision Library)란? (0) | 2025.01.17 |
[AI] LLAMA 파인튜닝 해보기 (0) | 2025.01.17 |