728x90

Library 6

Windows10 CUDA + OpenCV 4 빌드 에러 LINK : fatal error LNK1181: '..\..\lib\Release\opencv_world440.lib'

Microsoft Visual Studio 2019를 활용해서 OpenCV에서 CUDA 좀 쓰려고 빌드를 하려는데 에러를 막 토해낸다. 에러 코드는 다음과 같은 에러들이 막 쏟아져 나왓다. LINK : fatal error LNK1181: '..\..\lib\Release\opencv_world440.lib' 입력 파일을 열 수 없습니다. "opencv_perf_core.vcxproj" 프로젝트를 빌드했습니다. - 실패 원인을 찾아보니까 OpenCV 자체가 문제가 아니라 CUDA 버전이 문제였다. CUDA 10.0은 Visual Studio 2017까지만 빌드가 가능하고, 그 이후 버전을 이용해야 한다. 나는 이걸 두 번이나 삽질하고 나서 CLI로 빌드를 돌려보고 나서야 알았다.

Library/OpenCV 2020.08.29

OpenCV] Canny 함수

Canny 함수 Canny 알고리즘을 사용할 수 있게 해주는 함수. Canny 알고리즘은 엣지 검출 알고리즘이며, 에러율과 오차율, 응답성 측면에서 나쁘지 않다. void Canny(InputArray image, OutputArray edges, double threshold1, double threshold2, int apertureSize=3, bool L2gradient=false ) image : 변환할 그레이 이미지edges : 변환한 엣지 이미지threshold1 : 엣지 임계값threshold2 : threshold1 * ratioapetureSize : 커널의 사이즈

Library/OpenCV 2018.05.01

OpenCV] findContours를 사용해 윤곽(contour) 추출하기

findContours를 이용해서 윤곽(contour)을 추출하는 걸 시도했다.외곽선 경계가 명확하지 않은 것도 있고, 응용 방법을 잘 몰라서 경계선이 명확히 그어지지 않은 것도 있는 듯 하다. 소스코드 #include #include #include #include using namespace cv; using namespace std; int main(void) { Mat image; image = imread("IU.jpg", 1); namedWindow("Display Window", CV_WINDOW_AUTOSIZE); imshow("Display Window", image); Mat gray; cvtColor(image, gray, CV_BGR2GRAY); Canny(gray, gray, 10..

Library/OpenCV 2018.04.26

OpenCV] 이미지 반전 시키기

OpenCV에는 cvNot이라는 이미지 반전 시키는 함수가 있어서 이번에도 친구가 보내준 아이유 사진을 반전시켜봤다. 인물 사진을 반전시키는 건 확실히... 좀 그렇다. cvNot(const CvArr *src, const CvArr *dst) src는 변환하고자 하는 이미지를, dst는 변환한 이미지를 저장할 곳으로 사용한다. 유의할 점이 두 가지 정도 있다. 1. 함수에 이미지를 Mat이 아닌 IplImage로 다루어야 한다.2. dst로 받을 IplImage는 nullptr로 비워두는 것이 아니라 cvCreateImage()로 적절하게 할당해줘야 한다. 원본 결과 소스코드 #include using namespace cv; using namespace std; int main(void) { Mat ..

Library/OpenCV 2018.03.15

OpenCV] 이미지를 회색조(Grayscale)로 변환

OpenCV에서 이미지를 읽어들이고 그걸 회색조(Grayscale)로 변환시키는 소스를 쳐봤다. 앞선 포스트에서도 말했지만, OpenCV 이용은 함수를 잘 가져다 쓰면 원하는 결과를 쉽게 얻는 경우가 많다. 이 경우도 마찬가지인데, 아래 아이유의 원본 사진(Original)을 회색조(Result)로 변환시켜보는 작업을 시도해봤다. 소스코드 #include using namespace std; using namespace cv; int main() { Mat srcImage = imread("iu.jpg"); Mat destImage; cvtColor(srcImage, destImage, CV_BGR2GRAY); imwrite("grayIU.jpg", destImage); namedWindow("Origi..

Library/OpenCV 2018.03.14

Visual Studio에서 OpenCV 시작하기

필자는 예전부터 이미지와 영상 처리에 대해서 관심이 많았다. 영상 처리를 하기 위해서는 OpenCV가 적합하다고 판단을 했고 시간적 여유가 생기기를 기다렸다.대학교 재학 중에는 학업을 이유로 계속 미뤄오다가, 최근에서야 공부를 시작했는데 책 한 권 없이 기본도 없이 맨땅에 헤딩을 시작한 상태라 허점이 많다. 필자의 블로그에 있는 다른 글들이 질적으로 우수하다고 당당하게 이야기할 수는 없지만, 적어도 OpenCV에 관련한 글들에 비하면 낫다고 이야기할 수 있다. 이 카테고리의 글은 다른 카테고리에 비해 지식의 전달보다는 초보의 입장에서 공부한 것들을 보여주는 용도에 지나지 않을 것이다. 그렇기 때문에 전문적인 설명을 원한다면 이 페이지를 꺼도 좋다고 생각한다. OpenCV는 무엇인가?OpenCV가 무엇인지..

Library/OpenCV 2018.03.11
728x90