오류. 표현식에는 클래스 유형이 있어야합니다.

user3396218

Mat함수에 a 를 전달 하려고 float하는데 이미지 데이터 를 가져 오려고 할 때 오류가 발생 합니다. 누군가가 잘못된 점을 알려줄 수 있습니까?

int _tmain(int argc, _TCHAR* argv[])
{
    cv::Mat img;//gradients from fingerprint image
    cv::Mat dst;
    bh2Rad(&img,&dst);
}

void bh2Rad(Mat* srcMat,cv::Mat* dstMat)
{
    for (int i=0; i < srcMat->rows ;i++)
    {
        float* srcP = srcMat->data.fl + srcMat->width * i;// srcMat Error.
        float* dstP = dstMat->data.fl + dstMat->width * i;//dstMat Error

        for (int j = 0; j < srcMat->cols ;j++)
            dstP[j] = srcP[j] * BH_DEG_TO_RAD;
    }
}

이전 (c-api) CvMat과 cv :: Mat을 픽셀 연산과 혼동하는 것 같습니다.

또한 그레이 스케일 이미지는 float가 아닌 uchar이며, 이전에 convertTo () float를 사용하지 않는 한 임의의 형식으로 픽셀에 액세스 할 수 없습니다.

int main(int argc, char* argv[])
{

  cv::Mat img = cv::imread("original.bmp", CV_LOAD_IMAGE_GRAYSCALE);
  cv::Mat dst;

  bh2Rad(img,dst);

}

