반응형
OpenCV Python +  pyQt5 구현 - 두 개의 이미지 더하는  블렌딩
OpenCV/OpenCV 강좌2024. 8. 28. 23:26OpenCV Python + pyQt5 구현 - 두 개의 이미지 더하는 블렌딩

두 장의 이미지의 투명도를 조정하여 두 개의 이미지가 겹쳐보이게 하는 블렌딩(Blending)을 구현한 OpenCV Python 예제 코드를 테스트하기 쉽도록  pyQt5로 작성된 UI를 사용합니다. 2024. 8. 28 최초작성  OpenCV Python만을 사용하여 구현한 코드는 아래 포스트에서 구현되어 있습니다. OpenCV Python 강좌 - 두 개의 이미지 더하기, 블렌딩https://webnautes.tistory.com/1245pyQt5를 사용하여 이미지의 투명도를 조정하게 만든 예제를 실행시키면 슬라이더를 사용하여 두 장의 이미지의 투명도를 조정할 수 있습니다.실행하면 두 장의 이미지가 겹쳐서 보이게 됩니다. 2장의 이미지의 투명도가 각각 50%이기 때문입니다.  어느 한쪽으로 이동하면 ..

OpenCV/OpenCV 강좌2024. 5. 24. 00:00OpenCV Python Tracking 예제

OpenCV에서 제공하는 Tracker를 사용한 Tracking 예제입니다. 2024. 5. 23  최초작성https://youtu.be/rswSdXN1KUw import cv2import time# 카메라 장치 열기. 윈도우/리눅스에선 0을 사용하고 맥북에선 1을 사용합니다.cap = cv2.VideoCapture(1)  # 웹캠 초기화 시간을 고려하여 딜레이를 줍니다.time.sleep(1)# 트래커 객체를 생성합니다.tracker = cv2.TrackerKCF_create()# 첫 프레임 읽어옵니다.ret, frame = cap.read()if not ret:    print("프레임을 읽을 수 없습니다.")    cap.release()    cv2.destroyAllWindows()    exi..

OpenCV Python 마우스 이벤트 예제
OpenCV/OpenCV 강좌2024. 5. 18. 22:20OpenCV Python 마우스 이벤트 예제

OpenCV Python 마우스 이벤트 예제입니다.최초작성 2024. 5. 16마우스 커서를 움직여서 왼쪽 마우스 버튼을 누르면 해당 위치에 초록색점이 찍히고 터미널에 좌표가 출력됩니다.  터미널에 초록색 점에 해당되는 좌표가 출력됩니다. (x,y)=(167, 132)(x,y)=(352, 283)전체 소스코드입니다. import cv2import numpy as npimport queuedef mouse_callback(event, x, y, flags, param):    # 마우스 왼쪽 버튼 클릭시만 감지합니다.    if event == cv2.EVENT_LBUTTONDOWN:        print(f'(x,y)=({x}, {y})')        # 마우스 커서 좌표를 큐에 삽입합니다.     ..

두 점 사이의 각도를 구하는 OpenCV Python 예제 코드
OpenCV/OpenCV 강좌2024. 4. 25. 23:37두 점 사이의 각도를 구하는 OpenCV Python 예제 코드

두 점 사이의 각도 구하는 OpenCV Python 예제 코드입니다.2024. 4. 25  최초작성   실행결과는 유튜브 영상을 참고하세요.https://youtu.be/T2InIT7b7_U?si=gxb6zTbeT8164cap  두 점 사이의 각도는 아래 그림처럼 표시됩니다.이미지 출처 https://stackoverflow.com/questions/28226833/get-angle-in-terms-of-360-degrees영상에서 사용한 전체 코드입니다. import cv2import numpy as npimport queueimport math# 마우스 이벤트를 캡처합니다.def mouse_callback(event, x, y, flags, param):    # 왼쪽 마우스 버튼 클릭 이벤트를 캡처..

OpenCV/OpenCV 강좌2024. 4. 20. 07:02OpenCV - 이미지 파일을 mp4 동영상 파일로 변환하는 파이썬 코드

영상 파일을 이미지 파일로 변경한 것을 다시 영상 파일로 바꿀 필요가 있어서 코드를 작성해보았습니다. 2023. 2. 14 최초작성 2024. 4. 20 동영상 파일을 일련 번호 붙인 이미지 파일로 저장하는 것은 다음 포스트를 참고하세요. OpenCV Python - 동영상 파일을 일련번호 붙은 이미지 파일로 저장하기 https://webnautes.tistory.com/2323 일련 번호 붙은 이미지 파일을 동영상 파일로 다시 바꾸어봅니다. import cv2 import os def get_files(path): for root, subdirs, files in os.walk(path): list_files = [] if len(files) > 0: for f in files: fullpath = r..

