본문 바로가기

Programming

(14)
[MFC] mfc 버튼에 배경색 없는 아이콘 넣기 (vs 2019) VS 2019 기준 MFC 버튼에 배경이 없는 아이콘를 넣는 방법을 알아보겠습니다. Button 생성[리소스뷰] -> [Dialog] -> [도구상자]-> [Button] 클릭하여 버튼 생성합니다.Button 변수 추가[우클릭] -> [변수 추가]를 클릭하여 색상을 변경하고 싶은 버튼의 변수를 추가합니다. 변수명은 임의로 m_btn_image로 설정하겠습니다.  저는 그림이 잘 보이게 하기 위해 버튼에 캡션을 지우고 크기를 늘려보겠습니다.  더불어서 버튼에 아이콘을 추가할 것이기 때문에 버튼의 속성에서 아이콘을 False에서 True로 변경해줍니다.   MFC에 아이콘 파일 추가버튼에 추가하고 싶은 아이콘 파일 (.ico) 파일을 준비합니다. 저같은 경우에는 배경이 지워진 png 이미지를 김프를 사용해서..
[Python][Error] ImportError: cannot import name 'plot_confusion_matrix' from 'sklearn.metrics' (/home/gil/anaconda3/envs/msb_pt/lib/python3.10/site-packages/sklearn/metrics/__init__.py) 이번에는 또 sklearn.metrics에서 plot_confusion_matrix를 찾을 수 없다는 에러가 뜹니다.   이런 에러는 100%에 99.99%는 버전 에러라고 생각하시면 됩니다.Scikit-learn 홈페이지에서 확인해보시면 plot_confusion_matrix 함수는 1.0.x 버전에서 사용되던 함수임을 알 수 있습니다.   제 scikit-learn 함수 버전을 뽑아보면 아래와 같습니다. conda list scikit 이를 해결하기 위한 방법은 크게 두가지 방법이 있습니다. 1. 버전 다운그레이드너무 간단하게 해결 가능한 방법 입니다.해당 함수가 사용가능한 버전으로 scikit-learn 버전을 다운그레이드 해주면 됩니다. pip install scikit-learn==1.0.2  ..
[Python][Error] TypeError: DataFrame.drop() takes from 1 to 2 positional arguments but 3 were given 이전에는 멀쩡히 잘 사용했던 코드인데, 갑자기 다음과 같은 에러가 뜹니다.  import pandas as pddf = pd.read_csv('../data/data.csv', engine='python')data_y = df['label']data_x = df.drop('label', 1) Pandas 깃허브에 들어가서 확인해보시면 그 이유를 알 수 있습니다.   버전업에 따라 drop 함수 1.x.x 버전에서는 뒤 변수들이  일반 위치인자 (positional arguments)로 인식합니다. 따라서 따로 인자명을 주지 않아도, 위치에 기반하여 순서대로 인식됩니다. (1은 당연히 다음 axis 변수에 대한 값임) 그러나 2.x.x 버전 부터는 drop을 포함한 다른 여러 함수들(concate...)에..
[MFC] 버튼 눌러서 윈도우 파일탐색기 열기 (vs 2019) 만약 MFC에서 버튼을 눌러서 윈도우 탐색기를 열고싶다면, 어떻게 해야할까요 ?한번 알아봅시다. Button 생성[리소스뷰] -> [Dialog] -> [도구상자]-> [Button] 클릭하여 버튼 생성합니다.Button 이벤트 처리기 추가[우클릭] -> [이벤트 처리기 추가(A)]를 클릭하여 버튼을 클릭했을 때 이벤트가 일어날 수 있도록 함수를 생성합니다. . 이벤트 처리기를 추가할 때 클래스 목록은 본인 main dialog 클래스에,메시지 유형은 BN_CLICKED로,함수명은 본인이 원하는 함수명으로 변경해주세요. Button 이벤트 처리기에 파일탐색기 열기폴더와 파일 탐색을 지원하는 CFileDialog를 사용하여 파일탐색기를 열 수 있습니다. 앞서 만든 이벤트 처리기 함수 내에 아래와 같이 작성..
[Python] 파이썬에서 쓰레드 이용하여 이미지 병렬 처리 오늘은 파이썬에서 쓰레드(Thread)를 이용하여 이미지 영상처리 기법을 병렬로 처리하는 방법을 알아보겠습니다.  Thread란?**Thread(쓰레드)**는 컴퓨터 프로그램에서 실행되는 가장 작은 단위입니다. 하나의 프로세스(작업 단위)는 여러 쓰레드를 포함할 수 있으며, 이들 쓰레드는 동일한 메모리 공간을 공유하면서 독립적으로 실행될 수 있습니다. 쓰레드는 경량 프로세스(lightweight process)라고도 하며, 다중 작업을 수행할 때 사용됩니다.쓰레드의 특징동시성 (Concurrency):여러 쓰레드가 동일한 프로세스 내에서 독립적으로 실행될 수 있습니다.이를 통해 프로그램은 동시성을 가지며, 동시에 여러 작업을 수행할 수 있게 됩니다.메모리 공유:동일한 프로세스 내의 쓰레드는 메모리와 자원..
[Python][Error] ImportError: cannot import name 'if_delegate_has_method' from 'sklearn.utils.metaestimators' ML를 위해 코드를 작성하던 중 eli5 라이브러리가 필요하여 pip install eli5 를 진행하여 eli5 라이브러리를 설치했습니다.from eli5.sklearn import PermutationImportanceimport eli5 이후 위와 같이 간단학세 eli5 라이브러리를 import 하고 나면 아래와 같은 에러가 뜹니다. ImportError: cannot import name 'if_delegate_has_method' from 'sklearn.utils.metaestimators'위에 대한 에러 해결은 아래 깃허브 자료에서 자세한 내용 확인하실 수 있습니다.  https://github.com/manuel-calzolari/sklearn-genetic/commit/12ee9b2e59..
[React/Nextjs] 스크롤 창 버튼 네비게이션 컴포넌트 만들기 웹사이트에서 좌우 스크롤로 넘겨보는 UI는 마우스를 사용하는 사용자 입장에서는 불편할 수도 있습니다.모바일로 접속하는 사용자에게는 문제가 없겠지만 다양한 사용자에게 동일한 UX를 제공하는 것도 중요합니다.UI 레이아웃위 사진과 같이 좌우 화살표로 메인콘텐츠에 있는 스크롤 영역을 제어하는 형태가 되겠습니다.코드먼저 전체적인 구조부터 잡아주겠습니다.ScrollableButtonNav.tsximport React from "react";interface ScrollableButtonNavProps { children: React.ReactNode; className?: string;}const ScrollableButtonNav: React.FC = ({ children, className,}) => ..
[MFC] 엑셀 파일 읽기 (vs2019) 이번에는 MFC 에서 엑셀파일을 읽는 방법입니다.  우선 엑셀파일을 읽기 위해서는 아래 네 가지 종류의 파일이 필요합니다. 아래 네 가지 종류의 파일은 링크된 깃허브에서 받아올 수 있습니다. https://github.com/SaeByeolMun/mfc_excel_api GitHub - SaeByeolMun/mfc_excel_api: mfc_excel_apimfc_excel_api. Contribute to SaeByeolMun/mfc_excel_api development by creating an account on GitHub.github.com 우선 해당 라이브러리를 사용하기 위해 미리 컴파일되는 헤더에 두 가지 헤더파일을 include 해줍니다. // pch.h#include "ExcelAPI/..