//
// please use references with cv::Mat, not pointers.
// those things are refcounted, you're thrashing that with passing pointers.
//
void bh2Rad(const cv::Mat & srcMat, cv::Mat & dstMat)
{
  dstMat.create(srcMat.size(),srcMat.type());
  for (int i=0; i < srcMat.rows ;i++)
  {
    const uchar* srcP = srcMat.ptr<uchar>(i);
    uchar* dstP = dstMat.ptr<uchar>(i);

    for (int j = 0; j < srcMat.cols ;j++)
        dstP[j] = srcP[j] * BH_DEG_TO_RAD;
  }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

오류 : 표현식에는 클래스 유형이 있어야합니다.

분류에서Dev

C ++에서 "표현식에는 클래스 유형이 있어야합니다."오류

분류에서Dev

오류 : 표현식에는 클래스에 대한 포인터 유형이 있어야합니다.

분류에서Dev

일반 값이있는 목록을 만들 때 "표현식에는 클래스 유형이 있어야합니다."오류

분류에서Dev

표현식에 클래스 유형에 대한 포인터 오류가 있어야합니다.

분류에서Dev

표현식에는 클래스 유형이 있어야합니다. 해결 방법을 모릅니다

분류에서Dev

c 트리 구조 표현식에는 클래스 유형이 있어야합니다.

분류에서Dev

오류 : 표현식에는 정수 또는 열거 유형이 있어야합니다.

분류에서Dev

오류 : 표현식에는 객체에 대한 포인터 유형이 있어야합니다.

분류에서Dev

'.setDay'왼쪽의 오류 C2228에는 클래스 / 구조체 / 유니온이 있어야합니다.

분류에서Dev

"표현식에는 상수 값이 있어야합니다."오류

분류에서Dev

표현식이있는 일반 클래스는 Linq-To-Entities에서 오류를 발생시킵니다.

분류에서Dev

이 오류를 수정하는 방법 식에는 클래스 유형과 C228이 있어야합니까?

분류에서Dev

표현식에는 배열에 포인터-개체 유형 오류가 있어야합니다.

분류에서Dev

문서화되지 않은 라이브러리 함수를 사용하는 "표현식에는 클래스 유형이 있어야합니다."

분류에서Dev

배열 유형이있는 표현식에 C 오류 할당

분류에서Dev

rust_serialize 오류 :이 컨텍스트에서이 값의 유형을 알고 있어야합니다.

분류에서Dev

C 프로그래밍 : 오류 : 배열 유형이있는 표현식에 할당

분류에서Dev

오류 : 함수에서 struct를 param으로 전달할 때 표현식에는 c에 struct 또는 union 유형이 있어야합니다.

분류에서Dev

C ++ 두 클래스가 서로를 참조합니다. 오류 : 'ClassName'앞에 형식 지정자가 있어야합니다.

분류에서Dev

"클래스에 생성자가 하나만 있어야합니다"오류가 발생하는 이유는 무엇입니까?

분류에서Dev

치명적인 오류 클래스 이름은 유효한 개체 또는 문자열이어야합니다.

분류에서Dev

"ES5가 아닌 클래스에서 호출 된 getInternalNameOfClass () 오류 : AngularFireModule에 내부 클래스 선언이 있어야합니다."

분류에서Dev

관련 유형에 대한 경계이지만 '오류 :이 컨텍스트에서이 값의 유형을 알고 있어야합니다.'

분류에서Dev

"표현식에 포인터 유형이 있어야 함"오류가 언제 발생합니까?

분류에서Dev

'::'이 뒤에 오는 이름은 '::'가 클래스 이름 뒤에 있더라도 클래스 또는 네임 스페이스 오류 여야합니다.

분류에서Dev

유형 매개 변수 'T'는 클래스 유형이어야합니다.

분류에서Dev

여러 유형이있는 일반 클래스가 오류를 생성 함

분류에서Dev

Xamarin 업그레이드로 인해 "클래스 파일에 잘못된 버전 52.0이 있습니다. 50.0이어야합니다."오류 발생

Related 관련 기사

  1. 1

    오류 : 표현식에는 클래스 유형이 있어야합니다.

  2. 2

    C ++에서 "표현식에는 클래스 유형이 있어야합니다."오류

  3. 3

    오류 : 표현식에는 클래스에 대한 포인터 유형이 있어야합니다.

  4. 4

    일반 값이있는 목록을 만들 때 "표현식에는 클래스 유형이 있어야합니다."오류

  5. 5

    표현식에 클래스 유형에 대한 포인터 오류가 있어야합니다.

  6. 6

    표현식에는 클래스 유형이 있어야합니다. 해결 방법을 모릅니다

  7. 7

    c 트리 구조 표현식에는 클래스 유형이 있어야합니다.

  8. 8

    오류 : 표현식에는 정수 또는 열거 유형이 있어야합니다.

  9. 9

    오류 : 표현식에는 객체에 대한 포인터 유형이 있어야합니다.

  10. 10

    '.setDay'왼쪽의 오류 C2228에는 클래스 / 구조체 / 유니온이 있어야합니다.

  11. 11

    "표현식에는 상수 값이 있어야합니다."오류

  12. 12

    표현식이있는 일반 클래스는 Linq-To-Entities에서 오류를 발생시킵니다.

  13. 13

    이 오류를 수정하는 방법 식에는 클래스 유형과 C228이 있어야합니까?

  14. 14

    표현식에는 배열에 포인터-개체 유형 오류가 있어야합니다.

  15. 15

    문서화되지 않은 라이브러리 함수를 사용하는 "표현식에는 클래스 유형이 있어야합니다."

  16. 16

    배열 유형이있는 표현식에 C 오류 할당

  17. 17

    rust_serialize 오류 :이 컨텍스트에서이 값의 유형을 알고 있어야합니다.

  18. 18

    C 프로그래밍 : 오류 : 배열 유형이있는 표현식에 할당

  19. 19

    오류 : 함수에서 struct를 param으로 전달할 때 표현식에는 c에 struct 또는 union 유형이 있어야합니다.

  20. 20

    C ++ 두 클래스가 서로를 참조합니다. 오류 : 'ClassName'앞에 형식 지정자가 있어야합니다.

  21. 21

    "클래스에 생성자가 하나만 있어야합니다"오류가 발생하는 이유는 무엇입니까?

  22. 22

    치명적인 오류 클래스 이름은 유효한 개체 또는 문자열이어야합니다.

  23. 23

    "ES5가 아닌 클래스에서 호출 된 getInternalNameOfClass () 오류 : AngularFireModule에 내부 클래스 선언이 있어야합니다."

  24. 24

    관련 유형에 대한 경계이지만 '오류 :이 컨텍스트에서이 값의 유형을 알고 있어야합니다.'

  25. 25

    "표현식에 포인터 유형이 있어야 함"오류가 언제 발생합니까?

  26. 26

    '::'이 뒤에 오는 이름은 '::'가 클래스 이름 뒤에 있더라도 클래스 또는 네임 스페이스 오류 여야합니다.

  27. 27

    유형 매개 변수 'T'는 클래스 유형이어야합니다.

  28. 28

    여러 유형이있는 일반 클래스가 오류를 생성 함

  29. 29

    Xamarin 업그레이드로 인해 "클래스 파일에 잘못된 버전 52.0이 있습니다. 50.0이어야합니다."오류 발생

뜨겁다태그

보관