cv.namedWindow, cv.setMouseCallback의 관계(Feat, winname, 윈도우 창 구분자)
import cv2 as cv import numpy as np import sys img = cv.imread("2.jpg") if img is None: sys.exit("해당 파일을 찾지 못하였습니다.") def drawing(event,x,y,flags,param): global ix,iy if event == cv.EVENT_LBUTTONDOWN: ix,iy = x,y elif event == cv.EVENT_RBUTTONUP: cv.rectangle(img,(ix,iy),(x,y),(0,0,255),2) print("x",x,"y",y) cv.imshow("t2",img) cv.namedWindow("t1") cv.imshow("t1",img) cv.setMouseCallback("tittle..
더보기
cv.CHAIN_APPROX_NONE, CHAIN_APPROX_SIMPLE(Feat. findContours() )
cv.CHAIN_APPROX_NONE 등고선(Edge)을 표현할 때 근사화를 하지 않고, 모든 좌표를 포함하여 표현하는 방법입니다. 이 방법을 사용하면 등고선 상의 모든 픽셀 좌표가 유지되며, 등고선(Edge)이 구성되는 모든 픽셀이 포함됩니다. 1로 표시된 모든 좌표를 반환을 한다. cv.CHAIN_APPROX_SIMPLE 등고선(Edge)의 일부 중요한 포인트만을 선택하여 표현하게 되어 메모리 사용을 줄이고 계산 효율성을 높입니다. 예를 들어, 이 등고선(Edge)을 근사화하여 표현하는 좌표 리스트는 [(0,0), (3,3), (3,1), (3,3)]와 같이 등고선을 대표하는 중요한 포인트만을 포함하고 있게 됩니다. (정사각형의 네 개의 꼭지점의 좌표만이 반환된다) https://bkshin.tist..
더보기
cv2.resize의 [dsize]와 [fx,fy]의 관계(open-cv)
import cv2 # 이미지 불러오기 image = cv2.imread("input_image.jpg", cv2.IMREAD_GRAYSCALE) # 가로x세로 = (1000,1000)이라고 가정 # 이미지의 크기를 반으로 줄이기 resized_image = cv2.resize(image, dsize=(0, 0), fx=0.5, fy=0.5) # 결과 이미지 출력 cv2.imshow("Resized Image", resized_image) cv2.waitKey(0) cv2.destroyAllWindows() 우선 결론을 먼저 말하자면 cv2.resize()를 통해 이미지의 크기를 조절하기 위해서는 dsize와 [fx,fy] 둘 중 하나만 사용해도 된다. dsize=(0,0)으로 설정을 할 경우, 이미지의..
더보기