programing/OpenCV 16

[OpenCV] 이미지 크기 변경 - resize()

2D FFT 테스트를 해야 하는데 lena.jpg가 내가 원하는 사이즈가 아니어서 크기를 변경해야 하는 일이 발생했다. 2의 n 승 크기로 변경을 하고 싶다. 방법은.. 생각보다 간단.. 환경 : Windows 10, VS 2015 community, c++, opencv3.1 우선 기본 크기를 확인해 보았다. #include #include using namespace std; using namespace cv; int main(void) { String filename = "c:\\Temp\\lena.jpg"; Mat src = imread(filename, CV_LOAD_IMAGE_COLOR); imshow("test", src); cout

programing/OpenCV 2017.06.12

[OpenCV] 설치-nuget package

OpenCVSharp 은 nuget 으로 설치하는 것을 정리 했는데OpenCV는 정리를 안했었다. OpenCVSharp 은 바로 검색해서 설치하면 되지만 OpenCV는 Console창을 이용해서 설치해야 되더라.... c++프로젝트를 만든 후 진행 해보자. 우선 tools>nuget package manager>Packge Manager Console 을 선택한다. install-package opencv3.Xopencv 원하는 버전을 선택하여 적으면 된다. 설치 완료 NuGet 패키지 화면으로 가보면 설치된 것을 확인할 수 있다.

programing/OpenCV 2017.06.11

cv::Mat copy to std::vector

opencv를 사용해서 개발을 시작할 때 Mat 을 vector로 바꾸는 작업을 했었다.그때는 틀림 없이 Mat::copyTo 함수를 사용해서 간단하게 했던것 같은데다시 작업을 하려니 되질 않네...다른 방법을 찾아 나섰다. 검색어 : 구글 - mat copyto vector for문을 이용해서 하는 방법도 많이 나오지만나는 함수 하나로 해결하고 싶었다. assign 함수를 사용하면 간단하게 끝낼 수 있다.vector 끼리 복사 할때 사용했었는데 Mat 도 적용 가능 하다. 자료형이 double인 변수를 복사하려면 Mat src; /* Mat을 채우는 작업 */ vector dst; dst.assign((double*)src.datastart, (double*)src.dataend); 이렇게 하면 한방에..

programing/OpenCV 2016.11.23

[OpenCV] Mat 이미지 자르기

이론만 쭉 정리하다가 이제 실제로 필요한 것들만 찾아서 정리 하기로 했다. 내가 필요한거슨 이미지의 특정 부분만 사용할 것이라 잘라내는 과정이 필요했다. Mat을 Range로 범위를 지정할 수 있으므로 row와 col을 원하는 만큼 가져와서 출력해 보자. 예제 #include "opencv2/opencv.hpp" using namespace cv; using namespace std; int main() { int offset, width, margin; offset = 50; width = 50; margin = 5; Mat img = imread("Img4.png",IMREAD_GRAYSCALE); cout

programing/OpenCV 2016.10.21

[OpenCV] Mat 클래스 행렬 생성 1

Mat 클래스는 C++ API에서 가장 중요한 클래스 중 하나로 1채널 또는 다채널의 실수, 복소수, 행렬, 영상 등의 수치 데이터를 표현하는 n차원 행렬 클래스이다. 행렬 생성Mat 클래스는 다양한 생성자를 통하여 행렬을 생성한다.행렬의 크기는 rows, cols, size로 명시type은 자료형으로 CV_8UC1 ... CV_32FC1 ... 등을 사용 한다.생성자를 다 써 놓는것보다 예제를 통해서.. 알아보자. 행렬 생성 예제 #include "opencv2/opencv.hpp" using namespace cv; using namespace std; int main() { Mat A(2,3,CV_8UC1); Mat B(2,3,CV_8UC1, Scalar(0)); Mat C(2,3,CV_8UC3, ..

programing/OpenCV 2016.10.20

[OpenCV] Vec 클래스

Vec 클래스는 Matx 클래스에서 상속받은 클래스로, 짧은 수치 벡터를 위한 템플릿 클래스.기본적인 벡터에서의 연산이 가능하며 3차원 벡터의 외적을 계산할 수 있고, [] 연산자에 의해 접근하며,Vec 와 Point_, Vec와 Point_, Vec와 Scalar_,CvScalar 사이의 변환이 가능typedef 로 정의된 Vec2b, Vec3b 등의 클래스들이 있다. 솔직히 Vec부터는 수학적의미가.. 조금 더 깊어져서 잘 이해가 되지 않는다.수학공부를 해야 겄네;; 예제 #include "opencv2/opencv.hpp" using namespace cv; using namespace std; int main() { Vec X(1,0,0); //Vec3f X(1,0,0); Vec Y(0,1,0);..

programing/OpenCV 2016.10.19