1 2 3 4 5 6 7 8 9 10 | for(int i=0;i<sketch.cols;i++){ for(int j=0;j<sketch.rows;j++){ if(blur.at<uchar>(j, i) == 255){ result.at<uchar>(j, i) = sketch.at<uchar>(j, i); } else{ result.at<uchar>(j, i) = min(255, (sketch.at<uchar>(j, i)<<8)/(255-blur.at<uchar>(j, i))); } } } | cs |
위 코드처럼 color dodge 함수를 만들고 테스트해봤더니 계속 abort() has been called 오류가 났다.
처음에는 여러개의 Mat들이 얕은 복사로 연결되어 있어서 오류나는 줄 알았는데 아니었다.
결과물을 저장할 result가 초기화되지 않아 지정 위치의 픽셀에 접근할 수가 없었던 것
result를 초기화 시켜주고 픽셀에 접근하니 잘 됐다.
'이미지 프로세싱 > OPENCV' 카테고리의 다른 글
[3.0.0] Mat 배경 투명하게 만들기 (0) | 2017.02.14 |
---|---|
[3.0.0] VS2015/openCV3.0.0 개발환경 설정 (0) | 2017.01.20 |
[2.4.10] jpeg 이미지 디코딩 (0) | 2017.01.04 |
[2.4.10->3.0] Mat의 기초 (0) | 2016.11.30 |
[2.4.10] cvType (0) | 2016.11.25 |