프로그래밍 공부

프로그래밍 공부/인공지능

Housing 데이터셋을 이용한 머신러닝 - 1

housing 데이터셋을 활용하여 데이터 전처리를 진행해보자! housing 데이터셋 다운로드 후 csv 형식의 파일을 pandas로 확인하는 것으로 시작. 훈련 세트와 테스트 세트를 구분하여 만들고, 고유 식별자를 이용하여 무작위로 테스트 세트를 만드는 것을 방지한다. 기본 설정 필수 모듈을 불러오고 그래프 출력 관련 기본 설정을 정한다. # 파이썬 ≥3.5 import sys assert sys.version_info >= (3, 5) # 사이킷런 ≥0.20 import sklearn assert sklearn.__version__ >= "0.20" # 공통 모듈 임포트 import numpy as np import os # 깔금한 그래프 출력을 위해 %matplotlib inline import m..

프로그래밍 공부/리눅스 & 임베디드 시스템

폭탄 해체 게임(BOMB BREAKDOWN GAME)

Hybus-Smart4412 타겟시스템과 리눅스 환경에서 크로스컴파일하여 만든 게임입니다. 제 깃허브 주소 (https://github.com/Oh3gwnn/IoT_HSmart4412)에 전부 정리되어 있습니다. 이 문서는 처음으로 나오는 README 파일을 수정한 것입니다. 자세한 것은 깃허브 주소를 참고해주세요! 1. 프로젝트 계획 H-Smart4412 타겟 시스템의 다양한 장치를 이용하고 싶어서 계획한 폭탄 해체 게임. 게임을 해결해나가는 아이디어 부분은 Keep Talking and Nobody Explodes 게임을 참고하였습니다. 'Keep Talking and Nobody Explodes' 사이트 링크 참고 2. 프로젝트 사전조사 이전에 누군가 진행하였던 타겟시스템 실습 내용들을 확인 프로젝..

프로그래밍 공부/디지털 영상처리(with MATLAB)

Digital Image Processing with MATLAB - ⑤ Point Processing 2

1) 다음의 작은 영상은 0~19 범위의 그레이 값들을 가지고 있다. 그레이 레벨 히스토그램과 이 히스토그램을 평활화하는 사상(mapping)을 계산하라. 히스토그램 평활화를 수행한 새로운 영상에 대해서 아래와 같은 형태의 8 X 8 그레이 값들의 격자를 만들어라. 기존 8 X 8 그레이 값 위 내용을 프로그래밍하여 결과를 비교해보자. 우선 원본과 직접 평활화한 영상을 비교하면 히스토그램이 전반적으로 펼쳐져 있는 것을 확인할 수 있다. 마지막은 프로그래밍으로 진행한 평활화인데 범위가 0~19가 아니라 0~255로 표현되어 있는 것을 확인할 수 있다. (그래서 axis([0 9 0 15])를 추가했다.) 2) 앞서 변환한 카메라맨 인덱스 영상을 입력으로 사용하여 히스토그램 평활화 알고리듬을 실행하는 프로그..

프로그래밍 공부/디지털 영상처리(with MATLAB)

Digital Image Processing with MATLAB - ④ Point Processing 1

디지털 영상처리 교재(연습 문제 2, 3번) 1) blocks 영상 b에 대해서 다음의 명령들을 수행하라. 우선 ‘blocks.tif’를 가져와 다음 문제에 있는 명령을 수행해보자. [그림 1] blocks.tif [그림 2] imshow(bb2) 출력 결과 결과: 영상의 크기는 같다. 하지만 눈으로 보이는 품질은 많은 차이가 존재한다. imdivide 함수를 통해 64로 나누었을 때 데이터값이 손실되었고, 그 이후 immultiply 함수를 통해 64를 곱하여도 손실된 값은 돌아오지 않기 때문이다. 정확히는 255/64로 4개의 화소 데이터 중 한 화소 만을 가지고 저장이 되고, 다시 곱하였을 때 그 값을 곱하는 것이기 때문이다. 2) 문제 2에서의 값 64를 32와 16으로 치환하여 수행하라. 우선 ..

프로그래밍 공부/디지털 영상처리(with MATLAB)

Digital Image Processing with MATLAB - ③ 영상 디스플레이

