반응형
최종적으로 테이블을 엑셀로 변환작업을 진행하려 합니다.
imread : 이미지 읽기.
이미지 파일은 Numpy Array형태로 값들이 넘어오며 각 숫자가 해당 위치의 색을 의미한다.
image =cv2.imread('./sampleData/tablesample.jpg', cv2.IMREAD_GRAYSCALE) # 이미지 파일 불러오기.
cv2.imshow("image", image) # 윈도우에 이미지 보여주기.
cv2.waitKey(0) # 키보드 입력 대기.
* 불러올 수 있는 이미지 파일 format
.png, pbm, .ppm, pxm, pnm, bmp, jpeg, jpg, jpe, jp2, webp, pfm, sr, ras, exr, hdr, pic, tiff, tif
* 이미지 불러오는 옵션
- cv2.IMREAD_GRAYSCALE : 회색으로 이미지 출력
- cv2.IMREAD_COLOR : 컬러로 읽기.
- cv2.IMREAD_ANYCOLOR : 어떤 색으로든 출력 가능
...
imshow : 이미지 보여주기. imshow(제목, cv2.imread로 불러온 이미지)
cv2.waitKey(0) : 이게 없으면 윈도우가 바로 꺼집니다. python파일의 실행이 종료되기 때문이죠!
cv2.resize(image, dsize = (세로, 가로), fx = x, fy=y, interpolation = cv2.INTER_AREA)
원하는 가로, 세로를 입력해줍니다. 이 때, 가로 세로는 정수이어야 합니다.
이미지 확대하는 경우에는 픽셀에 대한 보간법, 이미지 축소의 경우 픽셀에 대한 병합법이 수행된다.
이미지 조절 방법은 크게 두 가지로 나뉜다.
1. 사용자가 요구하는 절대 크기로 변경 : dsize에 원하는 사이즈 입력.(세로, 가로)
2. 비율에 맞게 상대 크기로 변경하는 방법. : fx, fy에 원하는 비율 입력. 1보다 작으면 축소, 1보다 크면 확대
**
image : 이미지
dsize : 절대 크기
fx, fy : 상대 크기
interpolation : 보간법
image =cv2.imread('./sampleData/tablesample.jpg', cv2.IMREAD_GRAYSCALE) # 이미지 파일 불러오기.
# image의 가로 세로 확인, grayscale이미지의 경우, image.shape = (세로, 가로)
# 파이썬에서는 나머지를 버리기 위해서 // 연산자 활용
print(image.shape[0]//2)
print(image.shape[1]//2)
# 또는 int로 형변환
print(int(image.shape[0]//1.5))
print(int(image.shape[1]//1.5))
# 나누는 수.
divider = 1.5
# 절대크기 활용
dst = cv2.resize(image, dsize=(int(image.shape[1]//divider),
int(image.shape[0]//divider)), interpolation=cv2.INTER_AREA)
# 상대크기 활용
dst2 = cv2.resize(image, dsize=(0,0),
fx=1/divider, fy=1/divider, interpolation=cv2.INTER_AREA)
* interpolation 속성
cv2.INTER_NEAREST | 이웃 보간법 |
cv2.INTER_LINEAR | 쌍 선형 보간법(가장 많이 사용됨) |
cv2.INTER_LINEAR_EXACT | 비트 쌍 선형 보간법(확대 시 주로 사용) |
cv2.INTER_CUBIC | 바이큐빅 보간법(확대 시 주로 사용) |
cv2.INTER_AREA | 영역 보간법(이미지 축소 시 가장 많이 사용) |
cv2.INTER_LANCZOS4 | Lanczos 보간법 |
반응형
'OpenCV' 카테고리의 다른 글
[OpenCV] Kotlin에서 OpenCV사용하기- 설정(feat. Android Studio) (0) | 2023.01.10 |
---|---|
[OpenCV] 이미지 히스토그램 - calcHist (0) | 2023.01.10 |
[OpenCV] 이진화(Binarization, thresholding) (0) | 2023.01.07 |
댓글