레이블이 error인 게시물을 표시합니다. 모든 게시물 표시
레이블이 error인 게시물을 표시합니다. 모든 게시물 표시

2017년 3월 13일 월요일

Python module.__init__() takes at most 2 arguments (3 given)

문제:
TypeError: Error when calling the metaclass bases
    module.__init__() takes at most 2 arguments (3 given)

해결:
<참조: http://stackoverflow.com/questions/39246994/module-init-takes-at-most-2-arguments-error-in-python>

상속을 class가 아닌 module로 부터 받으려함.

예를 들어 다음과 같은 경우,
folder: datasets
file: datasets/imdb.py
In imdb.py file:
class imdb(object):
   def __init___~~~

dataset.imdb는 모듈임.
dataset.imdb.imdb가 클래스임.

그렇기에 문제가된 class에 dataset.imdb가 아닌 dataset.imdb.imdb를 넣으면 해결됨.

2017년 2월 1일 수요일

opencv FileStorage C++ exception: cv::Exception

문제: opencv의 FileStorage class를 이용하여 파일을 출력시, 어느 정도 되다가 Microsoft C++ exception: cv::Exception at memory location 와 같은 에러창을 내면서 죽음.

해결:
<http://www.itgo.me/a/x3069773210788729692/opencv-filestorage-error>에 따르면 보통 cv::Exception 에러는 debug mode에서 release라이브러리를 혹은 그 반대를 적용하는 경우 발생한다고 한다. 또한 라이브러리의 버전도 현재 사용하고있는 개발 환경과(VS2010, VS2012같은) 맞춰야한다.

참고로
VS2012 - vc12
VS2010 - vc10
VS2008 - vc9
이다.

즉,
1. debug모드에서는 debug라이브러리와 dll을, release모드에서는 release라이브러리와 dll을 사용해야함.
2. 프로젝트->속성->General->Platform Toolset->의 값이 opencv의 build된 폴더명과 같은것을 사용하는지(lib, dll) 확인한다.

2016년 10월 13일 목요일

MDB_MAP_FULL: Environment mapsize limit reached 해결방법

MDB_MAP_FULL: Environment mapsize limit reached


lmdb를 더 큰 mmap size로 열어야 함.

참고로 lmdb.open(filename, map_size = ABCD)에서 ABCD는 byte 단위임.
1e10 = 1 x 10^10 = 10GB


<참조: https://github.com/clibs/lmdb/issues/1>

2016년 4월 26일 화요일

pcl assertion failed px != 0 error

<출처: http://stackoverflow.com/questions/3541179/shared-ptr-assertion-px-0-failed>
초기화되지 않은 shared ptr을 사용하는 경우로 아래와 같이 정상적으로 초기화가 되어야 한다.

pcl::PointCloud<PointType>::Ptr croppedPC(new pcl::PointCloud<PointType>);
croppedPC->width = static_cast<uint32_t>(rt.width);
croppedPC->height = static_cast<uint32_t>(rt.height);
croppedPC->is_dense = false; // organized point cloud type
croppedPC->resize(croppedPC->width*croppedPC->height);

croppedPC->at(x, y) = ~~~;


2016년 4월 25일 월요일

Point Cloud Library 사용시 주의점

using namespace cv;
using namespace std;
using namespace pcl;
같은 걸 많이 쓰는데

opencv나 pcl안에 같은 이름으로 정의된 class들이 존재함. ex) flann
즉 flann이 컴파일 될 때, 위와같이 namespace를 써버리면 cv것인지 pcl것이 모르기에 에러를 냄.
그렇기에 using namespace를 안쓰는 것이 귀찮더라도 에러를 안낼 수 있는 방법임.

2015년 12월 21일 월요일

error C2365: 'operator new'


* error C2365: 'operator new'
: Release에서 정상동작, Debug에서 에러를 토해냄.
--> 새로 추가한 헤더가 #ifdef _DEBUG ~ #endif 밑에 뒀는지 확인 후, 위로 옮길 것. 주로 cpp에서 그러함.

Visual Studio에서 다른 에디터에서 열려있어서 열수 없습니다라고 한다면.

* VS 리소스 뷰에서 리소스를 열었을 때, "다른 에디터에서 열려있어서 열수 없습니다"가 나올 때,
--> .suo파일을 지운 후, 재실행 한다.

2015년 12월 20일 일요일

Visual Studio 2013에서 C4996 컴파일 에러를 내는 경우

0. error C4996: 에러

1. 이전 VS버전에서 warning을 VS2013에서는 error내는 경우로 error수준 낮추기
 >속성>C/C++>전처리기>전처리기 정의에 _CRT_SECURE_NO_WARNINGS 추가하기

2. 그래도 안된다. ex) C4996: 'read': The POSIX name for this ~~~
 >위 경로에 _CRT_NONSTDC_NO_DEPRECATE 추가하기

3. 그래도 안된다. 그럼 구글 검색 ㄱㄱ

2015년 11월 30일 월요일

python에서 opencv활용하기

1. opencv를 설치
  >> sudo apt-get install libopencv-dev

2. python에서 opencv쓸수 있게 해주는 부분 설치
  >> sudo apt-get install python-opencv

3. 설치확인하여 에러안내고 되면 OK.
  >> python
  >> import cv2

4. 만약 안되면 관련 파일들의 위치를 확인하고 경로를 추가해준다.
  >> find / -name "cv.py"
  >> find / -name "cv2.so"

ex)
/usr/lib/python2.7/dist-packages/cv.py
/usr/lib/python2.7/dist-packages/cv2.so

4.1 python코드에 추가하는 방법
import sys
sys.path.append('/usr/lib/python2.7/dist-packages')

4.2 profile에 추가하는 방법
sudo vi /etc/profile
export PYTHONPATH=/usr/lib/python2.7/dist-packages:$PYTHONPATH


<참조: http://jnakim.com/94>
<참조: http://stackoverflow.com/questions/15790501/why-cv2-so-missing-after-opencv-installed>