0
python에서 opencv3.1로 cv2 작업 2.7.12. 제가 지금 당장 가지고있는 문제는, 제가 여러 가지 지침을 따르고 있지만, 모두 나 자신과 동일한 설정을 사용하거나 최소한 비슷한 설정을 사용하는 것 같습니다. 나는이 두 가지 예를 중심으로 가고있다 : openCV.org과 CodeGenerater's Blogspot tutorial. 나는 콜백 함수를 만들거나 cv2.getTrackbarPos
을 사용하는 것을 잊지 않았다. 이미지 디스플레이 루프에서 특정 순서로 잘못된 것이 있어야한다고 생각합니다. 여기 그것은 초기 트랙 바 임계 값으로 이미지를 diaplays, 내가 무엇을 가지고 있지만, 트랙 바 콜백와 이미지를 업데이트하지 않습니다 :cv2 getTrackbarPos가 작동하지 않습니다.
import cv2
#write simple callback function to pass trackbar position as *arg
def callback(*arg):
pass
#create display window for image
cv2.namedWindow('frame')
#read in image
img = cv2.imread(r'/home/Usr/Documents/Aerial-Images/images_with_targets/Flight_4/target_10.jpg',0)
#instantiate trackbar that goes in our named window and uses callback function
cv2.createTrackbar('thresh2','frame',5,15,callback)
#initialize thresholds
thresh1=11
thresh2=5
#loop really just runs until the escape key causes a break
while(True):
#sets threshold 2 to trackbar position
thresh2=cv2.getTrackbarPos('thresh2','frame')
#apply laplacian filter to ehance edge gradients
th = cv2.Laplacian(img,cv2.CV_8UC1)
#binarize image with adaptive threshold
th = cv2.adaptiveThreshold(th,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY_INV,thresh1,thresh2)
#show filtered image
cv2.imshow('frame',th)
#waits for escape key then breaks out of loop
if cv2.waitKey(0) & 0xFF == ord('q'):
break
#close our display window
cv2.destroyallwindows()