Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- YOLO
- 핑거스타일
- C++
- 명령어
- Docker
- SSH
- Selenium
- mysql
- Visual Studio
- ubuntu
- pytorch
- pip
- C#
- 오류
- pandas
- LIST
- Linux
- windows forms
- VS Code
- Numpy
- 프로그래머스
- C
- error
- label
- paramiko
- Python
- 기타 연주
- 채보
- OpenCV
- JSON
Archives
- Today
- Total
기계는 거짓말하지 않는다
Python OpenCV (4) 이미지 편집 본문
OpenCV를 이용한 이미지 편집(감마, 블러, 패딩)의 예
640 x 360 (16:9)로 resize한 이미지 이용
# 이미지 밝기, 감마
aurora = cv2.imread("aurora.jpg")
aurora = cv2.resize(aurora, (640, 360))
g = 2.2
table = np.array([((i / 255.0) ** (1/g)) * 255 for i in np.arange(0, 256)]).astype("uint8") # g를 변경하면 변화
gamma_img = cv2.LUT(aurora, table)
# 미리 가중치를 계산해 각 화소가 계산 후 어떤 결과가 되는지 참조만 하는 테이블을 만듦. 연산량 줄임
val = 50 # randint(10, 50)
array = np.full(aurora.shape, (val, val, val), dtype=np.uint8)
bright_img = cv2.add(aurora, array).astype("uint8")
cv2.imshow("origin", aurora)
cv2.imshow("bright", bright_img)
cv2.imshow("gamma", gamma_img)
cv2.waitKey()
# 이미지 블러링 (사람 얼굴 등 블러 처리)
blu_img = cv2.blur(img2, (15, 15)) # 가중치
roi = img2[100:300, 200:450] # y, x
roi = cv2.blur(roi, (15, 15))
img2[100:300, 200:450] = roi
cv2.imshow("blu", blu_img)
cv2.imshow("s_blu", img2)
cv2.waitKey()
# 이미지 패딩
# 값 만큼 지정된 색상으로 왼쪽 오른쪽 위 아래 이미지를 더 채움
# 640, 360 -> 700, 700
img_pad = cv2.cv2.copyMakeBorder(img, 170, 170, 30, 30, cv2.BORDER_CONSTANT, value=[0, 0, 0]) # top, bottom, left, right
cv2.imshow("img_pad", img_pad)
cv2.waitKey()
# 정사각형으로 패딩 후 resize -> 비율이 깨지지 않음
'Python' 카테고리의 다른 글
Python Selenium, BeautifulSoup (0) | 2021.07.19 |
---|---|
Python Crawling (0) | 2021.07.19 |
Python OpenCV (3) 이미지 편집 (0) | 2021.07.14 |
Python OpenCV (2) 도형 그리기 (0) | 2021.07.13 |
Python OpenCV (1) 기본 이미지 다루기 (0) | 2021.07.11 |
Comments