반응형

전체 글 169

[Open CV] OpenCV-Python 기초 사용법 _ 영상의 생성, 복사, 부분 영상 추출

처음으로는 영상을 지정한 크기로 새로 생성할 수 있는데 numpy.emtpy zeros ones full 함수등이 있다. 위 함수들의 인자에는 shape가 있는데 이는 이 전 시간에 배운 shape를 넣어주면된다.GrayScale 은 width , height Color 는 width, height, 3 (채널값) 의 값을 넣어주면 된다. 그리고 dtype이라는 인자가 뒤에 나오게 되는데 기본 Default값이 float으로 지정되어있기때문에 영상으로 사용하기 위해서는 uint8값으로 꼭 지정해주어야 한다. empty 함수는 배열( 새로운 영상)을 만들고 픽셀값은 임의의 값으로 배정이된다.그래서 zeros라는 모든 픽셀값을 0으로 바꿔주는 또는 ones 라는 모든 픽셀값을 1로 바꿔주는 함수를 사용하여 ..

Program/OPEN_CV 2022.04.26

[Open CV] OpenCV-Python 기초 사용법 _ 영상의 속성과 픽셀 값 참조

일단 opencv 영상 데이터는 numpy.ndarray로 표현을 하는데 imread로 파일을 로드하게 되면 numpy.ndarray로 영상을 받게 되는데 ndarray의 속성을 살펴보면 ndim , shpe , size , dtype 등이 있는데 ndim은 차원 수와 같은데 몇차원 배열인지를 보여준다. 2면 GrayScale 3이면 Color Type이라고 볼 수 있다. shape는 각 차원의 크기, h,w 또는 h,w,3 ( 컬러 ) , h,w,4 ( png - alpha channel ) 로 표현된다. size는 전체 원소의 개수 dtype 은 원소의 데이터 타입으로, 영상 데이터는 unit8 ( 0~ 256 )이다. OpenCV 영상 데이터 자료형은 다양하게 있는데 간단하게 cv.CV_8U , c..

Program/OPEN_CV 2022.04.25

[Open CV] OpenCV-Python 시작하기 _ 실전코딩 ( 이미지 슬라이드쇼 )

