본문 바로가기
반응형

IT110

사진 노이즈 제거하기 (gaussian filter, gaussian blur) 가우시안 필터란? 가우스 함수나 그 절단한 근삿값을 합성곱 적용해 신호를 부드럽게 하는 필터이다. 이미지 처리에 적용할때는 가우시안 블러라고 불리며 쉽게 말하면 흐려지는 효과를 내는 필터이다. 아래는 가우시안 필터를 openCV 를 활용해서 C++로 구현한 코드 #include #include "opencv2/opencv.hpp" #define MEAN_FILETER //#define GASSUIAN_FILETER void noisefiltering(IplImage *img) { double kernel[3][3]; #ifdef MEAN_FILETER double avg = 1.0 / 9.0; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { ke.. 2021. 1. 4.
[openCV / C++ ] 픽셀 아트 만들기 오늘은 그림을 아래와 같이 바꾸는 방법에 대해 소개해볼까 합니다. 아래 코드는 pixel 함수로 symbol[4] 배열에 총 4가지의 기호로 그림을 표현주었다. (아스크 코드 번호 참조) 또한, 그림에 기호를 넣기 위해 아래와 같이 설정을 해주었다. CvFont font; cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX, 1.0, 1.0); 현재 mask는 10x10으로 설정하였으며 해당 밝기 값을 다 더해서 /100(mask*mask size) /255(RGB 값) 나누기를 하면 최종적으로 0 ~ 1 사이 값이 나오게 된다. 이때 0~1 사이를 4 범위로 나눠주어서 (4개의 기호로 표현해주기 때문에) cvPutText(cpimg, text, cvPoint(i,j), &font.. 2020. 12. 31.
[opencv][C++ ] 가우시안 필터 구현하기 / 사진 노이즈 제거하기 (gaussian filter, gaussian blur) 가우시안 필터란? 가우스 함수나 그 절단한 근삿값을 합성곱 적용해 신호를 부드럽게 하는 필터이다. 이미지 처리에 적용할때는 가우시안 블러라고 불리며 쉽게 말하면 흐려지는 효과를 내는 필터이다. 아래는 가우시안 필터를 openCV 를 활용해서 C++로 구현한 코드 #include #include "opencv2/opencv.hpp" //#define MEAN_FILETER #define GASSUIAN_FILETER void noisefiltering(IplImage *img) { double kernel[3][3]; #ifdef MEAN_FILETER double avg = 1.0 / 9.0; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { ke.. 2020. 12. 31.
[openCV / c++] 사진 반만 흑백으로 만들기 / 사진 밝게 만들기 / 사진 어둡게 만들기 반만 흑백으로 만드는 함수 void gray(IplImage *img) 으로 half_width에서 사진의 반만 흑백으로 만들기 위해서 이미지 너비의 1/2를 얻어온다. void gray(IplImage *img) { int half_width = img->width / 2; //이미지의 1/2 너비를 가져온다 for (int i = 0; i height; j++) { CvScalar color = cvGet2D(img, j, i); //해당 픽셀 color 값을 가져온다 double avgColor = (color.val[0] + color.val[1] + color.val[2]) / 3.0; //A설명 cvSet2D(i.. 2020. 12. 30.
반응형