라벨이 이미지인 게시물 표시

[Python] OpenCV 이미지 채널 별 분리

개인 프로젝트에도 시간을 할애해야하건만 출장이다 회사 프로젝트다 핑계거리가 많아 아무래도 점점 나태해져 가는 듯 하다. 파이썬을 이용한 주식 분석 및 자동 매매 프로그램이 최종 목표이기에 우선은 이미지 처리에 관심을 가져보자. 이미지 처리를 위해서 영상을 회색조로 바꾸어 처리하기도 하지만 R,G,B 각 채널별로 분리를 하기도 한다. 우선 코드를 보자 import cv2 img = cv2.imread( 'masala.jpg' , cv2.IMREAD_COLOR) cv2.imshow( 'img' , img) cv2.waitKey( 0 ) b , g , r = cv2.split(img) cv2.imshow( 'img_b' , b) cv2.imshow( 'img_g' , g) cv2.imshow( 'img_r' , r) cv2.waitKey( 0 ) cv2.destroyAllWindows() imread 함수를 이용하여 이미지를 읽어 온 후 한번 출력하고 waitKey 함수를 이용해 키보드의 입력을 기다린다. 키보드 입력이 들어오면 읽었던 이미지를 R,G,B 3개의 채널로 분리한 후 각각 채널별로 이미지 출력 후 다시 키보드의 입력을 받은 후 종료하는 간단한 코드이다. 여기서 주의할 점은 우리가 흔히 알고 있는 R,G,B 순서가 아닌 B,G,R 순서로 반환된다는 점이다.

[MFC] ListControl 에 image 나열 혹은 삽입하기

이미지들을 쭉 나열해야할 필요성이 있을 때 쓰기 좋.....은진 모르겠지만 나중에 또 쓸일이 있을 듯 하여 기록!!   우선 멤버 변수로 CListCtrl m_lcImageList;를 선언한 상태임  TCHAR    szPath[_MAX_PATH]; int nIndex = 0; int nIconSize = 64;  // 원본 이미지 크기가 제각각이어서 사이즈 크기 정함 static CImageList cImgList; // 이미지 리스트 초기화 if (cImgList == NULL) {     cImgList.Create(nIconSize, nIconSize, ILC_COLOR16, 2, 2); } else {     m_lcImageList.DeleteAllItems();     while (cImgList.GetImageCount())         cImgList.Remove(0); } CBitmap bmp; CImage image; CImage copyImg; // 이미지를 늘려 저장할 변수 CImage img; copyImg.Create(nIconSize, nIconSize, 16);  //카피 이미지 설정 값  // 이미지 로드 bResult = image.Load(szPath); // 읽기 성공한 경우 if (bResult == S_OK) {        // 이미지를 특정 크기로 늘리거나 줄이기         BOOL bResult = image.StretchBlt(copyImg.GetDC(), 0, 0, nIconSize, nIconSize, SRCCOPY);         // 세이브할 이미지 이름         _stprintf(szPath, 생략 );         // 이미지 세이브 : 현재 바로 입력하면 이미지가 뜨지않아 저장 후 로드한 이미지로 사용중         copyImg.Save(szPath);         Sleep(100);