이번에는 디지털 영상처리 교재의 문제를 풀어보자 1) Bit Plane을 이용한 영상 워터마킹 • 카메라맨 영상을 비트 평면으로 표현하고 LSB 평면을 이름 영상으로 교체하라. • LSB 평면을 교체한 영상을 다시 8비트 그레이스케일 영상으로 저장하여 디스플레이 하라. 우선 밑과 같이 카메라맨 영상을 비트 평면으로 표현하였다. LSB 평면의 경우 내 이름 영상으로 추가하였다. 'name.png' 파일의 크기를 resize로 맞춘 후 LSB 평면 생성한 이름 영상이다. 이제 LSB의 내 이름과 비트 평면을 합성해보자. 아마 보기에는 카메라맨 영상으로만 확인되지만, 안에는 내 이름이 숨겨져 있을 것이다. 2) 카메라맨(256*256) 영상을 각각 128*128과 64*64 크기의 유효 해상도를 가지는 영상으..

프로그래밍 공부/디지털 영상처리(with MATLAB)

Digital Image Processing with MATLAB - ② 영상처리 기초

매트랩을 통한 기본 영상(Image) 처리 방법을 알아보도록 하자. 1) 이미지 확장자명 바꾸기 기본적으로 매트랩은 파일 확장자명 변환이 자유롭다. 왼쪽 사진과 같이 파일이 저장된 것을 확인할 수 있다. 영상 출력 결과: cameraman.tif cameraman.jpg 블로그에서 tif 형식 지원을 안하나 보다... cameraman.png cameraman.bmp 2) 이진 영상 변환 im2bw라는 함수를 이용하여 간단하게 이진화를 할 수 있다. 앞서 진행한 변수 'v'에 “cameraman.tif” 파일이 저장되어 있다. 그 파일을 0.5 * 255 = 127.5를 임계값 설정 후 만들어진 이전 영상을 BW에 저장하였다. 영상 출력 결과: 3) 본인 사진을 인덱스 컬러 영상으로 변환 우선 ‘a’에 ..

프로그래밍 공부/디지털 영상처리(with MATLAB)

Digital Image Processing with MATLAB - ① MATLAB 사용 실습

매트랩을 통해서 디지털 영상처리를 진행하기 전 매트랩 기본적인 활용법에 대해서 공부해봤다. 설명은 주석을 다 달아놨으니 한 번 씩 훑어보면 도움이 되지않을까~ 1) 스칼라, 벡터 생성 2) 변수 초기화 및 벡터 출력 3) 행렬 크기 표시 4) 스칼라, 벡터 연산(pointwise) 5) 벡터 연산 함수 6) 벡터&벡터 연산 7) conv(a,b) 함수 이 부분은 a 벡터에 대한 b 벡터가 필터 작용을 한다. 8) 파일 저장 및 불러오기, 변수 초기화 9) for, find 함수 10) 사용자 정의 함수 제작 및 호출 11) 사진 좌우 대칭 함수 1. ‘convert_hand.m’ 사용자 정의 함수 만들기 2. ‘convert_hand.m’ 사용자 정의 함수 실행 3. ‘convert_hand.m’ 사용자..

프로그래밍 공부/리눅스 & 임베디드 시스템

임베디드 개발환경 - ⑦ 타겟시스템 실습 - 2

1. led 응용프로그램을 수정하여 0,2,4,6과 1,3,5,7이 번갈아 점멸하는 프로그램 제작 타겟시스템의 장치들을 이용하기 위해서는 드라이버를 작성해야 한다. 크게 알아본 드라이버 작성법은 4가지가 있었는데, 여기선 타겟시스템의 'dev' 폴더 안에 드라이버가 정리되어 있다. 그래서 가져다가 쓰면 된다. - 'led.c' 코드파일 작성 dev, i, data : 장치와 반복문 변수 선언, data는 led 출력을 위한 값 #define led "/dev/led" : dev 폴더의 led라는 파일을 'led' 라는 이름으로 사용하겠다고 선언 dev = open(led, O_RDWR); : dev라는 변수에 led 장치를 읽고 쓸 수 있게 불러오는 것 (장치 안의 /dev/led 폴더, 파일 != 작성..

티키택
'프로그래밍 공부' 카테고리의 글 목록 (5 Page)