2023년 회고
2023년을 되돌아보며 글을 적어보자.
블로그에 쓰는 첫 번째 글이다.
오늘은 Qt Creator를 이용하여 Raw Data Image를 어떻게 읽어오는지 알아보자.
이미지 파일 포맷 중 하나로 디지털 카메라나 이미지 스케너의 이미지 센서로부터 최소한으로 처리한 데이터를 포함하고 있다.
- 무손실 압축을 사용하므로 이미지는 원본 그대로를 사용하고 있다.
- 더 섬세한 제어가 가능하다.
- 색 공간은 사용자가 원하는대로 변경할 수 있다.
- 일반적으로 JPEG 파일보다 2~6배 정보 용량이 더 크다.
- 카메라가 raw 이미지를 카드에 기록할 때 JPEG보다 시간이 많이 걸리므로 연속 촬영에서 건져낼 수 있는 사진 수는 비교적 적다.
- Width, height 정보를 알아야 한다.
다음과 같은 단계를 거쳐야 한다.
Qt Creator를 이용해서 Raw Data Image File을 읽어보자.
(소스는 .cpp 파일의 일부이다. 변수 선언은 대부분 .h 에 했다.)
1 . Width와 Height을 입력해준다.
여기서는 Dialog창을 이용하여 Width와 Height을 입력받았다.
int width, height; //declare variables on header file
width = ui->lineEdit->text().toInt();
height = ui->lineEdit_2->text().toInt();
2 . QFileDialog를 이용해 raw파일을 선택한다.
QString strFileName; //declare variables on header file
QString strFilter = "raw file(*.raw)";
strFileName = QFileDialog::getOpenFileName(this,"Open a file","C:/Users/TaeYoung/Desktop/영상처리시스템설계_과제1",strFilter);
//choose the file name
//C:/Users/TaeYoung/Desktop/영상처리시스템설계_과제1 - 파일 경로 입력
3 . QFile을 이용하여 file을 읽어온다.
QFile file; //declare variables on header file
file->setFileName(strFileName); //load the file
file->open(QFile::ReadOnly); //just read the file
4 . QByteArray를 이용해서 file data 형식을 바꾼다.
QByteArray byteArray; //declare variables on header file
byteArray = file->readAll(); // transfer file to byteArray
5 . Unsigned Char 형식으로 data 형식을 바꾼다.
uchar data; //declare variables on header file
data = (const uchar*) byteArray.constData(); //transfer byteArray to uchar
6 . QImage를 이용하여 Image형식을 초기화한다.
QImage image; //declare variables on header file
QImage *temp = new QImage(data,width,height,QImage::Format_Grayscale8);
image = *temp; //initialize image
7 . QPixmap을 이용하여 이미지를 변환하자.
QPixmap pix; //declare variables on header file
pix = QPixmap::fromImage(image,Qt::AutoColor);
//initialize raw image to qpixmap
8 . QPixmap을 이용하여 QLabel에 이미지를 띄우자.
ui->label_image->setPixmap(pix);
//show image on qlabel
위에 알려준 순서대로 Raw data image file을 읽을 경우, 다음과 같은 프로젝트를 만들 수 있다.
전체 코드는 Image Viewer Qt를 참고하자.
2023년을 되돌아보며 글을 적어보자.
2D LiDAR Sick TIM 571 제품의 IP setting 및 ROS2 package를 설치해보자.
2022년을 되돌아보며 글을 적어보자.
LiDAR-Visual-inertial SLAM 논문 중 하나인 LVI-SAM을 읽고 요약해보자.
LiDAR-inertial odometry 논문 중 하나인 FAST-LIO를 읽고 요약해보자.
SLAM에서 IMU를 활용할 때, 또는 Sensor Fusion을 할 때 알아야 할 용어 및 개념을 정리해 보자.
Iterated error state Kalman Filter에 대한 설명을 간략하게 포스팅해보자.
EVO package를 활용하여 SLAM trajectory를 Visualize 해보자!
최근 나온 LIO(LiDAR-inertial odometry)을 정리해보자!
Cyrill 교수님의 SLAM 강의를 듣고 정리해보자! (Work in progress…)
Visual Inertial SLAM 중 유명한 ORB-SLAM3를 요약해보자.
Cyrill 교수님의 SLAM 강의를 듣고 정리해보자!
Cyrill 교수님의 SLAM 강의를 듣고 정리해보자!
Visual Inertial SLAM 중 유명한 VINS-mono를 요약해보자.
2020 CVPR SLAM Challenge를 보고 요약해보자.
Cyrill 교수님의 SLAM 강의를 듣고 정리해보자!
Cyrill 교수님의 SLAM 강의를 듣고 정리해보자!
Cyrill 교수님의 SLAM 강의를 듣고 정리해보자!
SLAM에서 Lie group & Lie algebra 쓰는 이유와 무엇인지 알아보자.
Cyrill 교수님의 SLAM 강의를 듣고 정리해보자!
Cyrill 교수님의 SLAM 강의를 듣고 정리해보자!
Cyrill 교수님의 SLAM 강의를 듣고 정리해보자!
Cyrill 교수님의 SLAM 강의를 듣고 정리해보자!
Kinect Fusion을 읽고 요약해보자!
2021년을 되돌아보며 글을 적어보자.
따베씨++ Chapter 3을 듣고 정리해보자!
따베씨++ Chapter 2을 듣고 정리해보자!
따베씨++ Chapter 1을 듣고 정리해보자!
따베씨++ Chapter 0을 듣고 정리해보자!
Cyrill 교수님의 SLAM 강의를 듣고 정리해보자!
Kinematics와 Dynamics 그리고 Kinetic에 대해서 알아보자!
Euler Angle(오일러 각) 과 Roll Pitch Yaw에 대해서 알아보자.
Git push를 할 때 나는 에러 해결 법을 알아보자.
Cyrill 교수님의 SLAM 강의를 듣고 정리해보자!
Open Source 참여 및 협업을 위한 Github 활용법을 알아보자!
Cyrill 교수님의 SLAM 강의를 듣고 정리해보자!
Realsense D435에서 Depth filtering을 적용해보자!
Ubuntu 18.04에서 ORB-SLAM3를 빌드 및 실행해보자!
Event-based Vision: A Survey를 읽고 요약해보자! (2)
현대자동차 계약학과 합격 후기 (3)입니다.
현대자동차 계약학과 합격 후기 (2)입니다.
현대자동차 계약학과 합격 후기 (1)입니다.
Event-based Vision: A Survey를 읽고 요약해보자! (1)
Depth estimation 논문인 BTS(From Big to Small)를 읽고 정리해보자!
Hyundai Open R&D 2020을 참가한 느낀 점을 적어보자!
‘ORBSLAM2_with_pointcloud_map’를 실행시켜보자!
프로그래머를 위한 선형대수를 읽고 정리해보자!
자주 쓰이는 docker 명령어 및 Run command option에 대해서 정리해보자!
‘Resnet’을 읽고 정리해보자.
읽은 논문을 정리하여 짧게 comment를 남겨보자!
Cyrill 교수님의 SLAM 강의를 듣고 정리해보자!
Ubuntu 18.04에 Realsense Viewer를 설치해보자!
ORB-SLAM2를 실시간으로 구동해보자!
VSCode에서 OpenCV를 사용해보자!
Computer Vision을 하면 자주 사용하게 되는 OpenCV를 공부해보자!
‘Korea Health Datahon 2020’에 대회에 대해 간략한 후기를 남겨보려 한다.
Reinforcement Learning에 대해서 알아보자!
Unsupervised Learning과 Generative Models에 대해서 알아보자!
CNN Layer들의 Data를 시각화 하는 방법에 대해 알아보자!
Object Detection과 Segmentation에 대해서 알아보자!
RNN에 대해서 한 번 알아보자!
대표적인 CNN Architecture에는 어떤 것들이 있는지 알아보자!
딥러닝 프레임워크에 대해서 알아보자!
Neural Network를 Training 시킬 때, 고려해야 하는 것들을 추가적으로 알아보자!
Github에 commit을 했는데 graph에는 표시되지 않는 황당한 경우가 있을 수 있다.
Neural Network를 Training 시킬 때, 고려해야 하는 것들을 알아보자!
Convolution Neural Networks에 대해서 알아보자!
오늘은 Backpropagation과 Neural Networks에 대해 배워보자!
오늘은 loss functions와 optimization에 대해 배워보자!!
드디어 본격적으로 강의를 배우는 첫번째 시간이다.
영상처리 시스템 설계라는 수업을 듣고
데이터 분석과 이미지처리에 딥러닝 바로 써먹기 두번째 시간이다.
CS231n은 Stanford 강좌 중 하나이다.
Qt Creator를 이용하여 Histogram specification를 구현해보자.
‘Yolact’를 읽고 간단히 요약해보았습니다.
블로그에 쓰는 첫 번째 글이다.