티스토리 뷰

딥러닝을 이용하는 것이 아닙니다. 어떤 공간에 있는 무언가가 이동했는지, 무언가가 왔는지 탐지하는 코드입니다.

간단히 픽셀차의 절댓값을 조합하여 산술기하평균값을 출력

 

목적: 고정된 공간에서 물체가 이동하는지 확인하기 위함.

제작년월: 2019년 9월 14일

소프트웨어: Python 3.7.4

필요 모듈: Pillow, numpy

 

 

import PIL.Image as pilimg
import numpy as np
def scan(img1, img2):
    one = pilimg.open(img1)
    two = pilimg.open(img2)
    pix = np.array(one)
    pix2 = np.array(two)
    a = []
    b = []
    for y in range(0, 854):
        for x in range(0, 480):
            a.append(int((abs(int(pix[x][y][0]) - int(pix2[x][y][0])) + abs(int(pix[x][y][1]) - int(pix2[x][y][1])) + abs(int(pix[x][y][2]) - int(pix2[x][y][2]))) / 3))
        b.append(sum(a, 0.0) / len(a))
        a = []
    return (sum(b, 0.0) / len(b))

a = ['1.png','2.png','3.png', '4.png', '5.png']
for b in a:
    for c in a:
        if not b == c:
            print(b, c, scan(b,c))

 

 

# 다른그림을 쓰실거라면, for 문에서 그림의 x,y 픽셀길이를 수정해 주세요

 

 

>> 결과

1.png 2.png 0.43060841139734585
1.png 3.png 4.827315085870416
1.png 4.png 1.0544496487119435
1.png 5.png 1.0544496487119435
2.png 1.png 0.43060841139734585
2.png 3.png 4.779454527712725
2.png 4.png 1.0065890905542545
2.png 5.png 1.0065890905542545
3.png 1.png 4.827315085870416
3.png 2.png 4.779454527712725
3.png 4.png 3.7728654371584693
3.png 5.png 3.7728654371584693
4.png 1.png 1.0544496487119435
4.png 2.png 1.0065890905542545
4.png 3.png 3.7728654371584693
4.png 5.png 0.0
5.png 1.png 1.0544496487119435
5.png 2.png 1.0065890905542545
5.png 3.png 3.7728654371584693
5.png 4.png 0.0

 

숫자가 0인경우 일치율 100%

숫자가 255인경우 일치율 0% 라 보면 됩니다.

 

archive.zip
1.75MB

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함