OpenCV/OpenCV 강좌2024. 4. 20. 06:59OpenCV Python - 동영상 파일을 일련번호 붙은 이미지 파일로 저장하기

동영상 파일을 일련번호 붙은 이미지 파일로 저장하는 OpenCV Python 예제입니다. 2024. 4. 20 최초작성 import os import shutil import cv2 save_dir = './img' response = 'y' # 디렉토리가 존재하는지 체크 if os.path.exists(save_dir): # 디렉토리를 지울지 물어봄 response = input(f'{save_dir} 디렉토리가 존재합니다. 삭제하고 새로 생성하시겠습니까? (y/n): ') if response.lower() == 'y': # 디렉토리 삭제 shutil.rmtree(save_dir) print(f'{save_dir} 디렉토리가 삭제되었습니다.') else: print('종료합니다.') exit(0) #..

OpenCV Python 검은색 빈 공간 채우기
OpenCV/OpenCV 강좌2024. 4. 19. 21:35OpenCV Python 검은색 빈 공간 채우기

검은색 빈공간을 채우는 OpenCV Python 예제입니다. 2024. 4. 17 최초 작성 실행 결과입니다. 왼쪽 원본 이미지에 보이는 검은색 공백들이 메꿔진 결과가 오른쪽 결과 이미지에 보입니다. 전체 코드입니다. import cv2 def fill_internal_areas(image_array): # 그레이스케일로 변환합니다. gray = cv2.cvtColor(image_array, cv2.COLOR_BGR2GRAY) # 컨투어를 찾습니다. contours, hierarchy = cv2.findContours(gray, cv2.RETR_CCOMP, cv2.CHAIN_APPROX_SIMPLE) if contours and hierarchy is not None: for idx, contour in..

Matplotlib의 컬러맵을 화면에 출력하는 OpenCV 예제
OpenCV/OpenCV 강좌2024. 4. 18. 23:03Matplotlib의 컬러맵을 화면에 출력하는 OpenCV 예제

Matplotlib의 컬러맵을 화면에 출력하는 OpenCV 예제입니다. 2024. 4. 18 최초작성 실행 결과입니다. Matploilib의 'plasma' 컬러맵을 보여줍니다. 사용한 전체 코드입니다. import numpy as np import cv2 import matplotlib cmap = matplotlib.colormaps['plasma'] array = np.linspace(0, 1, 256) # array 값 0 ~ 255에 대응하는 컬러를 가져옵니다. plasma_colors = cmap(array) # shape=(256, 4) plasma_colors = plasma_colors[:, :3] # 알파 채널 제거 shape=(256, 3) # 이미지의 색상 순서를 RGB에서 BGR로..

OpenCV Python kmeans 예제
OpenCV/OpenCV 강좌2024. 4. 10. 07:35OpenCV Python kmeans 예제

k-means 클러스터링 알고리즘을 구현한 kmeans 함수 예제입니다. 2024. 4. 10 최초시간 kmeans 함수는 k-means 클러스터링 알고리즘을 구현한 것으로, 주어진 데이터를 k개의 클러스터로 그룹화하는 데 사용됩니다. 이 함수는 데이터 포인트 사이의 유클리드 거리를 기반으로 각 데이터 포인트를 가장 가까운 클러스터 중심에 할당합니다. 클러스터의 수 k는 사용자가 지정해야 하며, 알고리즘은 클러스터의 중심을 반복적으로 업데이트하면서 데이터 포인트를 그룹화합니다. import cv2 import numpy as np def cluster_colors(img, k): h, w, _ = img.shape # 이미지를 (픽셀 수, 채널 수) 형태로 변환합니다. img_flatten = img.r..

OpenCV Python inpaint 함수 :  손상된 이미지 복원(Image Inpainting)
OpenCV/OpenCV 강좌2024. 4. 4. 21:33OpenCV Python inpaint 함수 : 손상된 이미지 복원(Image Inpainting)

inpaint 함수는 이미지에서 손상된 부분을 제거하고 그 자리를 자연스럽게 채워 넣어줍니다. 2024. 4. 4 최초작성 왼쪽 이미지가 원본 깊이 이미지입니다. 검은색으로 된 부분이 손상된 부분입니다. 오른쪽은 inpaint 함수를 사용하여 손상된 검은색 부분을 주변 픽셀로 메꾸어 자연스럽게 바꾼 결과입니다. 전체 코드입니다. import cv2 # 이미지를 로드합니다. img_color = cv2.imread('fall-01-cam0-d-001.png') # 그레이 스케일 이미지로 변환합니다. img_gray = cv2.cvtColor(img_color, cv2.COLOR_BGR2GRAY) # 검은색 영역을 마스크로 사용하기 위해 임계값을 설정합니다. # cv2.THRESH_BINARY_INV를 사용..

반응형
image