Rust(7)
-
Rust에서 RF-DETR ONNX 모델을 사용한 이미지 객체 식별
이전 프로젝트에서 YOLOX를 사용해볼 수 있는 기회가 있었습니다. 당시에 Rust로 프로젝트를 제작하고 있었기 때문에 PyTorch로 학습된 모델을 Rust에서 돌려보기위해 여러 방법들을 시도해보았습니다. 이 때 ONNX을 알게 되어 onnx로 모델을 변환하고 실행하는 시도도 해보았습니다. 최종적으로는 속도 차이로 tch-rs(파이토치 러스트 바인딩)을 사용하여 실행하는 것으로 결론을 내렸습니다. 당시에 아쉬웠던 부분은 YOLOX의 동작 속도였는데요. 우연찮게 LinkedIn에서 Roboflow의 RF-DETR 에 대한 게시물을 발견하게 되었고 나중에 기회가 되면 써봐야지 했습니다. 그리고 드디어 여유 시간이 생겨 실제로 만들어 볼 수 있게 되었습니다. 프로젝트에서 ONNX 모델을 사용할 예정이기 때..
2025.07.31 -
Rust + Bevy Engine + egui 시작하기
길고도 짧았던 프로젝트 하나가 일단락되어 게시물을 작성할 여유가 생겼습니다. Rust를 본격적으로 업무에 사용하기 시작한 것이 2019년도였습니다. 지금도 그렇지만 당시에도 Rust 진영에서 GUI 프로그램 개발을 하기에는 선택지가 많지 않은 상황이었습니다. 그나마 그때에는 간단한 펌웨어 업데이트 프로그램을 만들던 때라 Sciter( https://sciter.com/ )를 사용했었습니다. 지금이라면 Tauri를 선택했겠지만 Tauri가 1.0이 된 게 2022년도 여름에나 되어서였네요.시간이 지나 다시 GUI 프로그램을 만들어야 하는 상황이 왔고, 그때에는 Tauri를 사용했습니다. 그때가 딱 Tauri가 1.0이 된 직후였네요. 차트가 필요해서 Chart.js를 사용해서 실시간으로 업데이트되는 데이터..
2025.07.30 -
opencv 비디오 파일의 영상 표시(rust/macos)
rust와 opencv를 사용하여 MacOS에서 영상 프레임을 추출하여 화면에 표시하는 예제입니다. MacOS에서 opencv 개발 환경을 구성하는 방법부터 차례로 설명하겠습니다.이 게시물에서 부족한 내용은 아래의 문서를 참고하시기 바랍니다. opencv-rust/INSTALL.md at master · twistedfall/opencv-rust (github.com) opencv-rust/INSTALL.md at master · twistedfall/opencv-rustRust bindings for OpenCV 3 & 4. Contribute to twistedfall/opencv-rust development by creating an account on GitHub.github.com 1. 개발..
2024.08.28 -
opencv with rust in windows
오랜만에 opencv를 사용하려다보니 기억이 가물가물해져서 다시 정리해봅니다. 아래의 라이브러리를 사용할 예정이니 이 게시물의 내용만으로 부족한 부분이 있다면 확인해보시기 바랍니다.twistedfall/opencv-rust: Rust bindings for OpenCV 3 & 4 (github.com) GitHub - twistedfall/opencv-rust: Rust bindings for OpenCV 3 & 4Rust bindings for OpenCV 3 & 4. Contribute to twistedfall/opencv-rust development by creating an account on GitHub.github.com 1. 개발 환경 구성rust와 vscode, chocolatey..
2024.08.27 -
Rust / 문자열 입력
백준 문제를 풀려다 보니 초반부터 문자열 입력을 받는 문제들이 있더라고요. 이번 예제에서는 문자열을 입력받아서 출력해 보겠습니다. 새로운 프로젝트를 생성합니다. main.rs 파일을 아래와 같이 수정합니다. use std::io; fn main() { let mut user_input = String::new(); let stdin = io::stdin(); println!("What is your name?"); let _result = stdin.read_line(&mut user_input); let input = user_input.replace("\r", "").replace("\n", ""); println!("Hello {}!!", input); } 이렇게 코드를 넣고 보니 "Hello, w..
2022.12.29 -
Rust / "Hello World"
처음 시작하면 "Hello World"를 출력하는 것이 국룰. 적당한 곳에 프로젝트용 폴더를 만들고 새로운 프로젝트를 생성합니다. cargo new hello_world 새로 생성된 프로젝트 폴더로 이동해서 어떤 파일들이 생성되었는지 확인해보겠습니다. vscode에서 보면 다음과 같은 구조로 되어 있습니다. vscode에서 main.rs 파일을 열어보겠습니다. 프로젝트 생성만 했지만 이미 "Hello, world!"가 있습니다. 굿! 요대로 프로젝트를 실행해봅시다. cargo run 참 쉽죠? 빌드된 실행 파일은 아래의 경로에 있습니다. 여러 가지로 궁금한 것들이 많으실 것 같지만 급하게 먹는 밥에 체하는 법입니다. 천천히 알려드리겠습니다. 아래의 사이트를 방문하여 전체 코드를 받으실 수 있습니다. ht..
2022.12.29