Get it on Google Play


Wm뮤 :: 'OPENCV' 카테고리의 글 목록

블로그 이미지
가끔 그림그리거나 3D모델링하거나
취미로 로봇만드는
전자과 게임프로그래머 (퇴사함)
2022.3.22f1 주로 사용
모카쨩
@Ahzkwid

Recent Comment

Archive


'OPENCV'에 해당되는 글 3건

  1. 2017.11.19 OPENCV 오류
  2. 2017.11.19 OPENCV 함수
  3. 2017.11.19 OPENCV 준비
2017. 11. 19. 19:26 OPENCV







is_block_type_valid(header- _block_use)

/*

CascadeClassifier를 전역으로 끄집어내니까 발생했음

그런데 실제론 vector메모리 문제라서 직접 할당해야함

vector<Rect> face_pos; 

face_pos.reserve(50);

이런식으로 쓰면됨

*/




wntdll_pdb로드되지 않음

/*

sleep함수를 쓰거나 종료될때 발생함

*/

'OPENCV' 카테고리의 다른 글

OPENCV 함수  (0) 2017.11.19
OPENCV 준비  (0) 2017.11.19
posted by 모카쨩
2017. 11. 19. 19:21 OPENCV


#include "opencv2\opencv.hpp"  //기본적으로 불러오는 헤더




static CascadeClassifier face_Cascade //검색 시스템의 클래스

face.load("haarcascade_frontalface_default.xml")) //이런식으로 불러와서 사용, 성공시 true반환

face_Cascade.detectMultiScale(Mat 이미지,vector<Rect> 저장할 위치, 지정된 값만큼 스케일을 바꾸면서 검색, 후보를 몇개나 찾아볼지, 검색옵션(하단참조)CV_HAAR_FIND_BIGGEST_OBJECT 

,Size 최소 사이즈 Size(10,10)이렇게 쓰면 됨,Size 최대사이즈)

검색옵션(or연산으로 중첩가능)

CV_HAAR_FIND_BIGGEST_OBJECT 중첩시 가장 큰거만 반환

CV_HAAR_SCALE_IMAGE 이미지의 스케일을 바꾸면서 검색

CV_HAAR_DO_ROUGH_SEARCH 한개만 찾음



Mat는 2차원 배열같은것, img대용품


cvtColor(입력 Mat, 출력 Mat, CV_RGB2GRAY); //그레이생성


cvSetImageROI(img_buff,cvRect(0,0, img_buff.size().width, img_buff.size().height)); //스케일변경인줄 알았는데 아닌듯






circle(Mat형 이미지, Point(x,y),크기,색상 Scalar(0, 0, 255),굵기,0);//원그리기


putText(Mat 이미지,표시할 문자열,Point(x,y),폰트 (하단참조),폰트 굵기(기본값1),색상 Scalar(255, 255, 255))


CV_FONT_HERSHEY_SIMPLEX //산세리프폰트 중간크기

CV_FONT_HERSHEY_PLAIN //산세리프폰트 작은크기

CV_FONT_HERSHEY_DUPLEX //세리프폰트 2줄

CV_FONT_HERSHEY_COMPLEX //세리프폰트 중간크기

CV_FONT_HERSHEY_TRIPLEX //세리프폰트 3줄

CV_FONT_HERSHEY_COMPLEX_SMALL //세리프폰트 작은크기

CV_FONT_HERSHEY_SCRIPT_SIMPLEX //필기체

CV_FONT_HERSHEY_SCRIPT_COMPLEX //필기체2

CV_FONT_ITALC //이탤릭체



Mat img = imread("Lenna.png"); //이미지열기

imwrite("copy.jpg", img );//저장하기


mat접근방법

//at접근, 간편하지만 느림

if (img_t.type() == CV_8UC1)//단일8비트 채널

{

for (int i = 0; i < img_t.cols; i ++)//x축

{

for (int j = 0; j < img_t.rows; j ++)//y축

{

img_t.at<uchar>(i, j) = 255;//밝기

}

}

}

