반응형

OpenCV 7

[OpenCV] 2D Gaussian Blur 만들기 (Gray Scale) with OpenMP

지난번에는 OpenCV의 함수를 이용하여 Gaussian Blur를 구현해보았다. 이번에는 함수 없이 직접 data에 접근하여서 흑백 이미지에 필터를 씌워보려고 한다. 가우시안에 대한 설명은 아주 간단하지만 이전 포스트에 있으니 참고하자! https://nowtimeisthat.tistory.com/16 [OpenCV] cv::Gaussian Blur 함수 사용하기 Parallel Image Processing ( Gaussian Blur Project ) OpenCV 기본 함수에는 Gaussian Blur를 사용하여 이미지에 blur 처리를 할 수 있다. 이번 프로젝트에서는 해당 Gaussian Blur를 OpenCV, OpenMP, CUDA, Open.. nowtimeisthat.tistory.com..

IT/Computer Vision 2021.08.22

[OpenCV] cv::Gaussian Blur 함수 사용하기

Parallel Image Processing ( Gaussian Blur Project ) OpenCV 기본 함수에는 Gaussian Blur를 사용하여 이미지에 blur 처리를 할 수 있다. 이번 프로젝트에서는 해당 Gaussian Blur를 OpenCV, OpenMP, CUDA, OpenCL 4가지로 구현해보려고 한다. 또한 혹시나 사용할 사람이 있을 수도 있으니, Gray, Color에서 Blur Code를 모두 작성해보겠다. 참고로 해당 포스트에서는 단순하게 Color image와 Gray image에서 cv::GaussianBlur 함수를 사용할 것이다. Gaussian Blur 가우시안 기법은 영상 처리에서 다양하게 활용된다. 노이지한 이미지를 블러를 통해 깔끔하게 만들어 줄 수 있으며, G..

IT/Computer Vision 2021.08.08

[OpenGL] OpenCV 동영상(Video) OpenGL 배경으로 사용하기

OpenCV 동영상을 OpenGL 배경으로 지난번에는 단순한 이미지를 텍스처로 이용해 OpenGL 배경으로 사용해보았다. 이번에는 동영상을 배경으로 넣는 프로젝트를 진행할 것이다. 지난번 코드 기반으로 설명할 예정이니 아래 포스트를 참고를 부탁한다!!! [OpenGL] OpenCV 이미지 OpenGL 배경으로 사용하기 Idea OpenGL 내에는 glutIdleFunc 함수가 있다. 이를 통해 아무런 작업을 하지 않더라도 일정 시간마다 같은 task를 불러올 수 있다. 이번 포스트에서는 해당 함수를 통해 동영상 내 프레임을 위 링크의 setImage 함수를 통해 불러오고, 텍스쳐로 사용해 배경 설정을 진행하려고 한다. Code OpenCV 동영상 불러오기 main 함수 시작 전 VideoCapture 클..

IT/Graphics 2021.08.03

[OpenGL] OpenCV 이미지 OpenGL 배경으로 사용하기

OpenCV 이미지를 OpenGL 배경으로 많은 프로젝트를 찾아봤지만 texture를 이용하여 OpenCV 이미지를 OpenGL 배경에 넣는 레퍼런스 프로젝트는 많이 보지 못한 것 같다. 그래서 간단하게 이를 작성하여 남겨보려고 한다!! Code 전체 코드는 맨 아래에 있으니 참고를 부탁한다. OpenCV part 이미지 불러오기 현재 디렉토리에 이미지를 붙여넣고, opencv 함수를 통해 이를 전역변수 Mat에 불러온다. Mat image; int main(int argc, char **argv) { ... image = imread("img_0000.png", IMREAD_COLOR); cvtColor(colorImage, colorImage, CV_RGB2BGR); ... } 해당 코드를 통해 Ma..

IT/Graphics 2021.08.03

[Android] kotlin으로 NDK 환경 FAST keypoint detetion

Android에서... Kotlin 지금 android studio의 kotlin 활용 비율이 점점 증가한다고는 하지만, opencv, ndk 등의 엔지니어링 예제를 본다면 아직 정보가 많이 부족한 것으로 보인다. 이에 따라 사소한 것이라도 조금씩 적는다면 누군가에게는 도움이 되지 않을까...! NDK ndk는 Android Studio 내에서 C++로 작업할 수 있게 도와준다. 이를 통해 기존 C 코드를 쉽게 옮길 수 도 있으며, OpenCL을 사용할 때 매우 유용하게 사용된다. 기본 설정 우선 NDK와 NDK 내 opencv 사용 설정은 아래 블로그를 참조하여 진행했다. NDK 및 OpenCV 설정 Code Asset 내 이미지를 비트맵으로 입력받아 Mat 형태로 FAST keypoint detect..

IT/Android 2021.08.03

[Android] Android으로 OpenCV 사용하기 - 3

MainActivity 아래의 모든 코딩은 class MainActivity : AppCompatActivity()의 TODO에서 진행한다. class MainActivity : AppCompatActivity() { // TODO } 기본 설정 activity_main과 연결하기 모든 안드로이드 코딩의 시작이다. findViewByID로 view와 MainActivity의 모든 성분을 연결한다. private val imageView: ImageView by lazy { findViewById(R.id.imageView) } private val leftButton: AppCompatButton by lazy { findViewById(R.id.leftButton) } private val rightB..

IT/Android 2021.08.03

[Android] Android으로 OpenCV 사용하기 - 2

View 설정 간단하게 OpenCV를 통해 이미지를 불러와 GrayScale된 상태로 바꿔 출력해보려고 한다! 우선 간단하게 activity_main 중간에 이미지를 출력하고, 투명하게 버튼 두개를 만들어 asset 내 이미지를 변경하며 아래와 같이 출력할 수 있게 할 것이다. 이런 느낌으로!! 기본 설정 ActionBar 삭제 기본 설정으로 모바일 디바이스에 업로드한다면 위에 액션바가 있는 것을 알 수 있다. 이를 없애기 위해 res - values - styles.xml을 클릭해 AndroidManifest VGA 이미지가 기본이므로 Landscape로 이미지 화면을 가로로 고정한다. activity_main ImageView 어플 중앙에 ImageView를 크게 넣어보려고 한다. Constraint..

IT/Android 2021.08.03
반응형