[opencv] XML, YAML 데이터 처리

OPENCV를 공부하면서 배워야 할 기본클래스들에 대한 커리큘럼의 최정점에 도착했다. FileStorage를 이용한 XML과 YAML파일 읽고 쓰기.   그런데 XML은 알겠는데 YAML은 무엇…인가? YAML is mush less verbose. https://stackoverflow.com/questions/1308536/yaml-compared-to-xml XML, HTML, YAML 전부 마크업 랭귀지이다. 특히 XML은 JSON과 계층적 데이터집합 시리즈의 양대산맥을 이루고 있는 마크업 랭귀지다. YAML은 XML보다 더 간단하게(적은 문법으로(less verbose)) 더보기…

[opencv] vector 클래스

기타 몇개의 큰 클래스들만 진행하면 이제 기본 클래스는 종료된다.   #pragma warning(disable: 4819) #include “opencv.hpp” using namespace cv; using namespace std; int main() { vector<int> V2(3, 0); // length(size), allocator int arr[] = { 1,2,3,4,5,6,7,8,9 }; vector<int> V3(arr, arr + sizeof(arr) / sizeof(int)); // 갯수 cout << (Mat)V3 << endl; 더보기…

[opencv] Mat_ 클래스와 InputArray, OutputArray

정말 간만에 하는 것 같다. 얼른 기본클래스를 끝내고, 실질적인 영상처리에 돌입해야함. 텐서플로우도 조금씩 시작하고있고 처리할게 한 두개 밀려있다보니 계속 opencv를 미루다 하는 중.. 나의 나중기억은 항상 보장할 수 없으므로 코드와 주석을 통한 로그를 남기도록 한다.   #pragma warning(disable: 4819) #include “opencv.hpp” #include <iomanip> using namespace cv; using namespace std; void 더보기…

[python] html에서 동영상 url파싱하기

한동안 서버가 꺼져있었는데, 워너크라이에 대한 대응겸 서버유지보수가 필요하여 약 몇 주 정도 내려놓았다. 기말시험이 끝나 OpenCV공부와 진행했던 작업들을 몇 가지 정리해서 올려보려고 한다.   얼마전, 개발자 모임에서 한 분이 url 파싱에대해 질문을 올리셨다. 여러 생각이 떠올랐고 좋은 조언들이 올라왔으나, 나는 근본적으로 이런 케이스에서는 정규식을 사용한다고 본다. 따라서 정규식을 사용할 것을 더보기…

[C++]opencv 알파벳 이미지 덤프파일 추출

html/css/js로 static한 웹을 작업할 프로젝트가 있어서 알파벳 이미지를 구하고있었는데 대부분 이쁜 아이콘들은 더미식 ai파일로 모아져있더라..   이미지는 아래와같은데 이걸 일일히 포토샵으로 따기가 귀찮은 바람에 opencv활용겸 일을 키웠다. 1단계로 추출한 이미지 사이즈는 2831×2879(px)이다. 추출이라 할 것도 없고 그냥 인식률을 올리기위해 워터마크 부분을 제거했다. Simple Digit Recognition OCR in OpenCV-Python http://stackoverflow.com/questions/9413216/simple-digit-recognition-ocr-in-opencv-python 를 더보기…

[python] OpenCV 공부노트 도형다루기

  [python] OpenCV 공부노트 간단한 영상 조작   원과 타원 그리기 #pragma warning(disable: 4819) #include “opencv.hpp” using namespace cv; using namespace std; int main() { Mat someImage(1000, 1000, CV_8UC3, Scalar(255, 255, 255)); rectangle(someImage, Point(100, 100), Point(400, 400), 1); line(someImage, Point((100 + 400) / 2, 100), Point((100 + 400) / 2, 더보기…

[python] OpenCV 공부노트 간단한 영상 조작

[python]OpenCV 공부노트 Mat   개념이해를 위한 코드를 작성후 프로젝트채로 남겨두면 잘 안보게되어 주석을 달 만큼 달고 techlog에 보관하는 편을 선택했다.   직선 클리핑 #pragma warning(disable: 4819) #include “opencv.hpp” using namespace cv; using namespace std; int main() { Mat someImage(512, 512, CV_8UC3, Scalar(255, 255, 255)); if (someImage.empty()) { return -1; } 더보기…

[python] 여러개의 수에서 GCD, LCM 구하기

시험기간임에 OpenCV를 공부하기는 정상적으로 집중하기 힘들기에.. 실시간 시스템을 공부하던중 여러 수의 LCM을 어떻게 구현할까에 대한 고민을 하였다.     15 와 20의 최소공배수는 직관적으로 60임을 알 수 있다. 또한 최대공약수는 5임을 역시 직관적으로 알 수 있다. 또한 우리는 이에 대한 알고리즘을 알고있다.   기존 GCD알고리즘 def GCD(a, b): if b 더보기…

[python]OpenCV 공부노트 Mat4

[python]OpenCV 공부노트 Mat3 에 이어서 resize, reserve, release 에 대한 함수 사용   #pragma warning(disable: 4819) #include “opencv.hpp” using namespace cv; using namespace std; int main() { Mat A(3, 3, CV_32FC1, Scalar::all(0)); cout << “A= ” << A.size() << A << endl; A.resize(2); // 행의 갯수를 2로 변경한다. cout << 더보기…

[python]OpenCV 공부노트 Mat3

[python]OpenCV 공부노트 Mat2 에 이어서 at함수 대신 ptr로 Mat에 접근하는 방법을 익혀본다.   #pragma warning(disable: 4819) #include “opencv.hpp” using namespace cv; using namespace std; int main() { Mat A(3, 3, CV_32FC1); for (int i = 0; i < A.rows; i++) { float* ptrA = A.ptr<float>(i); // row ptr 접근 for (int 더보기…