이번에는 디지털 영상처리 교재의 문제를 풀어보자 1) Bit Plane을 이용한 영상 워터마킹 • 카메라맨 영상을 비트 평면으로 표현하고 LSB 평면을 이름 영상으로 교체하라. • LSB 평면을 교체한 영상을 다시 8비트 그레이스케일 영상으로 저장하여 디스플레이 하라. 우선 밑과 같이 카메라맨 영상을 비트 평면으로 표현하였다. LSB 평면의 경우 내 이름 영상으로 추가하였다. 'name.png' 파일의 크기를 resize로 맞춘 후 LSB 평면 생성한 이름 영상이다. 이제 LSB의 내 이름과 비트 평면을 합성해보자. 아마 보기에는 카메라맨 영상으로만 확인되지만, 안에는 내 이름이 숨겨져 있을 것이다. 2) 카메라맨(256*256) 영상을 각각 128*128과 64*64 크기의 유효 해상도를 가지는 영상으..
매트랩을 통한 기본 영상(Image) 처리 방법을 알아보도록 하자. 1) 이미지 확장자명 바꾸기 기본적으로 매트랩은 파일 확장자명 변환이 자유롭다. 왼쪽 사진과 같이 파일이 저장된 것을 확인할 수 있다. 영상 출력 결과: cameraman.tif cameraman.jpg 블로그에서 tif 형식 지원을 안하나 보다... cameraman.png cameraman.bmp 2) 이진 영상 변환 im2bw라는 함수를 이용하여 간단하게 이진화를 할 수 있다. 앞서 진행한 변수 'v'에 “cameraman.tif” 파일이 저장되어 있다. 그 파일을 0.5 * 255 = 127.5를 임계값 설정 후 만들어진 이전 영상을 BW에 저장하였다. 영상 출력 결과: 3) 본인 사진을 인덱스 컬러 영상으로 변환 우선 ‘a’에 ..
매트랩을 통해서 디지털 영상처리를 진행하기 전 매트랩 기본적인 활용법에 대해서 공부해봤다. 설명은 주석을 다 달아놨으니 한 번 씩 훑어보면 도움이 되지않을까~ 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’ 사용자..
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 폴더, 파일 != 작성..