분류 전체보기 140

MiniZinc: 초보자를 위한 소개

MiniZinc(미니징크)는 수학과 컴퓨터 과학의 매력을 발견할 수 있는 강력하고 유용한 도구입니다. MiniZinc는 OPTIMA의 지원을 받아 모나쉬 대학에서 개발되었습니다. 이 글에서는 MiniZinc의 주요 특징과 활용 방법을 소개하겠습니다. MiniZinc란? MiniZinc은 제약 모델링 언어로, 복잡한 문제를 쉽게 표현하고 해결할 수 있게 도와줍니다. 수학적 최적화 문제나 제약 만족 문제를 풀 때 사용됩니다. MiniZinc의 장점 높은 수준의 언어: 직관적이고 읽기 쉬운 논리적 구조로 문제를 모델링할 수 있습니다. 타입 안전성도 보장되어 있어 오류를 줄일 수 있습니다. 다양한 솔버 지원: 특정 솔버에 종속되지 않고 다양한 솔버 기술을 사용할 수 있습니다. 하나의 모델로 여러 솔버를 시험해 ..

IT일반 2024.11.10

FFmpeg를 사용한 동영상을 이미지 크기 설정해서 시퀀스 저장하기

동영상을 개별 프레임 이미지로 추출하는 작업은 영상 편집, 애니메이션 작업, 또는 컴퓨터 비전 프로젝트에서 자주 필요한 작업입니다. 오늘은 FFmpeg를 사용해 동영상을 이미지 시퀀스로 변환하는 방법을 알아보겠습니다.명령어 분석ffmpeg -i input.mp4 -vf "fps=20,scale=1920:1080" frames/out%04d.png이 명령어를 하나씩 살펴보겠습니다:ffmpeg: 비디오/오디오 처리를 위한 명령행 도구입니다.-i input.mp4: 입력 파일을 지정합니다. 여기서는 'input.mp4'라는 동영상 파일입니다.-vf: 비디오 필터를 적용하겠다는 옵션입니다.fps=20: 초당 20프레임으로 추출하겠다는 의미입니다.scale=1920:1080: 출력 이미지의 해상도를 1920x10..

PandasAI와 Streamlit으로 만드는 데이터 분석 챗봇

이번 글에서는 Streamlit과 PandasAI를 활용해서 CSV 파일을 분석할 수 있는 챗봇을 만드는 방법을 소개하려고 합니다.pandasai는 데이터 분석을 위한 오픈소스 AI 도구입니다. 주요 특징은 다음과 같습니다:일반 언어로 데이터에 대한 질문을 하면 실시간 인사이트를 제공복잡한 코딩 없이도 데이터 분석 가능SQL, NoSQL, CSV, xls 등 다양한 데이터 소스 연결 지원여러 데이터 소스를 통합 분석 가능1. 개요이 프로젝트는 여러 개의 CSV 파일을 업로드하고, 자연어로 데이터에 대해 질문하면 답변을 제공하는 웹 애플리케이션입니다. 2. 필요한 라이브러리 설치pip install pandas pandasai streamlit openai3. 코드 설명먼저 필요한 라이브러리들을 임포트합니..

가로 또는 세로 비율을 유지하면 이미지 크기 변경하기

이번 글에서는 ImageMagick을 사용하여 원본 이미지의 가로, 세로 크기 비율을 유지하면서 크기를 변경하는 두가지 명령어에 대해 알아보겠습니다. ImageMagick은 강력한 오픈소스 이미지 처리 소프트웨어입니다. 200가지 이상의 이미지 파일 형식을 지원하며, 이미지 생성, 편집, 변환 등 다양한 작업을 명령줄에서 수행할 수 있습니다. 주요 기능이미지 형식 변환 (JPG, PNG, GIF, WebP 등)크기 조정 및 회전필터 및 효과 적용이미지 최적화배치 처리 지원 아래 두가지 명령은 기능적으로는 똑같이 이미지 크기를 변경하나 조금은 다른 형식인데 상황에 따라 적적한 명령어를 실행하시면 됩니다.convert 명령어 magick convert -format png -geometry 900x inpu..

Leaflet과 Turf.js를 활용한 다각형 버퍼 및 등간격 포인트 생성하기

이 코드는 지도상에 다각형을 그리고, 버퍼 영역을 생성한 후 그 경계선을 따라 일정한 간격으로 포인트를 배치하는 방법을 보여줍니다.1. 기본 지도 설정var map = L.map("map").setView([-26, 128], 5);L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {...});호주 중심부(-26°, 128°)를 초기 뷰포인트로 설정Carto의 밝은 스타일 베이스맵 사용2. 다각형 생성const polygon = turf.polygon([...]);호주 내륙 일부를 포함하는 사각형 다각형 생성좌표: 위도 -28° ~ -20°, 경도 126° ~ 140°3. 버퍼 생성const polygon1 = turf...

