Computer Vision & AI
-
[OpenCV & C++] flip을 사용할 때 이미지가 반 갈라지는 문제 해결Computer Vision & AI/OpenCV 2022. 11. 17. 18:47
오늘은 코딩중에 만난 특이 케이스를 기록해보겠습니다. Gpu를 사용해 image를 flip할 때 나타난 현상입니다. flip함수에 대한 설명은 OpenCV 기초 - 2. 영상처리 준비(2) (tistory.com) OpenCV 기초 - 2. 영상처리 준비(2) 영상 생성, 크기 출력, 뒤집기, 복사에 대해서 알아보겠습니다. - 멤버변수 data imread() 함수를 통해 영상을 읽을 수 있지만 지난번에 설명드렸듯이 사진이 존재하지 않으면 문제가 발생합니다. 이 visionprogrammer.tistory.com 여기 잘 정리된 블로그글 참조하시면 좋습니다. 여기서는 해당 문제만을 다루겠습니다. 위 사진을 cuda::flip(srcGpu, srcGpu, -1); 함수를 사용해서 출력했다. cuda::fl..
-
YOLO C++ detect 에러 (C2664)Computer Vision & AI/OpenCV 2022. 11. 9. 13:50
- 환경 & 증상 yolo_v2_class.hpp yolo detect함수에서 에러가 발생 - 원인 파악 과정 인자가 다르다는 에러가 나옴. detect함수에서 F12눌러서 코드 들어가보니 LIB_API std::vector detect(std::string image_filename, float thresh = 0.2, bool use_mean = false); LIB_API std::vector detect(image_t img, float thresh = 0.2, bool use_mean = false); 이렇게만 나오는데... 코드 짜신 분은 인자로 Mat을 넣어놨다. 그래서 안되나 싶었는데 그분은 잘 되셨음... 왜 나만 안되는걸까?! - 해결방법 #ifdef OPENCV std::vector ..
-
[MediaInfo] 비디오 파일(영상 파일)의 GOP 확인하기 (+팟플레이어)Computer Vision & AI/Computer Vision 2022. 10. 27. 16:10
MediaInfo (mediaarea.net) MediaInfo mediaarea.net 1. MediaInfo 다운로드 2. 원하는 파일 드래그(불러오기) 3. View - Tree 눌러서 해당 정보 확인하기 ➕추가 더 간단하고 쉬운 방법 팟플레이어가 설치되어 있다면, 1. 영상 파일을 팟플레이어에서 실행 2. 마우스 우클릭 3. 재생정보>파일정보 에서 위와 같은 포맷으로 정보를 확인 가능하다.
-
[B-Spline] gsl라이브러리/knot vector/clamped spline 스플라인 삽질Computer Vision & AI/Computer Vision 2022. 8. 10. 22:43
🔗사용한 라이브러리는 GSL Basis Splines — GSL 2.7 documentation (gnu.org) Basis Splines — GSL 2.7 documentation This chapter describes functions for the computation of smoothing basis splines (B-splines). A smoothing spline differs from an interpolating spline in that the resulting curve is not required to pass through each datapoint. For information about interpola www.gnu.org 🎉사용방법 workspace만들기 workspac..
-
[OpenCV, C++] alpha 채널이 있는 이미지 합성(블랜딩) 오류 해결Computer Vision & AI/OpenCV 2022. 6. 14. 11:34
기본적인 오류들은 채널 수, 타입, 사이즈 확인정도면 디버깅이 가능하다. (대부분의 오류는 Mat연산시에 위의 내용들이 맞지 않아서 발생했다.) 지금 생겼던 오류는 배경에 로고를 합성할 때 나타났는데, logo 이미지에 alpha채널까지 4채널이라 소스 이미지에 바로 연산을 할 수 없었다(소스=3채널) 그래서 cvtColor함수로 BGRA2BGR 변환을 했는데 로고가 이상하게 변형되었다....... 원인은! 로고를 만들때에 있었다. B,G,R 채널의 배경이 검은색(0값)이 아니라 다른 색이 있었고 그 위에 알파채널을 씌웠기 때문에 배경이 투명하게 보였었는데, 3채널로 변환하니 알파채널이 제대로 적용되지 않았던 것. 그래서 이상한 로고에 마스킹을 한번 더 해서 해결하였다. 또 주의사항은 copyTo로 마스..
-
ffmpeg으로 동영상 이어붙이기, 사이즈 바꾸기, 프레임 추출, 프레임으로 영상만들기, 코덱 변경, 영상에 프레임넘버 출력하기 (계속 추가중)Computer Vision & AI/Computer Vision 2022. 5. 24. 18:34
🙋♂️여러가지 편한 영상 편집을 위해 먼저 ffmpeg을 다운받아야합니다. (UI가 아닌 CLI기반이라 처음에는 어려울 수 있으나 한번 해보면 굉장히 편함) FFmpeg FFmpeg Converting video and audio has never been so easy. $ ffmpeg -i input.mp4 output.avi News January 17th, 2022, FFmpeg 5.0 "Lorentz" FFmpeg 5.0 "Lorentz", a new major release, is now available! For this long-overdue release, a major effort underwent to ffmpeg.org 🎬여러 동영상을 하나의 동영상으로 붙이기 1. 폴더를 하나 만..
-
LUT (Look up table) 정리 + 예시코드 모음Computer Vision & AI/Computer Vision 2022. 5. 17. 14:41
기초 개념 LUT를 사용하면 저장해둔 정보로 빠르게 같은 값들을 변경할 수 있음 예) 3D 렌더링 계산에서 cos 값 계산을 많이 하게 되는데 이것을 일일히 계산하면 속도가 너무 느리다. 이 때 cos값들을 각도별로 미리 테이블에 저장해놓고 꺼내쓰면 훨씬 빠르다. 이런 상황에서 LUT를 사용한다. (36.6도-> 37도 이런식으로 계산) 출처: https://mrsnake.tistory.com/142 [뱀이 바라본 세상] [OpenCV] Look up table(LUT) 기본 개념 간단 정리 OpenCV에서 나오는 LUT의 사용법을 한참 보면서 이놈이 뭐하는 놈인가... 왜 256사이즈로 만드는가... 고민했는데 간단하게 정리해본다. 일단 기본 개념은 모든 픽셀의 경우에 대해서 미리 계산을 mrsnake..
-
OpenCV imread, pixel 접근 기초 정리Computer Vision & AI/Computer Vision 2022. 5. 16. 10:26
간단하게 이미지를 read 하고 show할 때 필수로 사용하는 헤더파일 : #include : 영상의 화면 출력, 마우스 이벤트 처리 등 사용자 인터페이스 #include : 행렬, 벡터 등 OpenCV 핵심 클래스와 연산 함수 #include : 필터링, 기하하적 변환, 색 공간 변환 등 영상 처리 기능 8UC1 자료형에서 픽셀 접근 -> uchar 8UC3 자료형에서 픽셀 접근 -> Vec3b 32FC1 자료형에서 픽셀 접근 -> float 64FC1 자료형에서 픽셀 접근 -> double *에러상황 Error: Assertion failed (((0x28442211 >> ((traits::Depth::value) & ((1