본문 바로가기

분류 전체보기

Eight Points algorithm(Normalized) - 과제 해결 Part 1: Normalized 8-Point Algorithm In eight_point_fw, implement the function find_fundamental_matrix. This function takes 2 sets of corresponding key points from the 2 images and computes the fundamental matrix. For stability of the algorithm, we would want to first normalize the points. For this we follow the following steps: Find the centroid of the points (find the mean x and mean y values).. 더보기
Epipolar Geometry OpenCV: Epipolar Geometry OpenCV: Epipolar Geometry Goal In this section, We will learn about the basics of multiview geometry We will see what is epipole, epipolar lines, epipolar constraint etc. Basic Concepts When we take an image using pin-hole camera, we loose an important information, ie depth of the docs.opencv.org 그림에서 보다 시피 단안만을 이용하면 X의 투영되는 점이 OX 선중 어떤 3D 상의 점인지 알기 어렵다. 하지만, 다른 각도의 이미지.. 더보기
포인터 vs 참조자 void swap(int *x, int *y) 포인터는 변수의 주소가 파라미터로 전달된다. void swap(int& x, int& y) 참조자는 변수의 Alias가 파라미터로 전달된다. Alias와 파라미터의 주소는 동일하다. 따라서, 참조자의 값 변경시 전달된 변수의 값 또한 바뀐다. 차이점) 1. 포인터는 재 할당될 수 있지만, 참조자는 초기화시에 할당되고 재 할당이 안된다. 2. 참조자는 NULL 값을 할당 받을 수 없다. 포인터는 가능하다. 3. 포인터++은 메모리 이동이고, 참조자++은 값 1 증가이다 4. 포인터 변수의 주소와 변수 주소는 서로 다르지만, 참조자 주소와 변수 주소는 서로 동일하다. 5. 포인터는 ->로 멤버에 접근하고, 참조자는 . 로 멤버에 접근한다. 6. 포인터는 *로 역.. 더보기
OpenCV는 Row-Major, Matlab은 Column-Major 출처: https://stackoverflow.com/questions/8184053/accessing-elements-of-a-cvmat-with-atfloati-j-is-it-x-y-or-row-col Accessing elements of a cv::Mat with at(i, j). Is it (x,y) or (row,col)? When we access specific elements of a cv::Mat structure, we can use mat.at(i,j) to access the element at position i,j. What is not immediately clear, however, whether (i,j) refers to the x,y coord... stackoverf.. 더보기
PCL RGB 1. RGBA 1.1 Packing int rgb = ((int)r) 16) & 0x0000ff; std::uint8_t g = (rgb >> 8) & 0x0000ff; std::uint8_t b = (rgb) & 0x0000ff; 5가지 입력 더보기 (1) 인자를 안 받는 경우(RGBL의 경우는 라벨만 입력을 받는 경우) constexpr pcl::RGB::RGB( ) constexpr pcl::PointXYZRGBA::PointXYZRGBA() constexpr pcl::PointXYZRGBL::PointXYZRGBL(std::uint32_t_label = 0) (2) 포인트 한 점을 입력으로 받는 경우 constexpr pcl::RGB::RGB(const _RGB &p) constexpr pcl::.. 더보기
erode & dilate 참고 자료: https://docs.opencv.org/4.x/d9/d61/tutorial_py_morphological_ops.html OpenCV: Morphological Transformations Goal In this chapter, Theory Morphological transformations are some simple operations based on the image shape. It is normally performed on binary images. It needs two inputs, one is our original image, second one is called structuring element or kernel wh docs.opencv.org C++ 버전 문서:.. 더보기
2DPASS: 2D Priors Assisted SemanticSegmentation on LiDAR Point Clouds 0. 요약 Multi-modality 데이터 퓨전을 통한 Semantic Segmentation 연구가 이루어져 왔다 하지만, Fusion 기반 접근은 Point-Pixel 간의 정확한 매핑이 (학습과 추론 단계에서) 이뤄져야 한다 제안하는 2D Pass 방법은 2D 이미지를 충분히 활용하되, 엄검한 데이터 쌍의 제약이 없어서 세그멘테이션을 수행할 수 있게 해준다. 2D Pass는 Auxiliary Modal Fusion(보조 모달 융합)과 Multi-Scale Fusion-to-Single Knowledge Distillation(MSFSKD, 다중 스케일 융합-단일 지식 증류)를 활용하여 풍부한 의미론적 및 구조적 정보를 획득한 다음 Pure 3D 네트워크(?)로 Distilled(?) 된다 Sema.. 더보기
tee 명령어 tee 명령은 표준 입력을 읽어서, 표준 출력과 하나 이상의 파일에 쓴다. 즉, 출력을 동시에 하기 위한 용도이다. 예시) 2>&1 | tee logs_dir/${name}_logs_tee.txt 의미: 표준 에러(2) 결과를 표준 출력(1)으로 리다이렉션 하고, 표준 출력 결과는 내보냄과 동시에 logs_dir/${name}_logs_tee.txt에 파일로 저장한다. https://www.geeksforgeeks.org/tee-command-linux-example/ tee command in Linux with examples - GeeksforGeeks A Computer Science portal for geeks. It contains well written, well thought and we.. 더보기