Leaflet과 Turf.js를 활용한 폴리곤 차집합 구현하기

오늘은 Leaflet 지도 라이브러리와 Turf.js를 사용하여 폴리곤 간의 차집합(Difference)을 구현하는 방법을 알아보겠습니다.1. 기본 지도 설정먼저 호주 중심부를 보여주는 지도를 초기화합니다:var map = L.map("map").setView([-26, 128], 5);L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', { attribution: '© Carto Maps contributors'}).addTo(map);여기서 지도의 중심점을 남위 26도, 동경 128도로 설정하고 줌 레벨은 5로 지정했습니다. 베이스맵으로는 Carto의 라이트 스타일을 사용했습니다.2. 폴리곤 정의세 개의 폴리곤을 정..

지도 위에 경로를 그리고 회전시키는 웹 앱 만들기

이번 포스팅에서는 지도 위에 경로를 그리는 간단한 웹 애플리케이션을 만들어보겠습니다. 이 프로젝트에서는 지도를 설정하고, 경로를 그리고, 슬라이더를 통해 경로를 회전시키는 기능을 구현할 것입니다. 자, 시작해볼까요? 1. 지도 설정하기 먼저, 지도를 화면에 띄우는 방법을 알아보겠습니다. 우리는 Leaflet이라는 라이브러리를 사용할 것입니다. 아래 코드는 지도를 생성하고, 초기 위치를 설정합니다. var map = L.map("map").setView([37.393667, 126.95737], 15);여기서 [37.393667, 126.95737]는 서울 근처의 특정 좌표입니다. 숫자 15는 확대 수준을 나타냅니다. 숫자가 클수록 더 자세히 볼 수 있습니다. 2. 지도 배경 설정 다음으로, 지도의 배경을..

가우시안 스플래팅(Gaussian Splatting) 3D 모델링

# 쉽게 알아보는 가우시안 스플래팅(Gaussian Splatting) 3D 모델링  안녕하세요! 오늘은 최근 주목받고 있는 3D 모델링 기술인 '가우시안 스플래팅'에 대해 알아보겠습니다. ## 📌 가우시안 스플래팅이란? 가우시안 스플래팅은 3D 공간을 표현하는 혁신적인 방법입니다. 여러 장의 사진만으로 실제와 같은 3D 모델을 만들 수 있어요. ## 🎨 어떻게 작동하나요? 1. **점들의 집합**    - 마치 스프레이 페인트를 뿌리듯이 작은 점들을 3D 공간에 뿌립니다    - 각각의 점은 구름처럼 부드럽게 퍼져있는 형태를 가져요 2. **자연스러운 표현**    - 이 점들이 모여 물체의 형태를 만듭니다    - 색상과 질감도 함께 표현할 수 있어요 ## 🆚 기존 3D 모델링과 무엇이 다른가요..

IT일반 2024.11.04

다각형 외부의 점에서 가장 가까운 점 다각형 내 위치 찾기

turf.js와 leaflet을 이용해 지도상의 특정 위치에서 가장 가까운 다각형 위의 점을 찾는 코드입니다. 마지막에 첨부된 내용을 파일로 저장해 브라우저로 열어보시면 아래와 같은 실행결과를 확인할 수 있습니다.코드의 전체적인 흐름은 아래와 같습니다.// 지도 초기화:// 호주 중심부 근처(-26°, 128°)에 지도를 생성하고 줌 레벨을 5로 설정합니다.var map = L.map("map").setView([-26, 128], 5);// 타일 레이어 추가:// Carto의 밝은 스타일 지도 타일을 배경으로 추가합니다.L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png'...)// 다각형 생성:// 호주 내부에 직사각형 모..

ogr2ogr로 csv 파일을 ESRI Shape file로 만드는 방법

ogr2ogr은 GDAL (Geospatial Data Abstraction Library)의 강력한 명령줄 도구로, 마치 마법사처럼 다양한 지리공간 데이터 포맷 간의 변환을 손쉽게 처리합니다. GDAL은 GIS(Geographic Information Systems) 분야에서 가장 널리 사용되는 오픈소스 라이브러리 중 하나이며, ogr2ogr은 그 핵심 기능 중 하나입니다. 단순한 포맷 변환뿐만 아니라, 데이터 필터링, 재투영, 그리고 공간 처리 기능까지 제공하여 지리공간 데이터 관리에 필수적인 도구로 자리매김했습니다. csv 파일을 ESRI Shape 파일로 변환하는 방법은 여러가지가 있지만, ogr2ogr을 사용해서 만들때 다음과 같은 2가지 형태가 있습니다. 1. csv 파일에 경도, 위도의 좌표..