¸Ó¸®½Î¸Å°í °í¹ÎÇصµ ¸ô¸£°Ú¾î¼ µµ¿òÀ» ¹ÞÀ»¼ö ÀÖÀ»±î Áú¹®¿Ã¸³´Ï´Ù ¤Ì¤Ì..
À§¼Ò½º ½ÇÇà½Ã ¸ð¼ÇĸÃÄÇѺκÐÀº rectangle·Î Ç¥½Ã°¡µÇ´Âµ¥ ĸÃÄÀ̹ÌÁö¸¦ ¿¾îº¸¸é
¸¶Áö¸· ºÎºÐÀÌ Ä¸ÃÄ°¡µË´Ï´Ù. ¿òÁ÷ÀÓÀ» °¨ÁöÇßÀ»¶§ ĸÃÄÇÏ°í ½Í½À´Ï´Ù.
import cv2
import numpy as np
def diffImage(i):
diff0 = cv2.absdiff(i[0], i[1])
diff1 = cv2.absdiff(i[1], i[2])
return cv2.bitwise_and(diff0, diff1)
def getGraycameraImage(cam):
image = cam.read()[1]
gimage = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
return gimage
def updateCameraImage(cam, i):
i[0] = i[1]
i[1] = i[2]
i[2] = getGraycameraImage(cam)
if __name__ == "__main__":
thresh = 32
cam = cv2.VideoCapture('aaa.mp4')
i = [None, None, None]
for n in range(3):
i[n] = getGraycameraImage(cam)
while True:
diff = diffImage(i)
ret, thrimg = cv2.threshold(diff, thresh, 1, cv2.THRESH_BINARY)
count = cv2.countNonZero(thrimg)
if (count > 1):
nz = np.nonzero(thrimg)
cv2.rectangle(diff, (min(nz[1]), min(nz[0])), (max(nz[1]), max(nz[0])), (255, 0, 0), 2)
cv2.rectangle(i[0], (min(nz[1]), min(nz[0])), (max(nz[1]), max(nz[0])), (0, 0, 255), 2)
cv2.imwrite('capture1.jpg', i[2])
cv2.imshow('Detecting Motion', diff)
updateCameraImage(cam,i)
key = cv2.waitKey(10)
if key == 27:
break
Àâ´ã | 979¸íÀÌ Àоú¾î¿ä. 3.139.83.7