본문 바로가기

전체 글125

docker & docker-compose 설치 $ curl -L https://get.docker.com | sh 일반 유저 권한으로 실행하기 위해 그룹부여 $ sudo usermod -aG docker $USER $ sudo reboot 2023. 8. 11.
(React) useState useState 는 React class에서 사용하던 state 를 functional component  에서 간단히 사용가능하게 하는 React Hook중 하나이다. useState(초기값 또는 blank)를 콜 하면 [ 값을 가지는 변수, 변경 가능한 함수] 를 리턴하게 되는데 이들의 명명은 자유롭게 할 수 있지만 [statename, setStatename] 으로 하는게 일반적이다.state의 값은 setStatename 함수로 변경 할 수 있고, 변경후엔 화면이 자동으로 다시 렌더링하게 되어 state 변수를 사용한 컴포넌트들도 바뀌게 된다. ※ setStatename 함수에 의한 값은 비동기로 변경되기 때문에 아주 긴 string을 변경하여 바로 뒤 코드에서 statename을 들여다 보게 되.. 2023. 8. 11.
(opencv) pixel access time 샘플 Mat : 5000 x 3000 BGR Color All Black cv::Mat image = cv::Mat::zeros(cv::Size(5000, 3000),CV_8UC3); RGB 의 합을 계산 방법 1) at(y좌표, x좌표) int sum = 0; for (int i = 0; i < image.rows; i++) { for (int j = 0; j < image.cols; j++) { cv::Vec3b pixel = image.at(i, j); sum += pixel[2] + pixel[1] + pixel[0]; } } 방법 2) 선두 메모리 포인터 사용 int sum = 0; for (int i = 0; i < image.rows; i++) { const cv::Vec3b* ptr = i.. 2023. 8. 9.
(opencv) Mat 의 기초 cv::Mat (cv 는 namespace를 의미하고 특별을 using namespace cv; 를 명시하지 않는 이상 지정을 해야 함) 2D (W x H) 이미지 정보를 보관하는 클래스 이미지 데이터는 힙메모리에 존재하고 cv::Mat 는 메모리 주소를 보관하게 된다. 이미지 메모리는 명시적으로 release() 멤버 함수를 이용하여 명시적으로 삭제 할 수 있으나 암시적으로 참조 카운트가 0 가 되었을 때 자동 삭제된다. 메모리 삭제 코드의 누락으로 이미지 메모리가 좀비로 될 가능성이 없다. 기본적으로 메모리상 이미지 색상의 저장 순서는 B G R 순이다. (관습상 BMP 포멧 배열이기 때문) type() 1 픽셀의 내부 구성요소를 의미한다. 여러 타입이 있지만 이미지 처리에선 아래 2가지만 생각하자... 2023. 8. 5.
(opencv) 환경설정 최근엔 deep learning의 영향으로 python에서 opencv활용이 많아지고 있고 사용법의 설명 사이트도 많이 있지만 Windows Visual Studio에서 개발을 주로 해 왔던 개발자로서 Windows환경을 중심으로 설명을 해 나가겠다. header, lib, dll 파일 입수 정식으로는 소스를 다운로드 해서 옵션을 지정한 후 CMAKE Visual Studio를 이용하여 직접 컴파일을 해야 한다. 하지만 귀찮고 처음하시는 분은 어렵기 때문에 아래사이트에서 미리 컴파일된 파일들을 다운로드해서 사용하자. https://github.com/shimat/opencv_files_420/tree/master Code -> Download ZIP 로 다운로드 한 후 uwp-x64(Windows 64b.. 2023. 8. 5.