본문 바로가기
728x90

전체 글142

[영상처리] openCV2 히스토그램, 정규화, 스트레칭, 균등화 Histogram, 히스토그램영상 내 각 그레이스케일 값에 해당하는 픽셀의 개수를 함수의 꼴로 나타낸 것을 히스토그램이라고 한다. 다음과 같은 수식으로 표현할 수 있다. h(g)=ng​g = 그레이스케일 값을 나타내고 범위는 0~255n_g = 그레이스케일 값이 g 인 픽셀의 개수를 나타낸다 h(g) 함수의 값은 영상의 크기에 따라 작거나 커질 수 있다. 그러므로 n_g 를 영상의 전체 픽셀의 개수로 나누는 정규화(normalize) 과정을 통하여 히스토그램을 표현하기도 한다. 정규화된 히스토그램 정규화된 히스토그램 다음과 같은 수식으로 표현되며, 특정 그레이 스케일(gray scale) 값이 나타나는 확률의 개념으로 이해할 수 있다. p(g) = 확률 값, 확률을 의미하는 p로 변경 (probabili.. 2017. 2. 27.
[영상처리] openCV2 라이브러리 이용하기 - Canny Edge detector, Finding contours OpenCV 라이브러리 예제 Sobel Derivatives https://docs.opencv.org/master/d2/d2c/tutorial_sobel_derivatives.htmlLaplace Operator https://docs.opencv.org/master/d5/db5/tutorial_laplace_operator.htmlCanny Edge Detector https://docs.opencv.org/master/da/d5c/tutorial_canny_detector.htmlHough Circle Transform https://docs.opencv.org/master/d4/d70/tutorial_hough_circle.htmlFinding contours in your image https:.. 2017. 2. 27.
[영상처리] openCV2 Edge 검출 알고리즘 에지 검출 알고리즘 알아보기 1. 소벨, 프리윗, 로버츠, 라플라시안 장단점 2. 가우시안 -> 라플라시안 vs 라플라시안 비교 Edge Edge는 경계선, 윤곽선을 의미함영상에서 edge는 영상의 밝기가 낮은 값에서 높은 값으로 / 높은 값에서 낮은 값으로 변하는 부분을 뜻함edge는 영상안에 있는 객체의 경계를 가리키는 것으로, 모양과 방향성을 탐지할 수 있음에지에 해당하는 화소를 찾는 과정을 edge detection 이라 함 1차 미분 edge는 명암(밝기)의 변화가 큰 지점명암의 변화율인 기울기(gradient)를 검출하는 방법, 1차 미분이라 함수평 방향 미분 G(x) = f(x-1, y) - f(x+1, y)수직 방향 미분 G(y) = f(x, y-1) - f(x, y+1)Edge = |G(.. 2017. 2. 27.
[영상처리] OpenCV2 픽셀 연산 – 평균, 덧셈, 뺄샘, 평균 값, 가중 평균 값, 가우시안 필터 두 이미지간 픽셀의 평균 값 구하기void avgImage(Mat &img1, Mat &img2, Mat &out){ for (int y = 0; y 두 이미지간 픽셀의 더한 값 구하기#include #include #include using namespace cv; void addImage(Mat &img1, Mat &img2, Mat &out){ for (int y = 0; y < out.siz.. 2017. 2. 27.
[영상처리] openCV2 이미지 기본 연산, 색상 모델 잡음 생성#include #include #include using namespace std;using namespace cv; void salt(Mat &image, int snum){ for (int n = 0; n < snum; n++) { int x = rand() % image.cols; int y = rand() % image.rows; if (image.channels() == 1) // Gray { image.at(y, x) = 0; // 흰색 잡음 } else if (image.channels() == 3) // RGB { image.at(y, x)[0] = 255; image.at(y, x)[1] = 255; image.at(y, x)[2] = 255; } }} int main(){ M.. 2017. 2. 27.
[영상처리] openCV2 시작하기 - 픽셀이란?, Mat 이미지 객체 Pixel, 픽셀 하나 당 0~255 숫자로 명도를 나타냄해상도 1920x1080 라는 건 가로 1920 픽셀 x 세로 1080 픽셀을 뜻함 0~255로만 이미지를 나타내면 Grayscale(흑백) 밖에 안됨 -> 한 픽셀당 1 byte색상을 나타내기 위해 각각 R, G, B 마다 0~255 값을 가짐 -> 한 픽셀당 3 byte(R + G + B) / 3 = 흑백 명도 값 이미지 파일 포맷.raw 파일 - 용량이 크지만 픽셀 값이 하나도 깨지지 않으므로 C/C++ 에서 파일을 바로 읽어서 색상 접근할 수 있음.bmp 파일 - raw파일 보다 용량이 작아 더 빠른 전송 가능. Windows에서 자주 사용하며 C++ 기본 라이브러리가 있음.jpg .gif .png 파일 - 용량이 작지만 파일을 바로 읽을 .. 2017. 2. 18.
[유니톤] 제 4회 대학생 연합 해커톤 후기 1 유니톤 행사 참가동기 및 소감 대학생 연합 해커톤인 "UNITHON"에 초청되어 동아리원들과 함께 참여하게 되었다. 해커톤은 처음이었지만 동아리원들과 3일동안 작품을 만드는 것이 재밌을 것 같았다. IoT 트랙을 참여했고 삼성의 ARTIK IoT Platform를 사용하게 되었다. ARTIK 사전교육을 받았지만 처음 접해봤기에 많은 기능을 사용하지 못한 게 아쉬웠다. > 팀원 사진1 > 팀원 사진2 2 ARTIK으로 했던 프로젝트 내용 우리 팀은 스마트홈을 주제로 여러가지 기능을 생각해보았다. 그 결과 조도센서와 서보모터를 이용해 커튼을 걷고 쳐주는 기능과 초음파센서와 서보모터를 이용한 자동문을 만들었고 온습도센서를 이용해 온도와 습도를 LED에 표시해주었다. 습도에 따라서 (모터)선풍기를 작동해주는.. 2017. 2. 18.
728x90