평소에 jQuery 로 get, post 를 쓰다가 javascript 만 사용해서 get은 어떻게 사용하는지 궁금해서 찾아봤다.

// jQuery

$.get("/sampleURL", function(response){
	console.log(response);
})

jquery 였다면 이렇게 간단하게 구현가능한데..

 

// Javascript

var xmlhttp = new XMLHttpRequest();

xmlhttp.onreadystatechange = function(){ // request 했을 때
    if(xmlhttp.readyState == XMLHttpRequest.DONE){ // request 가 완료 됐을 때
        if(xmlhttp.status == 200){ // 성공
            data = JSON.parse(xmlhttp.responseText);
            console.log(data); 
        }
        else{ // 실패
            console.log("Error : " + xmlhttp.status);
        }
    }
}

xmlhttp.open("GET", "/sampleURL"); // request 방식과 URL 지정
xmlhttp.send(); // request 한다

 

post 도 비슷하겠지만 자세히는 다음에 찾아봐야겠다.

 

Button이 여러개가 있다.

 

<!-- HTML -->

<button name='btn' id='a'>a</button>
<button name='btn' id='b'>b</button>
<button name='btn' id='c'>c</button>
<button name='btn' id='d'>d</button>
<button name='btn' id='e'>e</button>
<button name='btn' id='f'>f</button>
<button name='btn' id='g'>g</button>
<button name='btn' id='h'>h</button>

html

각 버튼을 눌렀을 때 id를 가져와보자

 

// javascript

// Name 으로 button 들을 가져온다
var btns = document.getElementsByName("btn");

// 가져온 버튼들(NodeList)에 forEach 로 EventListener 를 추가해준다.
btns.forEach(element => element.addEventListener('click', function(e){

    // e는 클릭 이벤트, e.target 으로 클릭된 객체를 가져온다.
    console.log(e.target);
    console.log(e.target.id);
    
    // a 를 눌렀을 때 :
    // <button name="btn" id="a">a</button>
    // a
}))

console

var btns = document.getElementsByName("btn")

btns.forEach(element => element.onclick = function(element){
    console.log(e.target)
    console.log(e.target.id)
})

물론 onclick 으로도 가능하다

input 태그에서 엔터 입력시 input의 값을 얻어오는 방법이다.

 

<input id="input">

<script type="text/javascript">

	// id 로 input 객체를 가져온다.
	var input = document.getElementById("input");
    
	// 가져온 객체에 EventListener 를 추가한다. keypress = 키입력 감지
	input.addEventListener('keypress', function(key){

	// key.key 의 값이 Enter 일 경우 코드 실행
        // key.keyCode == 13 도 동일한 기능을 한다.
        if(key.key == 'Enter'){
			var inputValue = input.value;
            console.log(inputValue);
            }
        })
        
</script>	

 

python3 버전 기준으로 작성하였습니다.

 

ip camera, 웹캠 등 rtsp 주소로 받아와서 opencv 로 처리해야하는 경우가 있다.

 

샘플주소를 넣어 확인해보자

import cv2

# 샘플 영상
url = 'rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov'

cap = cv2.VideoCapture(url)

while True :
    ret, frame = cap.read()
    
    # 윈도우 창 출력용
    cv2.imshow("video", frame)
    cv2.waitKey(1)

출력화면

 

ip camera 의 경우 아이디, 비밀번호를 쳐야하는 경우도 있는데..

# 예시
rtsp://id:pw@192.168.0.1:554/media/video1/video

제조사별로 다르겠지만 해당 주소를 찾아서 url 에 넣어주면 된다.

'Python > OpenCV' 카테고리의 다른 글

[OpenCV] VideoWriter Failed to load OpenH264 library  (10) 2020.04.20

python 이 설치되어있고, 3 버전을 기준으로 작성하였습니다.

 

 

1. get-pip.py 를 다운받는다.

get-pip.py
1.72MB

 

2. 다운받은 파일을 실행하거나 해당 파일이 있는 루트로 가서

python get-pip.py

 

3. 제대로 설치되었는지 확인하기 위해 버전 확인

pip -V
H:\python>pip -V
pip 20.0.2 from c:\users\mik_a\appdata\local\programs\python\python38\lib\site-packages\pip (python 3.8)

 

+ Recent posts