일부 이미지를 저장하기 위해 IplImage 유형의 동적 배열을 사용하고 있습니다. (필자는 cvHistogram과 동일한 작업을하고 싶지만 같은 오류가 발생합니다.) 필요한 곳 히스토그램 데이터를 추출합니다. 불행히도 나는 오류를 얻고 그것을 해결하는 방법을 알지 못한다. 다른 방법으로 도움이나 제안을 해주시면 감사하겠습니다. IplImage의 동적 배열 - 'operator ='오류와 일치하지 않음
이
코드의 일부입니다void getColorHistogram(void){
IplImage *images = (IplImage *)malloc(sizeof(IplImage) * 6);
if (images == NULL)
{
printf("Memory error. EXITING...\n");
exit(-1);
}
for (int i = 0; i < 6 ; i++){
char *num = (char *)malloc(sizeof(int));
char *extension = (char *)".jpg";
sprintf(num, "%d", i);
int nameLen = strlen(num) + strlen(extension) + 1;
char *imgName = (char *)malloc(nameLen);
strlcpy(imgName, num, nameLen);
strlcat(imgName, extension, nameLen);
images[i] = cvLoadImage(imgName, CV_LOAD_IMAGE_UNCHANGED);
}
free(images);
}
그리고 이것은 내가
error: no match for ‘operator=’ in ‘images[i] = cvLoadImage
(((const char*)imgName), -0x00000000000000001)’
/opt/local/include/opencv2/core/types_c.h:463: note:
candidates are: _IplImage& _IplImage::operator=(const _IplImage&)
P.S.를 얻을 수 있다는 오류입니다 sizeof(images)/sizeof(images[0])
이 나를 제공하기 때문에 루프에 i<6
을 사용하고 있습니다.
많은 감사!
cvLoadImage가 반환하는 문자 유형은 무엇입니까? – ojblass
C에서 operator = valid를 유효하게하는 어떤 것도 모른다. 이것을 C로 표시 하시겠습니까? – xaxxon