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 |
Tags
- 텐서플로
- Linux
- 서평
- 통계학
- 독후감
- SQL
- Pandas
- Tistory
- Google Analytics
- 딥러닝
- matplotlib
- 파이썬
- 티스토리
- Blog
- 한빛미디어서평단
- Visualization
- 블로그
- 서평단
- Ga
- MATLAB
- MySQL
- Python
- 리눅스
- python visualization
- 파이썬 시각화
- tensorflow
- 한빛미디어
- 시각화
- 월간결산
- 매틀랩
Archives
- Today
- Total
pbj0812의 코딩 일기
[PYTHON] OpenCV 를 활용한 그래프의 y 좌표 구하기 본문
0. 문제
- 아래와 같은 그림이 하나 주어졌을때 각 x 좌표에 대한 y 값들을 구하기
1. 실습
1) library 호출
import cv2
import numpy as np
import matplotlib.pyplot as plt
2) 이미지 가져오기
image = cv2.imread('/content/drive/MyDrive/96__코드/test2.png')
3) 이미지 크기 및 파란색 좌표 따오기
length = np.shape(image)[1] # 가로 길이
length2 = np.shape(image)[0] # 세로 길이
blue = [222, 104, 0] # 파란색 BGR(좌표 찍어서 찾음)
image2 = image.reshape(-1, 3) # 데이터를 한 줄로 만들기
indices = np.where(np.all(image2 == blue, axis=1)) # 파란색 좌표 찾기
4) index 를 이용하여 2 차원 좌표로 변형하기
x = []
y = []
for i in indices:
x.append(i % length)
y.append(length2 - (i // length))
5) 대표 x 값 구하기
X = np.linspace(min(x[0]), max(x[0]), 7) # x 좌표가 7개라 7
X = [int(num) for num in X]
print(X)
6) 구한 x 값을 이용하여 대표 y 값 구하기
- index 를 쓰면 가장 첫 값만 가져옴
Y = []
for i in X:
Y.append(y[0][list(x[0]).index(i)])
7) 데이터 확인
plt.plot(X, Y)
8) y 좌표의 최소값, 최대값 구하기
min_y = min(Y)
max_y = max(Y)
9) 최소값과 최대값의 실제값 알려주기
min_answer = 0 # 사용자 정의 필요
max_answer = 4 # 사용자 정의 필요
10) 비례식을 활용하여 실제 값 구하기
final = []
for i in Y:
final.append(((max_answer * (i - min_y) + min_answer * (max_y - i)) / (max_y - min_y)))
11) 결과 확인
- 0.0, 4.0, 0.5217391304347826, 0.0, 0.0, 0.0, 0.5990338164251208
plt.plot(final)
2. 참고
https://engineer-mole.tistory.com/236
'ComputerLanguage_Program > PYTHON' 카테고리의 다른 글
[PYTHON] plotly 를 이용하여 sankey diagram 그리기(+ 색상 추가) (1) | 2023.10.19 |
---|---|
[PYTHON] plotly 를 통해 sankey diagram 그리기 (0) | 2023.10.18 |
[PYTHON] PyScript 로 그림 그리기 (0) | 2023.02.06 |
[PYTHON] 피보나치 수열 시각화 (0) | 2022.11.13 |
[PYTHON] 기하학 로고 그리기 (1) | 2022.11.06 |
Comments