[OpenCV] imshow 창설정 및 종료 처리 (x버튼 처리)
·
Programming/DIP
imshow 창설정 및 종료 처리 (x버튼 처리)창 설정 관련 arguments 및 options cv2.namedWindow를 통해 미리 창에 대한 title을 지정하여 놓을 수 있음.cv2.namedWindow('image', cv2.WINDOW_NORMAL)# Using resizeWindow() : Below code does not works with cv2.WINDOW_AUTOSIZE# cv2.resizeWindow("image", 300, 700)cv2.WINDOW_AUTOSIZE가 기본으로 2nd argument없이 호출시 선택됨.읽어들이는 image 크기에 맞춰 window의 크기가 결정됨.2nd argument로 cv2.WINDOW_NORMAL를 설정시 window의 크기 조정이 가능함..
[Python] argparse 사용하기.
·
Programming
argparse 모듈Python에서 기본적으로 제공하는 명령어 인자 파서 모듈이다. command line inerface 으로 프로그램을 만들 때 기본적으로 필요하다.linux 쪽 경험이 풍부한 이들에겐 getopt가 보다 익숙하지만 그런 사람이면, 이런 문서가 필요없다.(이런 것이 익숙한 이들하고 일하는 경우가 점점 더 없음.)예제코드다음 코드를 참고하라.# coding: utf-8import argparse def set_config(): parser = argparse.ArgumentParser( description = 'This program is an example to show how to use argparse!' ) # 반드시 프로그램 수행시 요구되는 opt..
[OpenCV] Desired Data Type : ddtype
·
Programming/DIP
OpenCV에서 filter등의 함수에서 주로 등장하는 ddtype parameter는 결과 image의 data type을 의미한다. desired data type이라고도 불리고 이를 줄여서 ddtype라고 기재하는데, 일반적으로 input image와 같은 data type을 유지하도록 -1을 사용하는 경우가 많다. 이 방식은 대부분 큰 문제가 없지만, gradient나 laplacian을 구하는 filter 연산의 경우, 음수값을 결과로 가질 수 있는데 OpenCV에서 image를 나타내기 위해 사용하는 기본 데이터 타입이 np.uint8 (or cv2.CV_8U)이기 때문에 -1로 ddtype를 지정할 경우 문제가 발생한다. 이는 음수를 고려하지 않은 cv2.CV_8U는 음수값의 gradient..
[NumPy] searchsorted
·
Programming
np.searchsorted sort가 된 기존의 ndarray A 에 대해,입력으로 주어지는 ndarray B 의 element들의 값을 보고기존의 ndarray A 의 어느 index에 놓이게 될지를 반환한다.반환되는 ndarray의 shape는 query에 해당하는 B와 같다.기본으로는 left를 기준으로 index를 반환한다. 같은 값이 이미 존재하는 경우, 해당 값의 위치의 left에 삽입하는 것으로 생각하고 index 반환.import numpy as nplist_a = [1, 2, 3, 4, 5]list_b = [2.5, 4]print(np.searchsorted(list_a, list_b)) 결과는 다음과 같다.[2 3]A는 [1, 2, 3, 4, 5]이고, B는 [2.5, 4]이다.ind..
[Basic] Literal
·
Programming
Literal소스 코드 상에서 고정된 값을 가르킴. (또는 고정된 값을 나타내는 표기법을 의미함.)Programming language에서 data의 값을 지정(specifying data values)하는 방법은 다음 중의 하나임.1. Literal을 사용.2. Variable을 사용 (constant variable포함).literal 은 문자 그대로 라는 뜻을 가짐.Programming 에서 literal은 주로 assignment의 right hand side에 주로 위치함!Python에서 literal은 Object임.C에서는 primitive datatype의 변수에 할당되는 값들을 주로 의미하나, Python에서는 literal도 object(객체)이다. 다음 코드는 x라는 변수에 9라는 값..
[DIP] opencv 에서 H264 encoding error
·
Programming/DIP
colab등에서 video를 재생시키는 처리를 하다가 계속 에러가 나서 헤맸다. HTML5에서 표준 비디오인코딩이 H264라 fourcc = cv2.VideoWriter_fourcc(*'H264')로 계속 처리를 했는데... 계속 정상동작을 안하는 문제에 봉착... 새로 테스트하던 부분만 신경쓰느라, cv2.VideoWriter instance가 아예 open이 안된 것을 놓쳤고 때문에 엄한 시간을 날렸다. 비디오는 잘 안다루다보니... 일단 현재 opencv의 python binding은 기본으로 H264 encoding을 제공하지 않는다. GPL 때문... If you installed this package via pip install opencv-python then there&#3..