본문 바로가기

Programming

(22)
[Docker] Traefik 리버스 프록시(Reverse-proxy)로 사용하기 træfik은 오픈소스 라우팅 서비스로 kubernetes와 같이 컨테이너간 혹은 서비스간 통신이 필요할 때 사용이 가능한 개발자 도구 중 하나입니다. 본인은 단일 VPS(Virtual Private Server)에 백엔드 서비스를 여러개 배포하고자 하는 상황이었기 때문에 DNS에서 넘어오는 요청을 알맞은 서비스로 라우팅해야 했습니다. 이런 상황은 nginx 혹은 apache와 같은 서비스로도 해결이 가능하지만, 여러 서비스를 컨테이너화하여 배포하는 상황에서는 사용하기 번거롭고 복잡하다는 단점이 있습니다. 이 과정을 단순화하고 사용하기 쉽게 만들어놓은게 træfik이 되겠습니다.이번 글에서는 단순한 예시와 함께 træfik 사용방법에 대해 간단하게 얘기해 보고자 합니다.✅ 개념설명https://doc.t..
[Python] 딥러닝 학습률 출력을 위한 프로그래스바 구현 (tqdm, custom function) 인공지능 모델을 학습할 때, tqdm을 사용해서 흔히 학습률을 출력해서 확인하고는 합니다. tdqm의 함수를 사용해서 프로그레스 바를 출력해도 좋습니다만, 저희 입맛대로 커스텀해서 프로그래스 바를 구현할 수도 있습니다. 이번에는 인공지능 모델 학습을 위해 세부 정보를 출력하는 pregress bar 구현 방법을 두 가지 정도 보여드리겠습니다. for문은 아래 코드를 사용해서 간단하게 표현해 보겠습니다. 학습환경을 간단하게 구현하기 위해서 아래 for문을 사용하겠습니다. num_epochs = 5 # 전체 에폭수 정의for epoch in range(num_epochs): # epoch for문 for i, (images, targets) in enumerate(train_dataloade..
[Python] image bytes(image.blob)을 numpy.array로 타입 변경 하기 image.blob은 일반적으로 이미지 데이터가 이진(binary) 형태로 저장된 Blob (Binary Large Object) 을 의미합니다. 파이썬에서 image.blob을 numpy.array로 변환하려면, 이진 데이터를 이미지로 디코딩한 다음, 다시 배열로 변환해야 합니다. 가장 일반적인 방법은 Pillow 또는 OpenCV를 사용하는 것입니다. ✅ 방법 1: Pillow + numpy from PIL import Imageimport numpy as npimport io# image.blob 이 있다고 가정img_blob = image.blob # bytes 형태# BytesIO로 감싸서 Pillow 이미지로 변환img = Image.open(io.BytesIO(img_blob))# nu..
[Python] 파이썬으로 ppt 읽고 이미지 가져오기 데이터를 분석해야하는 과제를 받았는데 데이터를 ppt로 받았습니다. (?)그래서 간단하게 파이썬으로 ppt를 읽어와서 이미지를 불러와서 저장하는 방법을 알아보도록 하겠습니다. ✅ python-pptx 설치파이썬에서 ppt를 읽기 위해서는 python-pptx 라이브러리를 사용합니다. https://pypi.org/project/python-pptx/ Client ChallengeJavaScript is disabled in your browser. Please enable JavaScript to proceed. A required part of this site couldn’t load. This may be due to a browser extension, network issues, or brow..
[MFC] static control 텍스트 색상 변경하기 (VS2019) MFC에서 CStatic 컨트롤의 텍스트 색상을 흰색으로 변경하려면, 일반적으로 WM_CTLCOLOR 메시지를 처리해서 해당 컨트롤에 대해 글자색과 배경색을 설정해야 합니다. ✅ 방법: OnCtlColor 오버라이드1. ctrl + shift + x 를 눌러 클래스 마법사 open 2. 메시지란에 WM_CTLCOLOR 를 입력한 후, 더블클릭하여 OnCtlColor 함수 오버라이드 3. 이후 함수 OnCtlColor()에 아래 코드를 입력합니다. HBRUSH CvtkMFCDlgEXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: 여기..
[VTK] 3d 데이터에서 가장 큰 영역만 추출하기 (MFC, vs2019) 본 글은 이전글에서 이어지는 내용입니다.이전글을 읽고 오시면 더 자연스럽게 이해하실 수 있습니다. 2025.03.21 - [Programming/VTK] - [VTK] dicom 데이터(CT image)에서 뼈 영역만 남기기 [VTK] dicom 데이터(CT image)에서 뼈 영역만 남기기CT 데이터는 3D 픽셀(=Voxel)로 이루어져 있으며, 각 Voxel에는Hounsfield Unit (HU) 값이 있습니다.   Hounsfield Unit 이란? HU는 물질이 X-ray를 얼마나 흡수하느냐(=조직의 밀도)를 숫자로 나타낸 값입니다.주binarylog.tistory.com  vtk에서는 vtkPolyDataConnectivityFilter를 이용하여 mesh의 연속성 검사를 할 수 있습니다.  이..
[VTK] dicom 데이터(CT image)에서 뼈 영역만 남기기 (MFC, vs2019) CT 데이터는 3D 픽셀(=Voxel)로 이루어져 있으며, 각 Voxel에는Hounsfield Unit (HU) 값이 있습니다.   Hounsfield Unit 이란? HU는 물질이 X-ray를 얼마나 흡수하느냐(=조직의 밀도)를 숫자로 나타낸 값입니다.주로 사람의 몸에 대한 X-ray 영상을 취득할 때, 각 조직(tissue)의 밀도(density)를 표현하는 단위로 사용됩니다.X-ray가 많이 흡수될수록 (즉, density가 높을수록) HU값이 크고, 적게 흡수될수록 (즉, density가 낮을수록) HU값이 작습니다. 조직 HU공기Air약 -1000 HU폐 영역Lung area약 -500 HU지방 조직Fats약 -100 ~ -50 HU물Water0 HU근육Muscle약 50 ~ 100 HU뼈(해면..
[VTK] 조명 설정하기 (vtkLight)(MFC, vs2019) 실제 공간에 조명이 없다면 아무것도 보이지 않을 것입니다. 사람도 태양광, 가로등, 형광등 등 빛을 통해서 비로소 사물을 볼 수 있습니다. 컴퓨터 상의 3차원 공간에서도 마찬가지로 조명이 없다면 아무것도 보이지 않을 것입니다. 또한 조명의 위치 및 특성에 따라 오브젝트가 다르게 보일 것 입니다.  VTK에서는 카메라와 마찬가지로 별도 설정을 하지 않으면 기본적으로 한개의 카메라를 따라다니는 조명이 생성됩니다. 사용자가 조명을 추가하거나 그 속성을 변경하고 싶다면, vtkLight 클래스를 사용하면 됩니다.  그 예제는 아래와 같습니다. // 코드 앞부분에 추가 #include // m_vtkWindow->Render() 앞에 추가하기vtkSmartPointer myCam = m_vtkRenderer->G..