if (img_t.type() == CV_8UC3)//3색 8비트 채널 

{

for (int i = 0; i < img_t.cols; i ++)//x축

{

for (int j = 0; j < img_t.rows; j ++)//y축

{


img_t2.at<Vec3b>(j, i)[0] = 255;//B

img_t2.at<Vec3b>(j, i)[1] = 255;//G

img_t2.at<Vec3b>(j, i)[2] = 255;//R

img_t2.at<Vec3b>(j, i)= Vec3b(255,255,255);//BGR

}

}

}





포인터접근

if (img_t2.type()==CV_8UC3)//3색 8비트 채널 

{

float _t;

int img_t2_channels= img_t2.channels();

for (int j = 0; j < img_t2.rows; j++)//y축

{

uchar * ptr_img_t = img_t2.ptr<uchar>(j);

for (int i = 0; i < img_t2.cols*img_t2_channels; i += img_t2_channels)//x축

{


float r, g, b, _max, _min;

float h, s, v;

//if (img_t2.channels() == 3)

r = ptr_img_t[i + 2];

g = ptr_img_t[i + 1];

b = ptr_img_t[i + 0];

}

}

}





캠 연결



VideoCapture cam;

if (cam.isOpened() == true)//연결되어있는지
{
cam.release(); //연결끊기
}
else
{
cam.open(target);//캠열기
cam.set(CV_CAP_PROP_FRAME_WIDTH, wid);//가로설정
cam.set(CV_CAP_PROP_FRAME_HEIGHT, hei);//세로설정
cam.set(CV_CAP_PROP_FPS, fps);//fps설정
}


'OPENCV' 카테고리의 다른 글

OPENCV 오류  (0) 2017.11.19
OPENCV 준비  (0) 2017.11.19
posted by 모카쨩
2017. 11. 19. 17:29 OPENCV






속성을 연다




c++일반의 디렉터리를 다음으로 바꿔준다

D:/OpenCV_2.4.12/opencv/build/include;%(AdditionalIncludeDirectories)

필요에 따라 해당위치로 가서 include할 파일을 폴더에서 꺼내준다





D:/OpenCV_2.4.12/opencv/build/include

를 추가하고 엔터




D:\OpenCV_2.4.12\opencv\build\x86\vc12\lib

를 추가하고 엔터








링커일반의 추가 라이브러리 디렉터리를 다음으로 바꿔준다

D:\OpenCV_2.4.12\opencv\build\x86\vc12\lib;%(AdditionalLibraryDirectories)








링커 입력란의 원래 있었던 종속성에 아래의 종속성을 추가해준다


원래 있었던 종속성

kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)


추가할 종속성

opencv_calib3d2412d.lib;opencv_contrib2412d.lib;opencv_core2412d.lib;opencv_features2d2412d.lib;opencv_flann2412d.lib;opencv_gpu2412d.lib;opencv_highgui2412d.lib;opencv_imgproc2412d.lib;opencv_legacy2412d.lib;opencv_ml2412d.lib;opencv_nonfree2412d.lib;opencv_objdetect2412d.lib;opencv_ocl2412d.lib;opencv_photo2412d.lib;opencv_stitching2412d.lib;opencv_superres2412d.lib;opencv_ts2412d.lib;opencv_video2412d.lib;opencv_videostab2412d.lib;










opencv_kit_2_4_12프로젝트용.zip를 프로젝트에 푼다

(알짜 모아서 직접 압축한거)



https://drive.google.com/open?id=1lsoj2iAXnFZXSW5hz5DCoAavLhg_B-XH



헤더에 

#include <opencv2\opencv.hpp>

를 넣고 쓴다

'OPENCV' 카테고리의 다른 글

OPENCV 오류  (0) 2017.11.19
OPENCV 함수  (0) 2017.11.19
posted by 모카쨩

저사양 유저용 블로그 진입