python(20)
-
Using Flask + s3 image viewer
Flask를 사용하여 AWS S3에서 이미지를 읽어와 웹페이지에서 띄우는 방법은 간단합니다. Flask에서는 send_file 함수를 사용하여 이미지를 웹페이지로 보낼 수 있습니다. 아래는 예제 코드입니다. 먼저, 필요한 라이브러리를 설치합니다. pip install Flask boto3 그런 다음, 다음과 같이 Flask 애플리케이션을 작성합니다. from flask import Flask, render_template, send_file import boto3 app = Flask(__name__) @app.route('/') def display_image(): # AWS S3 설정 bucket_name = 'your-bucket-name' object_key = ..
2024.01.10 -
다각형 겹친 부분의 넓이 구하기 (Python w/ shapely)
두 다각형의 겹친 부분의 넓이를 구하고 싶을 때, Python에서 shapely라는 라이브러리를 사용하면 간편하다. 아래 코드는 사각형과 육각형의 각 꼭지점 좌표를 알고 있을 때 겹친 부분의 넓이를 구한 코드이다. from shapely.geometry import Polygon from shapely.ops import unary_union def calculate_overlap_area(rectangle, hexagon): # 다각형 생성 polygon_rect = Polygon(rectangle) polygon_hex = Polygon(hexagon) # 겹침 부분 계산 intersection = polygon_rect.intersection(polygon_hex) # 겹침 부분이 없으면 넓이는 0..
2024.01.08 -
헝가리안 알고리즘
헝가리안 알고리즘은 일반적으로 이분 그래프에서 최대 가중 매칭을 찾는 문제로 표현되며, 이를 해결하기 위한 몇 가지 알고리즘이 있습니다. 그 중에서 대표적인 것은 Kuhn-Munkres 알고리즘이며, 이를 사용하여 헝가리안 알고리즘을 직접 구현할 수 있습니다. 아래는 Kuhn-Munkres 알고리즘을 사용하여 헝가리안 알고리즘을 직접 구현한 코드입니다. 이 코드에서는 최소 비용 매칭을 찾기 위해 최대 가중 매칭을 찾는 방식으로 구현되어 있습니다. import numpy as np def hungarian_algorithm(cost_matrix): cost_matrix = np.array(cost_matrix) num_rows, num_cols = cost_matrix.shape # Step 1: Subt..
2023.11.17 -
cv2 bbox 그리기
OpenCV (cv2)를 사용하여 이미지에 bounding box (bbox)를 그리고 저장하는 Python 코드: import cv2 def draw_bbox(image_path, bbox, output_path): # 이미지를 읽어옵니다. image = cv2.imread(image_path) # bounding box 좌표를 추출합니다. x, y, w, h = bbox # bounding box를 그립니다. color = (0, 255, 0) # 초록색 thickness = 2 cv2.rectangle(image, (x, y), (x + w, y + h), color, thickness) # bounding box가 그려진 이미지를 저장합니다. cv2.imwrite(output_path, image..
2023.11.16 -
python opencv 이미지 합치기
OpenCV를 사용하여 두 개의 이미지를 하나의 이미지로 결합하고 저장하는 방법은 다음과 같습니다. 두 이미지를 수평으로 또는 수직으로 결합할 수 있습니다. 두 이미지를 수평으로 결합하는 경우: import cv2 # 두 이미지를 읽어옵니다. image1 = cv2.imread('image1.jpg') image2 = cv2.imread('image2.jpg') # 두 이미지를 수평으로 결합합니다. combined_image = cv2.hconcat([image1, image2]) # 결합된 이미지를 저장합니다. cv2.imwrite('combined_image.jpg', combined_image) 두 이미지를 수직으로 결합하는 경우: import cv2 # ..
2023.11.01 -
Python import 위치 알기
개발 환경을 구축할 때, 복잡한 개발 환경의 경우 Import를 할 때 해당 패키지가 어디서 왔는지 알고 싶을 때가 있다. 이때 사용할 수 있는 방법이 총 2가지가 있다. 아래 예시는 cv2를 찾을 때다. 1. import inspect를 사용하는 방법 inspect 모듈을 사용하면 모듈의 정보를 더 자세히 확인할 수 있다. 다음과 같이 inspect 모듈을 사용하여 cv2 모듈의 위치를 확인할 수 있다. import cv2 import inspect cv2_location = inspect.getfile(cv2) print(cv2_location) 2.명령 프롬프트나 터미널에서 python -c "import cv2; print(cv2.__file__)"
2023.10.10