- 특정 폴더에 있는 이미지 파일목록읽기 - 이미지를 전체화면으로 출력하기 - 일정시간동안 이미지를 화면에 출력하고, 다음이미지로 교체하기 ( 무한루프 ) 일단 특정 폴더에 있는 이미지파일 목록을 읽을 수 있는 함수는 2가지가 있는데 os.listdir() 또는 glob.glob() 함수를사용하면 읽을 수 있다. 일단 os나 glob을 import해주고 os를 import했을때는 file_list라는 변수에 os.listdir이라는 이미지 리스트 로드함수를 사용하게 되는데 file_list = os.listdir('.\\images')라는 폴더를 지정해주면 현재 프로젝트 폴더내에 있는 images라는 폴더에 접근하고 img_files = [file for file in file_list if file.e..

Program/OPEN_CV 2022.04.24

[Open CV] OpenCV-Python 시작하기 _ Matplotlib 사용하여 영상 출력하기

2022.04.23 금일은 Open CV의 Matplotlib라는 라이브러리에 대한 강의였다. 일단 Matplotlib이라는 라이브러리가 무엇인지부터 살펴봐야 할 것 같다. Matplotlib라이브러리는 함수의 결과값을 그래프, 차트, 히스토그램등으로 쉽게 그려줄 수 있도록 도와줄 수 있는Python 패키지이다 이를 이용하기 위해서는 이 전에 했었던 방법대로 하면 되는데 커맨드창에 pip install matplotlib라고 입력해주면 네트워크에 자동으로 연결되어 해당 라이브러리를 다운받아 올 수 있다. 위와같은 창이 뜨면 해당 라이브러리가 정상적으로 설치되었다는 뜻이다. 이후 중요한 건 영상을 로드할 때 GrayScale 영상인지 TrueColor 영상인지에 따라 Matplotlib 사용방법이 달라지는..

Program/OPEN_CV 2022.04.23

[Open CV] OpenCV-Python 시작하기 _ OpenCV 주요 함수 설명

2022.04.22 금일은 Open CV의 주로 사용되고있는 함수에 대한 강의였다. 전 강의와 블로그에서도 설명했었던 imread 함수가 다시 강의에서 설명되었다. imread의 Default ( 기본값 )은 Color인데 이는 컬러영상을 로드하게 되어도 문제없이 로드된다는 것인데이를 GrayScale로 아주 간단하게 바꿀 수 있었다. imread의 매개변수에 flag라는 변수가 있는데 이를cv.IMREAD_GRAYSCALE 이라는 상수값으로 받아올 경우 트루컬러 영상을 흑백영상으로 받아올 수 있는 기능이 있었다.이외에도 IMREAD_UNCHANGED라는 영상 파일 속성을 그대로 로드하는 상수값도 사용할 수 있다. 또한 이미지의 저장도 아주 간단하게 할 수 있는데imwrite라는 함수로 간단하게 영상을 ..

Program/OPEN_CV 2022.04.22

[Open CV] OpenCV-Python 시작하기 _ 영상 파일 불러와서 출력하기

금일은 OpenCV-Python 시작하기 ( 영상 파일 불러와서 출력하기 ) 에 관한 내용으로 강의를 시작했다. 영상처리를 위해서는 일단 일정 사이즈를 갖고있는 이미지를 로드하여 프로그램에서 표현할 수 있어야하기 때문에 가장 기초적이면서도 가장 중요한 함수이다. 위 사진처럼 OpenCV에 포함되어있는 imread라는 함수를 사용하여 실행폴더내부에 있는 bmp 파일을 로드한다. 이미지 로드를 할 때 이미지가 깨져있거나 기타 오류가 있을때는 img 에서 None이라는 리턴값이 반환되기 때문에 로드 오류에 대비하여 예외처리를 항상 해주거나 해주면 좋다고한다. 그리고 namedwindow라는 함수는 OpenCV에서 지원하는 Window창을 하나 만들어주는 함수이다. 먼저 영상을 로드하여 우리가 보고자할때 Win..

Program/OPEN_CV 2022.04.21

[Open CV] OpenCV-Python 시작하기 _ VS Code 설치와 개발 환경 설정

2022.04.20 패스트캠퍼스 강의 03일차 후기 금일 강의는 Python시작하기 ( VS Code 설치와 개발 환경 설정 ) 라는 Phython에 관한 설치 및 기초강의였다. Python을 사용하고 편집하기 위해서는 편집프로그램이 필요한데 메모장과 명령프롬프트만 사용해도 개발이 가능하다는 설명이다. 하지만 위 처럼 불편하게 사용하기보다는 무료로 개발하고 편집할 수 있는 Visual Studio Code 또는 Jupyter Notebook 등을 많이 사용하고 있다. Jupyter Notebook은 파이썬을 블록단위로 코드 작성하고 웹브라우저 화면에서 결과를 볼 수 있는 장점이 있고 Visual Studio는 디버깅이 편하다는 장점이 있다고 하는데 강의와는 별개로 경험상 가독성이나 보기에 편한 프로그램보..

Program/OPEN_CV 2022.04.20

[Open CV] OpenCV-Python 시작하기 _ OpenCV 소개와 설치

금일 강의는 Python시작하기 ( 소개 및 설치 ) 라는 Phython에 관한 설치 및 기초강의였다. 강의의 첫 부분에서는 Open CV에 관한 기초적인 설명으로 시작되었고 Open CV는 무료이고상업적으로도 사용될 수 있다고하고 CPU가 여러개 있을경우 모든 코어를 사용할 수 있도록 할 수 있는 멀티코어 프로그래밍이 기본으로 제공되기 때문에 그래서 좀 더 대중적으로 널리 알려질 수 있지 않았나하는 생각이 든다. 최근 Open CV 3.3에서는 DNN 이라는 Deep Neural Network 모듈을 지원하기 시작했음. Open CV는 크게 2가지 형태로 구성되고있는데 Main 과 Extra 로 구성되어있다. Main은 Open CV 에서 일반적으로 사용하고 있고 핵심적인 기능들로 이루어져있고 Extr..

Program/OPEN_CV 2022.04.19

[Open CV] OpenCV-Python 시작하기 _ 영상의 구조와 표현

2022.04.18 패스트캠퍼스 강의 01일차 후기 금일 강의는 영상의 구조와 표현이라는 영상처리의 기초에 관한 강의였다. 강의의 첫 부분에서 나오게되는 영상의 표현방법에서 기존에 알고 있었지만 깊게 생각해보지는 않았던 '영상'의 정의와 정의된 영상의 종류 ( 그레이스케일 영상 , 트루컬러 영상 ) 에대해 자세히 다루었다. 그리고 영상에서의 좌표계를 설명해주셨는데 이를 행렬로 표현하느냐 , 또는 너비 높이로 표현하느냐에 따라 가로 및 세로의 순서가 달라지기 때문에 다른 분들에게 사진의 크기를 설명해줄때 이를 주의하여 가로 세로의 순서를 명확히해주어야 한다는 것도 좋은 설명이었다. 그레이 스케일과 트루컬러 영상의 크기에대한 차이점에 대한 설명도 해주셨는데 그레이 스케일은 1Byte 트루컬러 영상은 3Byt..

Program/OPEN_CV 2022.04.18
반응형